create-religion 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/dist/bin/religion.js +209 -0
  4. package/dist/lib/dashboard.js +123 -0
  5. package/dist/lib/doctor.js +164 -0
  6. package/dist/lib/install.js +170 -0
  7. package/dist/lib/paths.js +40 -0
  8. package/dist/lib/state.js +117 -0
  9. package/dist/lib/status.js +88 -0
  10. package/package.json +40 -0
  11. package/template/.agents/skills/audit/SKILL.md +169 -0
  12. package/template/.agents/skills/auto/SKILL.md +110 -0
  13. package/template/.agents/skills/browser-tests/SKILL.md +65 -0
  14. package/template/.agents/skills/check/SKILL.md +86 -0
  15. package/template/.agents/skills/ci/SKILL.md +79 -0
  16. package/template/.agents/skills/complete/SKILL.md +184 -0
  17. package/template/.agents/skills/debug/SKILL.md +72 -0
  18. package/template/.agents/skills/discovery/SKILL.md +83 -0
  19. package/template/.agents/skills/distill/SKILL.md +95 -0
  20. package/template/.agents/skills/doctor/SKILL.md +65 -0
  21. package/template/.agents/skills/extend/SKILL.md +102 -0
  22. package/template/.agents/skills/feature/SKILL.md +172 -0
  23. package/template/.agents/skills/feature/reference/spec-template.md +67 -0
  24. package/template/.agents/skills/fix/SKILL.md +76 -0
  25. package/template/.agents/skills/implement/SKILL.md +174 -0
  26. package/template/.agents/skills/overview/SKILL.md +150 -0
  27. package/template/.agents/skills/overview/reference/project-overview-template.md +101 -0
  28. package/template/.agents/skills/prototype/SKILL.md +90 -0
  29. package/template/.agents/skills/release/SKILL.md +88 -0
  30. package/template/.agents/skills/rollback/SKILL.md +114 -0
  31. package/template/.agents/skills/setup/SKILL.md +105 -0
  32. package/template/.agents/skills/status/SKILL.md +63 -0
  33. package/template/.agents/skills/tests/SKILL.md +90 -0
  34. package/template/.agents/skills/try/SKILL.md +59 -0
  35. package/template/.claude/hooks/guard-rendered-output.mjs +49 -0
  36. package/template/.claude/hooks/guard-tier-one.mjs +63 -0
  37. package/template/.claude/hooks/write-handoff.mjs +83 -0
  38. package/template/.claude/skills/audit/SKILL.md +169 -0
  39. package/template/.claude/skills/auto/SKILL.md +110 -0
  40. package/template/.claude/skills/browser-tests/SKILL.md +65 -0
  41. package/template/.claude/skills/check/SKILL.md +86 -0
  42. package/template/.claude/skills/ci/SKILL.md +79 -0
  43. package/template/.claude/skills/complete/SKILL.md +184 -0
  44. package/template/.claude/skills/debug/SKILL.md +72 -0
  45. package/template/.claude/skills/discovery/SKILL.md +83 -0
  46. package/template/.claude/skills/distill/SKILL.md +95 -0
  47. package/template/.claude/skills/doctor/SKILL.md +65 -0
  48. package/template/.claude/skills/extend/SKILL.md +102 -0
  49. package/template/.claude/skills/feature/SKILL.md +172 -0
  50. package/template/.claude/skills/feature/reference/spec-template.md +67 -0
  51. package/template/.claude/skills/fix/SKILL.md +76 -0
  52. package/template/.claude/skills/implement/SKILL.md +174 -0
  53. package/template/.claude/skills/overview/SKILL.md +150 -0
  54. package/template/.claude/skills/overview/reference/project-overview-template.md +101 -0
  55. package/template/.claude/skills/prototype/SKILL.md +90 -0
  56. package/template/.claude/skills/release/SKILL.md +88 -0
  57. package/template/.claude/skills/rollback/SKILL.md +114 -0
  58. package/template/.claude/skills/setup/SKILL.md +105 -0
  59. package/template/.claude/skills/status/SKILL.md +63 -0
  60. package/template/.claude/skills/tests/SKILL.md +90 -0
  61. package/template/.claude/skills/try/SKILL.md +59 -0
  62. package/template/AGENTS.md +206 -0
  63. package/template/CLAUDE.md +175 -0
  64. package/template/religion/.state/README.md +10 -0
  65. package/template/religion/.state/settings-template.json +19 -0
  66. package/template/religion/build-plan.md +43 -0
  67. package/template/religion/config.json +26 -0
  68. package/template/religion/context/ai-interaction.md +84 -0
  69. package/template/religion/context/coding-standards.md +77 -0
  70. package/template/religion/context/current-work.md +8 -0
  71. package/template/religion/context/findings.md +9 -0
  72. package/template/religion/context/handoff.md +8 -0
  73. package/template/religion/context/project-overview.md +8 -0
  74. package/template/religion/history/features/README.md +8 -0
  75. package/template/religion/history/fixes/README.md +6 -0
  76. package/template/religion/history/rollbacks/README.md +7 -0
  77. package/template/religion/learning/journal.md +7 -0
  78. package/template/religion/learning/lessons.md +8 -0
  79. package/template/religion/project-plan.md +49 -0
  80. package/template/religion/reference/README.md +7 -0
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: try
3
+ summary: write the human walkthrough for reviewing the work yourself
4
+ description: "Generate the manual walkthrough for the current or most recently completed work: what to start, where to go, what to click or run, what to expect, and what would count as wrong. Read-only, and written for a person rather than an agent. /complete emits one for every completed item automatically, so this is for asking again later or for work still in progress. Use when the user runs /try, asks how to see or test a change themselves, asks where to click, or wants a manual review path."
5
+ ---
6
+
7
+ # try - the human review path
8
+
9
+ /check is the agent proving the work. This is you checking it yourself, which is a
10
+ different thing and catches different problems: the ones that are technically correct and
11
+ still wrong.
12
+
13
+ Read-only. It does not run the project unless asked to.
14
+
15
+ ## Step 1 - find the work
16
+
17
+ Use `religion/context/current-work.md` when something is in progress. When it is the stub,
18
+ use the most recent archive under `religion/history/`, and say which one you are describing.
19
+
20
+ ## Step 2 - write the walkthrough
21
+
22
+ Read the spec's outcomes and the project's declared commands, then write instructions a
23
+ person can follow without knowing how any of it was built.
24
+
25
+ 1. **Start it.** The exact command, and where it will be listening.
26
+ 2. **Get there.** The route, the screen, the command, the endpoint. Say how to reach it
27
+ from a cold start, including any state that has to exist first, such as being signed in
28
+ or having a record to act on.
29
+ 3. **Do the thing.** What to click, type, or run.
30
+ 4. **Expect this.** What should happen, concretely enough to disagree with.
31
+ 5. **This would be wrong.** The specific failure worth watching for. Skipping this makes
32
+ the whole walkthrough a confirmation exercise, because someone following instructions
33
+ tends to see what they were told to expect.
34
+
35
+ Cover the unhappy paths too when they are quick: the empty state, the error case, what a
36
+ second attempt does.
37
+
38
+ For a rollback, say how to confirm the removed behavior is gone, and name one unaffected
39
+ path that should still work.
40
+
41
+ ## Step 3 - keep it honest
42
+
43
+ State any setup that will not be obvious: seed data, environment variables, a service that
44
+ must be running, a browser signed into something.
45
+
46
+ If a step cannot be described because the work has no observable effect, say so plainly.
47
+ That is worth knowing before completion, not after.
48
+
49
+ ## Rules
50
+
51
+ - Instructions for a person, never a claim that a person followed them. Generating a
52
+ walkthrough is not evidence of review.
53
+ - Read-only. Do not start the project, change files, or run anything unless asked.
54
+ - Concrete over complete. Five steps someone will actually follow beat twenty they will not.
55
+
56
+ ## Formatting
57
+
58
+ Match the conventions in `religion/context/ai-interaction.md`: concise, scannable
59
+ markdown, lists for enumerations and tables for matrices rather than dense paragraphs.
@@ -0,0 +1,206 @@
1
+ # AGENTS.md
2
+
3
+ Instructions for AI coding agents working in this project. This is the cross-tool entry
4
+ point, read by Codex, GitHub Copilot, or OpenCode, and by any other agent that looks for `AGENTS.md`. Claude Code
5
+ reads `CLAUDE.md`, which covers the same workflow.
6
+
7
+ ## What this is
8
+
9
+ A description of your project and the problem it solves.
10
+
11
+ Religion is a workflow layer, not an application skeleton. To start a new project,
12
+ scaffold the app first in an empty folder, then install Religion on top. Never run a
13
+ framework scaffolder inside a directory that already holds these files; it fails because
14
+ the directory is not empty.
15
+
16
+ ## Read these for full context
17
+
18
+ Read these before acting. They are the project's own definition of what it is and how work
19
+ is done here, and they outrank anything you infer from the code alone.
20
+
21
+ - `religion/config.json` - deterministic workflow settings
22
+ - `religion/context/project-overview.md` - the project's source of truth
23
+ - `religion/context/coding-standards.md` - conventions to follow
24
+ - `religion/context/ai-interaction.md` - how to work with the user on this project
25
+ - `religion/context/current-work.md` - the one feature, fix, or rollback in progress
26
+ - `religion/context/handoff.md` - where the work sits and what to read first
27
+ - `religion/context/findings.md` - the findings ledger, when it holds anything
28
+ - `religion/learning/lessons.md` - what previous runs learned about this project
29
+
30
+ ## Workflow
31
+
32
+ Build one feature, fix, or rollback at a time, behind review gates.
33
+
34
+ The loop is:
35
+
36
+ $feature -> review the spec -> $implement -> $check -> $audit -> $complete
37
+
38
+ Each step's instructions are plain markdown skills any capable agent can read and follow.
39
+ The spec is written before code exists, so it can be reviewed before a line is built.
40
+ Implementation lands one small step at a time, each with a diff to read and evidence that
41
+ its stated outcome was met.
42
+
43
+ `religion/context/current-work.md` holds exactly one work item. Finish it, archive it,
44
+ then start the next. Progress lives in checkboxes inside that file, so a cleared context
45
+ costs nothing: a fresh session reads which steps are ticked and resumes from the first
46
+ one that is not.
47
+
48
+ ## Skills
49
+
50
+ The workflow is defined by the skills in `.agents/skills`. Each one is a `SKILL.md` you can read
51
+ and follow directly.
52
+
53
+ - `audit` - review the code itself across four lenses, recording findings in the ledger
54
+ - `auto` - run the loop unattended, within explicit bounds
55
+ - `browser-tests` - set up a repeatable browser test harness and record its command
56
+ - `check` - prove the current work does what its spec says, against the running project
57
+ - `ci` - define one Verify command and the GitHub workflow that runs it
58
+ - `complete` - run the final gate, archive the work, commit it, and close it out
59
+ - `debug` - reproduce and isolate a failure without changing anything
60
+ - `discovery` - a guided planning conversation that drafts the two plans
61
+ - `distill` - promote proven observations from the journal into loaded lessons
62
+ - `doctor` - check the setup is healthy and explain anything that is not
63
+ - `extend` - author a new skill for this workflow, with its routing tests
64
+ - `feature` - turn a build-plan item into a reviewed, buildable spec
65
+ - `fix` - spec an unplanned bug or small change, or repair a recorded finding
66
+ - `implement` - build the current spec one reviewed step at a time
67
+ - `overview` - distill the two planning documents into the project's source of truth
68
+ - `prototype` - explore the look before building, as throwaway mockups or real components
69
+ - `release` - prepare deployment readiness for Railway, Render, or Vercel
70
+ - `rollback` - plan a guarded reversal of completed work, preserving its history
71
+ - `setup` - tune the installation to this project, greenfield or existing
72
+ - `status` - say where the work stands and what to do next
73
+ - `tests` - set up unit testing, or backfill coverage for logic that already exists
74
+ - `try` - write the human walkthrough for reviewing the work yourself
75
+
76
+ Invoke a skill with its name, as `$feature`, or ask in plain language, such as
77
+ "spec the next feature." In tools without a dedicated invocation syntax, ask the agent to
78
+ follow the matching `SKILL.md`. The conventions in `religion/context/` apply however a
79
+ step is invoked.
80
+
81
+ These commands are the structured path, not a cage. You can describe a feature, fix, or
82
+ change directly at any time; the same conventions still apply, because they are always in
83
+ context. Use the skills when you want the repeatable loop, the review gates, and the
84
+ written history.
85
+
86
+ ## Authority
87
+
88
+ Actions fall into three tiers. This is the whole of it: no skill may widen its own
89
+ authority, and no setting in `religion/config.json` can move an action to a lower tier.
90
+
91
+ **Always ask, every time.** No mode, setting, or prior approval grants these. Approval for
92
+ one is never approval for another, and an approval given earlier in a session does not
93
+ carry to a later instance.
94
+
95
+ - merging into the default branch
96
+ - pushing to any remote
97
+ - deploying, publishing, or sending anything outward
98
+ - deleting files or data, and any rewrite of existing history
99
+ - changing a remote service, its configuration, or its secrets
100
+
101
+ **Ask unless an automated run is underway.** In normal work these need an explicit yes at
102
+ the time. Invoking an automated mode grants them for that run only, because that
103
+ invocation is the approval:
104
+
105
+ - committing, including step checkpoints
106
+ - installing or upgrading dependencies
107
+ - network calls that reach a remote service
108
+
109
+ An automated run's grant never reaches the first tier. It commits freely and still stops
110
+ to ask before it merges.
111
+
112
+ **Free.** Reading files, searching, running the project's own build, tests, linters, and
113
+ type checks, driving the app locally, and writing the workflow's own state files under
114
+ `religion/`.
115
+
116
+ ## Evidence
117
+
118
+ Never claim that something passed, is verified, or works without naming what proves it:
119
+ the exact command and its result, the route and what appeared, the screenshot, or the
120
+ output. "It should work" is not evidence, and neither is a summary of what the code
121
+ intends to do.
122
+
123
+ A required check that cannot run is a blocker, not a pass. Say so plainly and stop.
124
+
125
+ ## Git
126
+
127
+ `git.mode` decides where work lands. It ships as `trunk`.
128
+
129
+ **`trunk`** keeps work on the branch you already have checked out. Nothing is branched,
130
+ nothing is merged, and the first tier of the authority rules stays dormant because there
131
+ is no merge to ask about. This is the default because creating branches is a decision
132
+ that belongs to you, not to a workflow.
133
+
134
+ **`branch-per-item`** creates a branch per work item using the configured prefix, then
135
+ squash-merges it once the work is done and you have said yes. The merge and any push are
136
+ asked for separately: agreeing to a merge is never agreement to push.
137
+
138
+ `git.checkpoints` decides what happens to intermediate work, in either mode:
139
+
140
+ | Value | Behavior |
141
+ | --- | --- |
142
+ | `none` | Steps accumulate in the working tree; completion makes one commit for the whole item. |
143
+ | `every-step` | Each approved step becomes its own commit, left in place. |
144
+ | `squash` | Each approved step is committed, then completion collapses them into one. |
145
+
146
+ In `trunk` mode, `squash` collapses commits on the branch you are working on, which
147
+ rewrites local history. That is a first-tier action: it is never done without asking, and
148
+ never done at all when any of those commits has already been pushed.
149
+
150
+ ## Review cadence
151
+
152
+ `workflow.stepReview` decides how often implementation stops for you. It ships as
153
+ `every`: each step ends with a diff to read and approve before the next one starts. Set
154
+ it to `item` to collect the steps into one review packet at the end.
155
+
156
+ Either way, implementation stops early and asks whenever a check fails, a decision is
157
+ needed, a conflict appears, the work drifts outside its spec, or something in the first
158
+ tier of the authority rules comes up.
159
+
160
+ ## Activity
161
+
162
+ Any skill that changes something writes an activity record to
163
+ `religion/.state/run.json` as its **first action**, before inspecting the project or
164
+ calling anything else, and replaces it at meaningful milestones. Read-only skills do not.
165
+
166
+ This is generated local state. It is never committed, never part of a work commit, and
167
+ never contains secrets, raw output, prompts, or user content.
168
+
169
+ ```json
170
+ {
171
+ "schemaVersion": 1,
172
+ "command": "auto",
173
+ "status": "running",
174
+ "summary": "Building the remaining plan",
175
+ "detail": "Implementing item 3.",
176
+ "boundary": "local-only",
177
+ "startedAt": "<ISO-8601>",
178
+ "updatedAt": "<ISO-8601>",
179
+ "resumeCommand": "$auto resume",
180
+ "progress": { "current": 2, "total": 5, "label": "items" },
181
+ "item": { "id": "3", "title": "Export reports" }
182
+ }
183
+ ```
184
+
185
+ `status` is `running`, `blocked`, `ready`, or `completed`. Use `ready` when a skill reached
186
+ its intended handoff, such as an unattended run waiting for review. Use `blocked` with the
187
+ exact recovery command when work can resume. `boundary` is `read-only`, `reviewed`, or
188
+ `local-only`. Everything after `updatedAt` is optional.
189
+
190
+ Writing this record grants nothing and bypasses nothing. A failure to write it is reported
191
+ and ignored: reporting must never turn into a workflow failure.
192
+
193
+ ## Commands
194
+
195
+ <!-- religion:setup-required -->
196
+
197
+ Fill this in with the project's real commands. `$setup` detects them and proposes
198
+ the list; until it runs, treat this section as unverified.
199
+
200
+ - Dev server: `<command>`
201
+ - Build: `<command>`
202
+ - Test: `<command>`
203
+
204
+ Testing is opt-in. A declared test command is what turns testing into a gate for
205
+ logic-bearing work. If this project has no test runner, `$tests` adds one and
206
+ updates this section.
@@ -0,0 +1,175 @@
1
+ # Project Name
2
+
3
+ Agent instructions for this project. The files below are imported so they stay loaded
4
+ every session: Religion keeps project state in files rather than in the conversation,
5
+ which is what makes a cleared context survivable.
6
+
7
+ @religion/context/project-overview.md
8
+ @religion/context/coding-standards.md
9
+ @religion/context/ai-interaction.md
10
+ @religion/context/current-work.md
11
+ @religion/context/handoff.md
12
+ @religion/learning/lessons.md
13
+
14
+ ## What this is
15
+
16
+ A description of your project and the problem it solves.
17
+
18
+ Religion is a workflow layer, not an application skeleton. To start a new project,
19
+ scaffold the app first in an empty folder, then install Religion on top. Never run a
20
+ framework scaffolder inside a directory that already holds these files; it fails because
21
+ the directory is not empty.
22
+
23
+ ## Workflow
24
+
25
+ Build one feature, fix, or rollback at a time, behind review gates.
26
+
27
+ The loop is:
28
+
29
+ /feature -> review the spec -> /implement -> /check -> /audit -> /complete
30
+
31
+ Each step's instructions are plain markdown skills any capable agent can read and follow.
32
+ The spec is written before code exists, so it can be reviewed before a line is built.
33
+ Implementation lands one small step at a time, each with a diff to read and evidence that
34
+ its stated outcome was met.
35
+
36
+ `religion/context/current-work.md` holds exactly one work item. Finish it, archive it,
37
+ then start the next. Progress lives in checkboxes inside that file, so a cleared context
38
+ costs nothing: a fresh session reads which steps are ticked and resumes from the first
39
+ one that is not.
40
+
41
+ ## Skills
42
+
43
+ The workflow is defined by the skills in `.claude/skills`, which Claude Code discovers on its
44
+ own. Run one as `/feature`, or just describe what you want; the right skill is
45
+ selected from the request.
46
+
47
+ `religion/config.json` holds this project's deterministic workflow settings. Read it
48
+ before acting. A missing file means built-in defaults. If it exists but cannot be parsed,
49
+ stop and run `/doctor` rather than guessing past it.
50
+
51
+ These commands are the structured path, not a cage. You can describe a feature, fix, or
52
+ change directly at any time; the same conventions still apply, because they are always in
53
+ context.
54
+
55
+ ## Authority
56
+
57
+ Actions fall into three tiers. This is the whole of it: no skill may widen its own
58
+ authority, and no setting in `religion/config.json` can move an action to a lower tier.
59
+
60
+ **Always ask, every time.** No mode, setting, or prior approval grants these. Approval for
61
+ one is never approval for another, and an approval given earlier in a session does not
62
+ carry to a later instance.
63
+
64
+ - merging into the default branch
65
+ - pushing to any remote
66
+ - deploying, publishing, or sending anything outward
67
+ - deleting files or data, and any rewrite of existing history
68
+ - changing a remote service, its configuration, or its secrets
69
+
70
+ **Ask unless an automated run is underway.** In normal work these need an explicit yes at
71
+ the time. Invoking an automated mode grants them for that run only, because that
72
+ invocation is the approval:
73
+
74
+ - committing, including step checkpoints
75
+ - installing or upgrading dependencies
76
+ - network calls that reach a remote service
77
+
78
+ An automated run's grant never reaches the first tier. It commits freely and still stops
79
+ to ask before it merges.
80
+
81
+ **Free.** Reading files, searching, running the project's own build, tests, linters, and
82
+ type checks, driving the app locally, and writing the workflow's own state files under
83
+ `religion/`.
84
+
85
+ ## Evidence
86
+
87
+ Never claim that something passed, is verified, or works without naming what proves it:
88
+ the exact command and its result, the route and what appeared, the screenshot, or the
89
+ output. "It should work" is not evidence, and neither is a summary of what the code
90
+ intends to do.
91
+
92
+ A required check that cannot run is a blocker, not a pass. Say so plainly and stop.
93
+
94
+ ## Git
95
+
96
+ `git.mode` decides where work lands. It ships as `trunk`.
97
+
98
+ **`trunk`** keeps work on the branch you already have checked out. Nothing is branched,
99
+ nothing is merged, and the first tier of the authority rules stays dormant because there
100
+ is no merge to ask about. This is the default because creating branches is a decision
101
+ that belongs to you, not to a workflow.
102
+
103
+ **`branch-per-item`** creates a branch per work item using the configured prefix, then
104
+ squash-merges it once the work is done and you have said yes. The merge and any push are
105
+ asked for separately: agreeing to a merge is never agreement to push.
106
+
107
+ `git.checkpoints` decides what happens to intermediate work, in either mode:
108
+
109
+ | Value | Behavior |
110
+ | --- | --- |
111
+ | `none` | Steps accumulate in the working tree; completion makes one commit for the whole item. |
112
+ | `every-step` | Each approved step becomes its own commit, left in place. |
113
+ | `squash` | Each approved step is committed, then completion collapses them into one. |
114
+
115
+ In `trunk` mode, `squash` collapses commits on the branch you are working on, which
116
+ rewrites local history. That is a first-tier action: it is never done without asking, and
117
+ never done at all when any of those commits has already been pushed.
118
+
119
+ ## Review cadence
120
+
121
+ `workflow.stepReview` decides how often implementation stops for you. It ships as
122
+ `every`: each step ends with a diff to read and approve before the next one starts. Set
123
+ it to `item` to collect the steps into one review packet at the end.
124
+
125
+ Either way, implementation stops early and asks whenever a check fails, a decision is
126
+ needed, a conflict appears, the work drifts outside its spec, or something in the first
127
+ tier of the authority rules comes up.
128
+
129
+ ## Activity
130
+
131
+ Any skill that changes something writes an activity record to
132
+ `religion/.state/run.json` as its **first action**, before inspecting the project or
133
+ calling anything else, and replaces it at meaningful milestones. Read-only skills do not.
134
+
135
+ This is generated local state. It is never committed, never part of a work commit, and
136
+ never contains secrets, raw output, prompts, or user content.
137
+
138
+ ```json
139
+ {
140
+ "schemaVersion": 1,
141
+ "command": "auto",
142
+ "status": "running",
143
+ "summary": "Building the remaining plan",
144
+ "detail": "Implementing item 3.",
145
+ "boundary": "local-only",
146
+ "startedAt": "<ISO-8601>",
147
+ "updatedAt": "<ISO-8601>",
148
+ "resumeCommand": "/auto resume",
149
+ "progress": { "current": 2, "total": 5, "label": "items" },
150
+ "item": { "id": "3", "title": "Export reports" }
151
+ }
152
+ ```
153
+
154
+ `status` is `running`, `blocked`, `ready`, or `completed`. Use `ready` when a skill reached
155
+ its intended handoff, such as an unattended run waiting for review. Use `blocked` with the
156
+ exact recovery command when work can resume. `boundary` is `read-only`, `reviewed`, or
157
+ `local-only`. Everything after `updatedAt` is optional.
158
+
159
+ Writing this record grants nothing and bypasses nothing. A failure to write it is reported
160
+ and ignored: reporting must never turn into a workflow failure.
161
+
162
+ ## Commands
163
+
164
+ <!-- religion:setup-required -->
165
+
166
+ Fill this in with the project's real commands. `/setup` detects them and proposes
167
+ the list; until it runs, treat this section as unverified.
168
+
169
+ - Dev server: `<command>`
170
+ - Build: `<command>`
171
+ - Test: `<command>`
172
+
173
+ Testing is opt-in. A declared test command is what turns testing into a gate for
174
+ logic-bearing work. If this project has no test runner, `/tests` adds one and
175
+ updates this section.
@@ -0,0 +1,10 @@
1
+ # Generated local state
2
+
3
+ Machine-written files that are never committed:
4
+
5
+ - `manifest.json` - the installed version and the hashes of managed files, so an update can
6
+ tell a local edit from a stale copy instead of overwriting either.
7
+ - `run.json` - what the workflow is doing right now, for the status view and the dashboard.
8
+
9
+ Nothing here is a record of the work. Deleting it costs the update path its conflict
10
+ detection and the dashboard its activity view, and costs the project nothing.
@@ -0,0 +1,19 @@
1
+ {
2
+ "hooks": {
3
+ "PreToolUse": [
4
+ {
5
+ "matcher": "Bash",
6
+ "hooks": [{ "type": "command", "command": "node .claude/hooks/guard-tier-one.mjs" }]
7
+ },
8
+ {
9
+ "matcher": "Edit|Write",
10
+ "hooks": [{ "type": "command", "command": "node .claude/hooks/guard-rendered-output.mjs" }]
11
+ }
12
+ ],
13
+ "Stop": [
14
+ {
15
+ "hooks": [{ "type": "command", "command": "node .claude/hooks/write-handoff.mjs" }]
16
+ }
17
+ ]
18
+ }
19
+ }
@@ -0,0 +1,43 @@
1
+ # Build Plan
2
+
3
+ > The second planning document you own. Keep it high level even when `project-plan.md` is
4
+ > detailed: one line per feature, in rough build order. The depth lives in each work
5
+ > item's spec.
6
+
7
+ ## Format
8
+
9
+ Use checkboxes. The build loop reads them: `feature` with no argument specs the
10
+ first unchecked item, and `complete` checks it off. That is what makes progress
11
+ survive a cleared context, so keep the list a checklist.
12
+
13
+ Each item should be a feature-sized outcome, not a loose task or a whole product area.
14
+
15
+ Good:
16
+
17
+ - [ ] 1. **Skill submission** - upload a package and save its metadata
18
+ - [ ] 2. **Validation result** - run checks and show pass or fail per submission
19
+ - [ ] 3. **Directory listing** - browse and filter what has been published
20
+
21
+ Avoid: "Upload stuff", "Database", "Make it look nice", or one line holding auth, billing,
22
+ and deployment at once.
23
+
24
+ A large item gets split into sub-items when it is spec'd, as `4a`, `4b`, and so on. Each
25
+ sub-item is its own work item with its own review and its own archive entry.
26
+
27
+ ## Keeping it going
28
+
29
+ This is a living roadmap, not a frozen record of the first release. Keep completed items
30
+ checked and append new unchecked ones as the project grows. Headings such as `## Later`
31
+ keep a long plan readable without changing how the next item is found.
32
+
33
+ Do not renumber completed items: their archives refer back to those numbers. Continue with
34
+ the next unused number. If a new feature changes the product direction, users, data,
35
+ stack, or deployment, update `project-plan.md` too, then re-run `overview`.
36
+
37
+ Scaffolding the application and prototyping the look are pre-build steps, not features.
38
+ Start with the first real slice of functionality.
39
+
40
+ ## Plan
41
+
42
+ - [ ] 1. **Feature one** - what it delivers
43
+ - [ ] 2. **Feature two** - what it delivers
@@ -0,0 +1,26 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "workflow": {
4
+ "stepReview": "every"
5
+ },
6
+ "git": {
7
+ "mode": "trunk",
8
+ "checkpoints": "every-step",
9
+ "featureBranchPrefix": "feature/",
10
+ "fixBranchPrefix": "fix/",
11
+ "rollbackBranchPrefix": "rollback/"
12
+ },
13
+ "verification": {
14
+ "logicTests": "when-configured",
15
+ "uiEvidence": "when-available"
16
+ },
17
+ "qualityGates": {
18
+ "audit": "when-sensitive",
19
+ "check": "when-behavioral"
20
+ },
21
+ "auto": {
22
+ "maxItems": null,
23
+ "maxRepairAttempts": 2,
24
+ "finalAudit": false
25
+ }
26
+ }
@@ -0,0 +1,84 @@
1
+ # AI Interaction
2
+
3
+ > How the agent works with you on this project. Yours to tune: the skills point here for
4
+ > communication and formatting, so a change made here applies everywhere.
5
+
6
+ ## Communication
7
+
8
+ - Be concise and direct. Lead with the answer, then the supporting detail.
9
+ - Explain non-obvious decisions briefly. Skip the obvious ones.
10
+ - Ask before a large refactor or an architectural change.
11
+ - Do not add capabilities that are not in the current work item.
12
+ - Never delete files without asking.
13
+
14
+ ## Output formatting
15
+
16
+ Format every response for fast scanning, in whatever renders it.
17
+
18
+ - **Real markdown, not walls of prose.** Bold labels, short lines, a blank line between
19
+ blocks.
20
+ - **Enumerations are lists.** A sequence of steps, options, or findings is a list, never
21
+ an inline "(1)... (2)... (3)" run buried in a paragraph.
22
+ - **Tables for matrices.** Comparing things across the same fields goes in a table.
23
+ - **Backticks for code things:** identifiers, paths, commands, filenames.
24
+ - **Do not over-format.** No deep bullet nests or decorative headers on a two-line reply.
25
+
26
+ ## The loop
27
+
28
+ The spec for the work in progress lives in `religion/context/current-work.md`.
29
+
30
+ 1. **Spec.** Run `feature` with no argument to spec the first unchecked item in the
31
+ build plan, or name one. Add ` preview` to see what it involves without writing
32
+ anything. For a bug or small change that is not in the plan, run `fix`. Review
33
+ the spec before any code exists.
34
+ 2. **Implement.** Run `implement`. It builds one step at a time, never the whole
35
+ item at once.
36
+ 3. **Review.** Each step shows a diff, not whole files, with a short summary: what the
37
+ step delivered, one line per changed file on why, and its stated outcome shown true.
38
+ 4. **Verify.** If the entry file declares a `Verify` command, that exact command is the
39
+ automated gate. Otherwise the build runs, plus the test command when one is declared. A
40
+ step that adds logic ships a passing test when the test gate is on.
41
+ 5. **Iterate.** If it does not work, revise and re-test before moving on. Do not pile the
42
+ next step on a broken one.
43
+ 6. **Prove it.** Run `check` for an outside proof pass against the running app.
44
+ 7. **Review the code.** Run `audit` for a read-only quality pass. Findings go to the
45
+ ledger with durable identifiers; repairs happen through `implement`.
46
+ 8. **Complete.** Run `complete`. It runs the final safety pass, archives the spec
47
+ under `religion/history/`, checks the item off the build plan, resets the active spec,
48
+ and makes the work commit. It ends with a manual walkthrough of what landed.
49
+ 9. **Deploy, when it is time.** Run `release` after a completed item or a milestone
50
+ for provider config, environment review, and a smoke-test path.
51
+
52
+ The skills are the structured path, not a requirement. You can describe a feature, fix, or
53
+ change directly at any time, and it is built the same way: small steps, a diff you approve,
54
+ these conventions. Use the skills when you want the repeatable loop and the written
55
+ history; ask directly when you just want something done.
56
+
57
+ ## Resuming
58
+
59
+ Progress lives in files, not in the conversation. The active spec holds each step checked
60
+ off as it lands, and git holds the code. A fresh session loads the spec through the project
61
+ entry file, so `implement` continues from the first unchecked step. There is no
62
+ separate save or load.
63
+
64
+ If you are unsure where things stand, run `status`. If you are unsure whether the
65
+ setup is healthy, run `doctor`. Both are read-only.
66
+
67
+ ## When stuck
68
+
69
+ - If something is not working after two or three attempts, stop and explain the problem.
70
+ - Do not keep trying variations of the same fix.
71
+ - Ask when the requirements are genuinely unclear, and only then.
72
+
73
+ ## Automated runs
74
+
75
+ `auto` exists only as an explicit opt-in. Do not suggest it as the default next
76
+ action. When invoked it runs without pausing after each passing step, within the bounds in
77
+ `religion/config.json`. Its invocation grants the routine actions listed in the Authority
78
+ section of the project entry file, and grants nothing beyond them.
79
+
80
+ ## Reviewing generated code
81
+
82
+ Review it periodically, especially for authorization checks and input validation,
83
+ performance traps such as repeated queries, edge cases the happy path skipped, and whether
84
+ it matches the patterns already in the codebase.