Skip to content

Commit 313d99e

Browse files
author
Jonathan D.A. Jewell
committed
chore: standardize repo with RSR dotfiles and SCM files
Added/updated: - .gitignore - .gitattributes - .editorconfig - .tool-versions - .meta/REQUIRED-FILES.md 🤖 Generated with [Claude Code](https://claude.ai/code)
1 parent aa0d431 commit 313d99e

5 files changed

Lines changed: 268 additions & 0 deletions

File tree

.editorconfig

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-License-Identifier: AGPL-3.0-or-later
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
indent_size = 2
10+
indent_style = space
11+
insert_final_newline = true
12+
trim_trailing_whitespace = true
13+
14+
[*.md]
15+
trim_trailing_whitespace = false
16+
17+
[*.adoc]
18+
trim_trailing_whitespace = false
19+
20+
[*.rs]
21+
indent_size = 4
22+
23+
[*.zig]
24+
indent_size = 4
25+
26+
[*.ada]
27+
indent_size = 3
28+
29+
[*.adb]
30+
indent_size = 3
31+
32+
[*.ads]
33+
indent_size = 3
34+
35+
[*.ex]
36+
indent_size = 2
37+
38+
[*.exs]
39+
indent_size = 2
40+
41+
[*.hs]
42+
indent_size = 2
43+
44+
[*.res]
45+
indent_size = 2
46+
47+
[*.resi]
48+
indent_size = 2
49+
50+
[*.ncl]
51+
indent_size = 2
52+
53+
[*.scm]
54+
indent_size = 2
55+
56+
[*.nix]
57+
indent_size = 2
58+
59+
[Justfile]
60+
indent_style = space
61+
indent_size = 4
62+
63+
[justfile]
64+
indent_style = space
65+
indent_size = 4
66+
67+
[Makefile]
68+
indent_style = tab

.gitattributes

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: AGPL-3.0-or-later
2+
# RSR-compliant .gitattributes
3+
4+
* text=auto eol=lf
5+
6+
# Source
7+
*.rs text eol=lf diff=rust
8+
*.ex text eol=lf diff=elixir
9+
*.exs text eol=lf diff=elixir
10+
*.jl text eol=lf
11+
*.res text eol=lf
12+
*.resi text eol=lf
13+
*.ada text eol=lf diff=ada
14+
*.adb text eol=lf diff=ada
15+
*.ads text eol=lf diff=ada
16+
*.hs text eol=lf
17+
*.chpl text eol=lf
18+
*.scm text eol=lf
19+
*.ncl text eol=lf
20+
*.nix text eol=lf
21+
*.zig text eol=lf
22+
23+
# Docs
24+
*.md text eol=lf diff=markdown
25+
*.adoc text eol=lf
26+
*.txt text eol=lf
27+
28+
# Data
29+
*.json text eol=lf
30+
*.yaml text eol=lf
31+
*.yml text eol=lf
32+
*.toml text eol=lf
33+
34+
# Config
35+
.gitignore text eol=lf
36+
.gitattributes text eol=lf
37+
.editorconfig text eol=lf
38+
.tool-versions text eol=lf
39+
justfile text eol=lf
40+
Makefile text eol=lf
41+
Containerfile text eol=lf
42+
43+
# Scripts
44+
*.sh text eol=lf
45+
46+
# Binary
47+
*.png binary
48+
*.jpg binary
49+
*.gif binary
50+
*.pdf binary
51+
*.woff2 binary
52+
*.zip binary
53+
*.gz binary
54+
55+
# Lock files
56+
Cargo.lock text eol=lf -diff
57+
flake.lock text eol=lf -diff

.gitignore

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# SPDX-License-Identifier: AGPL-3.0-or-later
2+
# RSR-compliant .gitignore
3+
4+
# OS & Editor
5+
.DS_Store
6+
Thumbs.db
7+
*.swp
8+
*.swo
9+
*~
10+
.idea/
11+
.vscode/
12+
13+
# Build
14+
/target/
15+
/_build/
16+
/build/
17+
/dist/
18+
/out/
19+
/zig-out/
20+
/zig-cache/
21+
22+
# Dependencies
23+
/node_modules/
24+
/vendor/
25+
/deps/
26+
/.elixir_ls/
27+
28+
# Rust
29+
# Cargo.lock # Keep for binaries
30+
31+
# Elixir
32+
/cover/
33+
/doc/
34+
*.ez
35+
erl_crash.dump
36+
37+
# Julia
38+
*.jl.cov
39+
*.jl.mem
40+
/Manifest.toml
41+
42+
# ReScript
43+
/lib/bs/
44+
/.bsb.lock
45+
46+
# Python (SaltStack only)
47+
__pycache__/
48+
*.py[cod]
49+
.venv/
50+
51+
# Ada/SPARK
52+
*.ali
53+
/obj/
54+
/bin/
55+
56+
# Haskell
57+
/.stack-work/
58+
/dist-newstyle/
59+
60+
# Chapel
61+
*.chpl.tmp.*
62+
63+
# Secrets
64+
.env
65+
.env.*
66+
*.pem
67+
*.key
68+
secrets/
69+
70+
# Test/Coverage
71+
/coverage/
72+
htmlcov/
73+
74+
# Logs
75+
*.log
76+
/logs/
77+
78+
# Temp
79+
/tmp/
80+
*.tmp
81+
*.bak

.meta/REQUIRED-FILES.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Required Repository Files
2+
3+
The following files **MUST** be present and kept up-to-date in every repository:
4+
5+
## Mandatory Dotfiles
6+
7+
| File | Purpose |
8+
|------|---------|
9+
| `.gitignore` | Exclude build artifacts, secrets, and temp files |
10+
| `.gitattributes` | Enforce LF line endings and diff settings |
11+
| `.editorconfig` | Consistent editor settings across IDEs |
12+
| `.tool-versions` | asdf version pinning for reproducible builds |
13+
14+
## Mandatory SCM Files
15+
16+
| File | Purpose |
17+
|------|---------|
18+
| `META.scm` | Architecture decisions, development practices |
19+
| `STATE.scm` | Project state, phase, milestones |
20+
| `ECOSYSTEM.scm` | Ecosystem positioning, related projects |
21+
| `PLAYBOOK.scm` | Executable plans, procedures |
22+
| `AGENTIC.scm` | AI agent operational gating |
23+
| `NEUROSYM.scm` | Symbolic semantics, proof obligations |
24+
25+
## Build System
26+
27+
| File | Purpose |
28+
|------|---------|
29+
| `justfile` | Task runner (replaces Makefile) |
30+
| `Mustfile` | Deployment state contract |
31+
32+
**IMPORTANT**: Makefiles are FORBIDDEN. Use `just` for all tasks.
33+
34+
## Validation
35+
36+
These files are checked by:
37+
- CI workflow validation
38+
- Pre-commit hooks (when configured)
39+
- Repository standardization scripts
40+
41+
## Updates
42+
43+
When updating these files:
44+
1. Use templates from `rsr-template-repo` as reference
45+
2. Ensure SPDX license header is present
46+
3. Test changes locally before pushing
47+
4. Keep language-specific sections relevant to the repo
48+
49+
## See Also
50+
51+
- [RSR (Rhodium Standard Repositories)](https://github.com/hyperpolymath/rhodium-standard-repositories)
52+
- [Mustfile Specification](https://github.com/hyperpolymath/mustfile)
53+
- [SCM Format Family](https://github.com/hyperpolymath/meta-scm)

.tool-versions

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# SPDX-License-Identifier: AGPL-3.0-or-later
2+
# asdf version management
3+
# Run 'asdf install' to install all tools
4+
5+
# Primary runtime
6+
deno 2.1.4
7+
8+
# Build tools
9+
just 1.36.0

0 commit comments

Comments
 (0)