silvermoon 0.0.1 → 0.0.2
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.
- package/README.md +0 -236
- package/README.zh-CN.md +114 -199
- package/assets/silvermoon.svg +176 -175
- package/bin/silvermoon.js +0 -0
- package/docs/assets/silvermoon-avatar.svg +395 -0
- package/docs/core-concepts.md +69 -0
- package/docs/getting-started.md +115 -0
- package/docs/maintaining.md +56 -0
- package/docs/npm-package-releases.md +139 -0
- package/docs/operations.md +110 -0
- package/docs/reference.md +138 -0
- package/docs/repository-tasks.md +61 -0
- package/package.json +69 -65
- package/schema/v1/config.schema.json +27 -24
- package/schema/v1/definitions.schema.json +30 -25
- package/schema/v1/idea-status.schema.json +44 -41
- package/schema/v1/user-config.schema.json +19 -0
- package/skills/silvermoon/SKILL.md +216 -209
- package/skills/silvermoon/references/adoption.md +122 -122
- package/src/adoption.js +313 -313
- package/src/cli.js +200 -196
- package/src/config.js +193 -176
- package/src/create-idea.js +272 -235
- package/src/git.js +284 -284
- package/src/idea-layout.js +439 -439
- package/src/idea-templates.js +109 -109
- package/src/ideas.js +140 -131
- package/src/index.js +260 -260
- package/src/language.js +29 -0
- package/src/layout.js +21 -21
- package/src/repository.js +87 -87
- package/src/user-config.js +135 -0
- package/src/whatsnext.js +453 -378
- package/src/yaml.js +66 -66
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
# Silvermoon adoption
|
|
2
|
-
|
|
3
|
-
## New repositories
|
|
4
|
-
|
|
5
|
-
Start with a complete, read-only diagnosis, even in an unfamiliar repository:
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
npx silvermoon@<version> whats-next --json
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The report distinguishes source checkout, project-local, temporary, global,
|
|
12
|
-
and unknown execution; lists all requirements and findings with dependencies;
|
|
13
|
-
and provides structured remediation plus a recheck command. Temporary
|
|
14
|
-
execution is only a bootstrap authority. Adopt its exact version, install it
|
|
15
|
-
project-locally, and thereafter use `npx --no-install silvermoon`.
|
|
16
|
-
|
|
17
|
-
Install and synchronize explicitly:
|
|
18
|
-
|
|
19
|
-
```sh
|
|
20
|
-
npm install --save-dev --save-exact silvermoon@<version>
|
|
21
|
-
npx skills add ./node_modules/silvermoon/skills --skill silvermoon --agent github-copilot --yes --copy
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
The npm package ships the canonical skill. Installation never writes tracked
|
|
25
|
-
skill files. Registration and updates belong to `npx skills`; Silvermoon
|
|
26
|
-
diagnoses the resulting repository-local content but never overwrites it.
|
|
27
|
-
|
|
28
|
-
Create `.silvermoon/config.yaml` with the fixed version 1 contract:
|
|
29
|
-
|
|
30
|
-
```yaml
|
|
31
|
-
version: 1
|
|
32
|
-
primaryRepository: https://example.com/owner/repository.git
|
|
33
|
-
primaryBranch: main
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
The URL is credential-free canonical HTTPS shared state; local Git credentials
|
|
37
|
-
and URL rewrites remain machine-local. Metadata and idea paths are fixed.
|
|
38
|
-
|
|
39
|
-
Commit the configuration, then run:
|
|
40
|
-
|
|
41
|
-
```sh
|
|
42
|
-
silvermoon check --commit HEAD
|
|
43
|
-
silvermoon check --remote
|
|
44
|
-
silvermoon create-idea --json
|
|
45
|
-
silvermoon whats-next <ULID> --json
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Create or repair configuration through ordinary reviewed file editing.
|
|
49
|
-
Silvermoon reports every configuration finding but has no init or setup command.
|
|
50
|
-
|
|
51
|
-
## Idea storage
|
|
52
|
-
|
|
53
|
-
Each idea is self-contained:
|
|
54
|
-
|
|
55
|
-
```text
|
|
56
|
-
.silvermoon/ideas/<ULID>/
|
|
57
|
-
|-- status.yaml
|
|
58
|
-
|-- ledger.md
|
|
59
|
-
`-- outer/
|
|
60
|
-
|-- Deployment.md
|
|
61
|
-
`-- inner/
|
|
62
|
-
|-- Implementation.md
|
|
63
|
-
`-- ideal/
|
|
64
|
-
`-- Idea.md
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Ideal World (道心) uses `Idea.md`, Inner World (内景) uses
|
|
68
|
-
`Implementation.md`, and Outer World (现世) uses `Deployment.md`: 道心立意,
|
|
69
|
-
内景成形,现世验真. Each world may have supporting files and directories,
|
|
70
|
-
but they serve rather than replace the canonical same-world entry.
|
|
71
|
-
|
|
72
|
-
The nested opaque Git trees produce `idealRevision`,
|
|
73
|
-
`implementationRevision`, and `deploymentRevision`. Inner World includes Ideal
|
|
74
|
-
World; Outer World includes both nested worlds. `status.yaml` and required
|
|
75
|
-
`ledger.md` are outside all three revisions. Silvermoon requires ledger as a
|
|
76
|
-
regular file but does not parse its body.
|
|
77
|
-
|
|
78
|
-
Write implementation and deployment plans under `## Steps` and their outcome
|
|
79
|
-
contracts under `## Acceptance criteria`. Give every item a stable level-three
|
|
80
|
-
`I-Sxx`, `I-ACxx`, `D-Sxx`, or `D-ACxx` heading. Each criterion describes both
|
|
81
|
-
the observable outcome and how to prove it. Keep task-list checkboxes out of
|
|
82
|
-
world contracts.
|
|
83
|
-
|
|
84
|
-
Agents mirror those stable IDs and short titles into the required `ledger.md`
|
|
85
|
-
under Implementation and Deployment Steps and Acceptance criteria checklists.
|
|
86
|
-
Update both files together, and reset a checked item when its requirement or
|
|
87
|
-
proof changes materially. Checkboxes record Agent work only, never human
|
|
88
|
-
approval or acceptance.
|
|
89
|
-
|
|
90
|
-
```yaml
|
|
91
|
-
version: 1
|
|
92
|
-
id: 01M36QGPNTXEPP61DA4KP4AVZF
|
|
93
|
-
alias: publish-documentation
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Status may additionally contain canonical `abandoned: true`,
|
|
97
|
-
`approvedRevision`, `implementationAcceptedRevision`, and
|
|
98
|
-
`deploymentAcceptedRevision` in that order. Decisions must bind to their
|
|
99
|
-
corresponding current world revision.
|
|
100
|
-
|
|
101
|
-
For a new scaffold, run `silvermoon create-idea --json`. It generates the ULID,
|
|
102
|
-
four structured documents and alias-less status; it does not stage, commit,
|
|
103
|
-
push, approve, or accept. During initial preparation, complete `Idea.md` while
|
|
104
|
-
keeping the Implementation, Deployment, and ledger placeholders synchronized
|
|
105
|
-
until their lifecycle actions. An Agent may add a concise, unique alias derived
|
|
106
|
-
from the user's request without asking the user to choose a name.
|
|
107
|
-
|
|
108
|
-
## Adopting from another layout
|
|
109
|
-
|
|
110
|
-
Silvermoon deliberately has no runtime compatibility mode or in-place migration
|
|
111
|
-
command. It recognizes only `.silvermoon/config.yaml` and the fixed nested
|
|
112
|
-
world layout. A repository containing only another configuration or idea layout
|
|
113
|
-
is unconfigured.
|
|
114
|
-
|
|
115
|
-
Prepare one reviewed cutover commit with ordinary repository tools. Preserve
|
|
116
|
-
old Git history, inspect every retained outcome, and record only decisions that
|
|
117
|
-
have explicit evidence for the exact corresponding world revision. Silvermoon
|
|
118
|
-
does not read, merge, move, delete, diagnose, or infer facts from old layouts.
|
|
119
|
-
|
|
120
|
-
Run `silvermoon check --worktree`, stage the candidate, run the staged and
|
|
121
|
-
commit checks, publish non-force, then run the remote check against complete
|
|
122
|
-
primary history.
|
|
1
|
+
# Silvermoon adoption
|
|
2
|
+
|
|
3
|
+
## New repositories
|
|
4
|
+
|
|
5
|
+
Start with a complete, read-only diagnosis, even in an unfamiliar repository:
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npx silvermoon@<version> whats-next --json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The report distinguishes source checkout, project-local, temporary, global,
|
|
12
|
+
and unknown execution; lists all requirements and findings with dependencies;
|
|
13
|
+
and provides structured remediation plus a recheck command. Temporary
|
|
14
|
+
execution is only a bootstrap authority. Adopt its exact version, install it
|
|
15
|
+
project-locally, and thereafter use `npx --no-install silvermoon`.
|
|
16
|
+
|
|
17
|
+
Install and synchronize explicitly:
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npm install --save-dev --save-exact silvermoon@<version>
|
|
21
|
+
npx skills add ./node_modules/silvermoon/skills --skill silvermoon --agent github-copilot --yes --copy
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The npm package ships the canonical skill. Installation never writes tracked
|
|
25
|
+
skill files. Registration and updates belong to `npx skills`; Silvermoon
|
|
26
|
+
diagnoses the resulting repository-local content but never overwrites it.
|
|
27
|
+
|
|
28
|
+
Create `.silvermoon/config.yaml` with the fixed version 1 contract:
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
version: 1
|
|
32
|
+
primaryRepository: https://example.com/owner/repository.git
|
|
33
|
+
primaryBranch: main
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The URL is credential-free canonical HTTPS shared state; local Git credentials
|
|
37
|
+
and URL rewrites remain machine-local. Metadata and idea paths are fixed.
|
|
38
|
+
|
|
39
|
+
Commit the configuration, then run:
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
silvermoon check --commit HEAD
|
|
43
|
+
silvermoon check --remote
|
|
44
|
+
silvermoon create-idea --json
|
|
45
|
+
silvermoon whats-next <ULID> --json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Create or repair configuration through ordinary reviewed file editing.
|
|
49
|
+
Silvermoon reports every configuration finding but has no init or setup command.
|
|
50
|
+
|
|
51
|
+
## Idea storage
|
|
52
|
+
|
|
53
|
+
Each idea is self-contained:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
.silvermoon/ideas/<ULID>/
|
|
57
|
+
|-- status.yaml
|
|
58
|
+
|-- ledger.md
|
|
59
|
+
`-- outer/
|
|
60
|
+
|-- Deployment.md
|
|
61
|
+
`-- inner/
|
|
62
|
+
|-- Implementation.md
|
|
63
|
+
`-- ideal/
|
|
64
|
+
`-- Idea.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Ideal World (道心) uses `Idea.md`, Inner World (内景) uses
|
|
68
|
+
`Implementation.md`, and Outer World (现世) uses `Deployment.md`: 道心立意,
|
|
69
|
+
内景成形,现世验真. Each world may have supporting files and directories,
|
|
70
|
+
but they serve rather than replace the canonical same-world entry.
|
|
71
|
+
|
|
72
|
+
The nested opaque Git trees produce `idealRevision`,
|
|
73
|
+
`implementationRevision`, and `deploymentRevision`. Inner World includes Ideal
|
|
74
|
+
World; Outer World includes both nested worlds. `status.yaml` and required
|
|
75
|
+
`ledger.md` are outside all three revisions. Silvermoon requires ledger as a
|
|
76
|
+
regular file but does not parse its body.
|
|
77
|
+
|
|
78
|
+
Write implementation and deployment plans under `## Steps` and their outcome
|
|
79
|
+
contracts under `## Acceptance criteria`. Give every item a stable level-three
|
|
80
|
+
`I-Sxx`, `I-ACxx`, `D-Sxx`, or `D-ACxx` heading. Each criterion describes both
|
|
81
|
+
the observable outcome and how to prove it. Keep task-list checkboxes out of
|
|
82
|
+
world contracts.
|
|
83
|
+
|
|
84
|
+
Agents mirror those stable IDs and short titles into the required `ledger.md`
|
|
85
|
+
under Implementation and Deployment Steps and Acceptance criteria checklists.
|
|
86
|
+
Update both files together, and reset a checked item when its requirement or
|
|
87
|
+
proof changes materially. Checkboxes record Agent work only, never human
|
|
88
|
+
approval or acceptance.
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
version: 1
|
|
92
|
+
id: 01M36QGPNTXEPP61DA4KP4AVZF
|
|
93
|
+
alias: publish-documentation
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Status may additionally contain canonical `abandoned: true`,
|
|
97
|
+
`approvedRevision`, `implementationAcceptedRevision`, and
|
|
98
|
+
`deploymentAcceptedRevision` in that order. Decisions must bind to their
|
|
99
|
+
corresponding current world revision.
|
|
100
|
+
|
|
101
|
+
For a new scaffold, run `silvermoon create-idea --json`. It generates the ULID,
|
|
102
|
+
four structured documents and alias-less status; it does not stage, commit,
|
|
103
|
+
push, approve, or accept. During initial preparation, complete `Idea.md` while
|
|
104
|
+
keeping the Implementation, Deployment, and ledger placeholders synchronized
|
|
105
|
+
until their lifecycle actions. An Agent may add a concise, unique alias derived
|
|
106
|
+
from the user's request without asking the user to choose a name.
|
|
107
|
+
|
|
108
|
+
## Adopting from another layout
|
|
109
|
+
|
|
110
|
+
Silvermoon deliberately has no runtime compatibility mode or in-place migration
|
|
111
|
+
command. It recognizes only `.silvermoon/config.yaml` and the fixed nested
|
|
112
|
+
world layout. A repository containing only another configuration or idea layout
|
|
113
|
+
is unconfigured.
|
|
114
|
+
|
|
115
|
+
Prepare one reviewed cutover commit with ordinary repository tools. Preserve
|
|
116
|
+
old Git history, inspect every retained outcome, and record only decisions that
|
|
117
|
+
have explicit evidence for the exact corresponding world revision. Silvermoon
|
|
118
|
+
does not read, merge, move, delete, diagnose, or infer facts from old layouts.
|
|
119
|
+
|
|
120
|
+
Run `silvermoon check --worktree`, stage the candidate, run the staged and
|
|
121
|
+
commit checks, publish non-force, then run the remote check against complete
|
|
122
|
+
primary history.
|