Skip to content

Commit 11279f9

Browse files
Update README.adoc
1 parent a3f19ff commit 11279f9

1 file changed

Lines changed: 0 additions & 217 deletions

File tree

README.adoc

Lines changed: 0 additions & 217 deletions
Original file line numberDiff line numberDiff line change
@@ -1,218 +1 @@
1-
= RSR Template Repository
21

3-
image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-licence"]
4-
:toc:
5-
:sectnums:
6-
7-
// Badges
8-
image:https://img.shields.io/badge/RSR-Infrastructure-cd7f32[RSR Infrastructure]
9-
image:https://img.shields.io/badge/Phase-Maintenance-brightgreen[Phase]
10-
image:https://img.shields.io/badge/Guix-Primary-purple?logo=gnu[Guix]
11-
12-
== Overview
13-
14-
**The canonical template for RSR (Rhodium Standard Repository) projects.**
15-
16-
This repository provides the standardized structure, configuration, and tooling for all 139 repos in the hyperpolymath ecosystem. Use it to:
17-
18-
* Bootstrap new projects with RSR compliance
19-
* Reference the standard directory structure
20-
* Copy configuration templates (justfile, STATE.scm, etc.)
21-
22-
== Quick Start
23-
24-
[source,bash]
25-
----
26-
# Clone the template
27-
git clone https://github.com/hyperpolymath/RSR-template-repo my-project
28-
cd my-project
29-
30-
# Remove template git history
31-
rm -rf .git
32-
git init
33-
34-
# Customize
35-
sed -i 's/RSR-template-repo/my-project/g' justfile guix.scm README.adoc
36-
37-
# Enter development environment
38-
guix shell -D -f guix.scm
39-
40-
# Validate compliance
41-
just validate-rsr
42-
----
43-
44-
== What's Included
45-
46-
[cols="1,3"]
47-
|===
48-
|File/Directory |Purpose
49-
50-
|`.editorconfig`
51-
|Editor configuration (indent, charset)
52-
53-
|`.gitignore`
54-
|Standard ignore patterns
55-
56-
|`.guix-channel`
57-
|Guix channel definition
58-
59-
|`.well-known/`
60-
|RFC-compliant metadata (security.txt, ai.txt, humans.txt)
61-
62-
|`docs/`
63-
|Documentation directory
64-
65-
|`guix.scm`
66-
|Guix package definition
67-
68-
|`justfile`
69-
|Task runner with 50+ recipes
70-
71-
|`LICENSE.txt`
72-
|AGPL + Palimpsest dual license
73-
74-
|`README.adoc`
75-
|This file
76-
77-
|`RSR_COMPLIANCE.adoc`
78-
|Compliance tracking
79-
80-
|`STATE.scm`
81-
|Project state checkpoint
82-
|===
83-
84-
== Justfile Features
85-
86-
The template justfile provides:
87-
88-
* **~10 billion recipe combinations** via matrix recipes
89-
* **Cookbook generation**: `just cookbook` → `docs/just-cookbook.adoc`
90-
* **Man page generation**: `just man` → `docs/man/project.1`
91-
* **RSR validation**: `just validate-rsr`
92-
* **STATE.scm management**: `just state-touch`, `just state-phase`
93-
* **Container support**: `just container-build`, `just container-push`
94-
* **CI matrix**: `just ci-matrix [stage] [depth]`
95-
96-
=== Key Recipes
97-
98-
[source,bash]
99-
----
100-
just # Show all recipes
101-
just help <recipe> # Detailed help
102-
just info # Project info
103-
just combinations # Show matrix options
104-
105-
just build # Build (debug)
106-
just test # Run tests
107-
just quality # Format + lint + test
108-
just ci # Full CI pipeline
109-
110-
just validate # RSR + STATE validation
111-
just docs # Generate all docs
112-
just cookbook # Generate justfile docs
113-
114-
just guix-shell # Guix dev environment
115-
just container-build # Build container
116-
----
117-
118-
== Directory Structure
119-
120-
[source]
121-
----
122-
project/
123-
├── .editorconfig # Editor settings
124-
├── .gitignore # Git ignore
125-
├── .guix-channel # Guix channel
126-
├── .well-known/ # RFC metadata
127-
│ ├── ai.txt
128-
│ ├── humans.txt
129-
│ └── security.txt
130-
├── config/ # Nickel configs (optional)
131-
├── docs/ # Documentation
132-
│ ├── generated/
133-
│ ├── man/
134-
│ └── just-cookbook.adoc
135-
├── guix.scm # Guix package
136-
├── justfile # Task runner
137-
├── LICENSE.txt # Dual license
138-
├── README.adoc # Overview
139-
├── RSR_COMPLIANCE.adoc # Compliance
140-
├── src/ # Source code
141-
├── STATE.scm # State checkpoint
142-
└── tests/ # Tests
143-
----
144-
145-
== RSR Compliance
146-
147-
=== Language Tiers
148-
149-
* **Tier 1** (Gold): Rust, Elixir, Zig, Ada, Haskell, ReScript
150-
* **Tier 2** (Silver): Nickel, Racket, Guile Scheme, Nix
151-
* **Infrastructure**: Guix channels, derivations
152-
153-
=== Required Files
154-
155-
* `.editorconfig`
156-
* `.gitignore`
157-
* `justfile`
158-
* `README.adoc`
159-
* `RSR_COMPLIANCE.adoc`
160-
* `LICENSE.txt` (AGPL + Palimpsest)
161-
* `.well-known/security.txt`
162-
* `.well-known/ai.txt`
163-
* `.well-known/humans.txt`
164-
* `guix.scm` OR `flake.nix`
165-
166-
=== Prohibited
167-
168-
* Python outside `salt/` directory
169-
* TypeScript/JavaScript (use ReScript)
170-
* CUE (use Guile/Nickel)
171-
* `Dockerfile` (use `Containerfile`)
172-
173-
== STATE.scm
174-
175-
The STATE.scm file tracks project state:
176-
177-
[source,scheme]
178-
----
179-
(define state
180-
`((metadata
181-
(project . "my-project")
182-
(updated . "2025-12-10"))
183-
(position
184-
(phase . implementation) ; design|implementation|testing|maintenance|archived
185-
(maturity . beta)) ; experimental|alpha|beta|production|lts
186-
(ecosystem
187-
(part-of . ("RSR Framework"))
188-
(depends-on . ()))))
189-
----
190-
191-
== Badge Schema
192-
193-
Generate badges from STATE.scm:
194-
195-
[source,bash]
196-
----
197-
just badges standard
198-
----
199-
200-
See `docs/BADGE_SCHEMA.adoc` for the full badge taxonomy.
201-
202-
== Ecosystem Integration
203-
204-
This template is part of:
205-
206-
* **STATE.scm Ecosystem**: Conversation checkpoints
207-
* **RSR Framework**: Repository standards
208-
* **Consent-Aware-HTTP**: .well-known compliance
209-
210-
== License
211-
212-
SPDX-License-Identifier: `AGPL-3.0-or-later OR LicenseRef-Palimpsest-0.5`
213-
214-
== Links
215-
216-
* https://github.com/hyperpolymath/elegant-STATE[elegant-STATE] - STATE.scm tooling
217-
* https://github.com/hyperpolymath/conative-gating[conative-gating] - Policy enforcement
218-
* https://rhodium.sh[Rhodium Standard] - RSR documentation

0 commit comments

Comments
 (0)