@orkestrel/scaffold 0.0.1 → 0.0.3
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 +34 -17
- package/dist/bin/scaffold.js +1162 -1200
- package/dist/bin/scaffold.js.map +1 -1
- package/dist/host/AGENTS.md +124 -925
- package/dist/host/CLAUDE.md +260 -495
- package/dist/host/agents/skills/orkestrel-align-packages/SKILL.md +53 -0
- package/dist/host/agents/skills/orkestrel-align-packages/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-align-packages/references/fleet.md +50 -0
- package/dist/host/agents/skills/orkestrel-align-packages/references/integration.md +56 -0
- package/dist/host/agents/skills/orkestrel-build-application/SKILL.md +64 -0
- package/dist/host/agents/skills/orkestrel-build-application/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-build-application/references/application.md +129 -0
- package/dist/host/agents/skills/orkestrel-harden-package/SKILL.md +64 -0
- package/dist/host/agents/skills/orkestrel-harden-package/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-harden-package/references/centralization.md +85 -0
- package/dist/host/agents/skills/orkestrel-harden-package/references/contract.md +57 -0
- package/dist/host/agents/skills/orkestrel-harden-package/references/hardening.md +93 -0
- package/dist/host/agents/skills/orkestrel-harden-package/references/research.md +61 -0
- package/dist/host/claude/agents/application.md +32 -0
- package/dist/host/claude/agents/builder.md +12 -7
- package/dist/host/claude/agents/checker.md +15 -8
- package/dist/host/claude/agents/codex.md +40 -0
- package/dist/host/claude/agents/grok.md +20 -37
- package/dist/host/claude/agents/orkestrel.md +89 -222
- package/dist/host/claude/agents/planner.md +14 -34
- package/dist/host/claude/agents/reviewer.md +39 -24
- package/dist/host/claude/agents/verifier.md +15 -10
- package/dist/host/claude/rules/application.md +57 -0
- package/dist/host/claude/rules/architecture.md +179 -0
- package/dist/host/claude/rules/browser.md +28 -0
- package/dist/host/claude/rules/documentation.md +64 -0
- package/dist/host/claude/rules/names.md +209 -0
- package/dist/host/claude/rules/patterns.md +130 -0
- package/dist/host/claude/rules/quality.md +45 -0
- package/dist/host/claude/rules/styles.md +64 -0
- package/dist/host/claude/rules/tests.md +123 -0
- package/dist/host/claude/rules/typescript.md +78 -0
- package/dist/host/claude/rules/workspace.md +180 -0
- package/dist/host/claude/settings.json +116 -0
- package/dist/host/claude/skills/orkestrel-align-packages/SKILL.md +10 -0
- package/dist/host/claude/skills/orkestrel-build-application/SKILL.md +12 -0
- package/dist/host/claude/skills/orkestrel-harden-package/SKILL.md +10 -0
- package/dist/host/codex/agents/analyst.toml +15 -0
- package/dist/host/codex/agents/application.toml +25 -0
- package/dist/host/codex/agents/builder.toml +24 -0
- package/dist/host/codex/agents/checker.toml +15 -0
- package/dist/host/codex/agents/grok.toml +17 -0
- package/dist/host/codex/agents/implementer.toml +17 -0
- package/dist/host/codex/agents/orkestrel.toml +16 -0
- package/dist/host/codex/agents/planner.toml +20 -0
- package/dist/host/codex/agents/reviewer.toml +18 -0
- package/dist/host/codex/agents/verifier.toml +14 -0
- package/dist/host/codex/config.toml +64 -0
- package/dist/host/dotfiles/oxlintrc.json +307 -1
- package/dist/host/guides/src/scaffold.md +2060 -1970
- package/dist/host/manifest.json +355 -137
- package/dist/host/scripts/codex.sh +49 -0
- package/dist/host/scripts/cursor.sh +33 -47
- package/dist/host/scripts/deps.sh +34 -16
- package/dist/host/scripts/ollama.sh +6 -149
- package/dist/host/tests/setupPolicy.ts +354 -0
- package/dist/src/core/index.cjs +6745 -1191
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +923 -273
- package/dist/src/core/index.d.ts +923 -273
- package/dist/src/core/index.js +6657 -1184
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/server/index.cjs +3132 -593
- package/dist/src/server/index.cjs.map +1 -1
- package/dist/src/server/index.d.cts +643 -95
- package/dist/src/server/index.d.ts +643 -95
- package/dist/src/server/index.js +3054 -594
- package/dist/src/server/index.js.map +1 -1
- package/package.json +15 -12
- package/dist/host/claude/agents/composer.md +0 -64
- package/dist/host/claude/agents/researcher.md +0 -38
- package/dist/host/claude/agents/scout.md +0 -35
- package/dist/host/github/workflows/ci.yml +0 -64
package/README.md
CHANGED
|
@@ -26,10 +26,10 @@ ctrl-c at any prompt and nothing is written. Prefer scripting instead? Every
|
|
|
26
26
|
flag from the guided flow works standalone:
|
|
27
27
|
|
|
28
28
|
```sh
|
|
29
|
-
npx scaffold new mypackage --
|
|
29
|
+
npx scaffold new mypackage --src core --app core,browser,server --apply
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
In scripts
|
|
32
|
+
In scripts, every verb is dry-run by default and fully non-interactive —
|
|
33
33
|
add `--apply` and/or `--yes` to make it write, `--json` for one machine-readable
|
|
34
34
|
value instead of prose. Every write destination resolves under the current
|
|
35
35
|
directory — equal to it or nested beneath — so the CLI is safe to run as a
|
|
@@ -39,14 +39,14 @@ global command anywhere; `--from` may point anywhere (read-only).
|
|
|
39
39
|
directly — PowerShell mangles npm's `--` passthrough, so avoid
|
|
40
40
|
`npm run scaffold -- …` there.
|
|
41
41
|
|
|
42
|
-
**TLS:** the
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
**TLS:** when the running Node release exposes system-CA controls, the CLI adds
|
|
43
|
+
the operating-system certificate store. Earlier supported Node 22 releases use
|
|
44
|
+
Node's default roots. `NODE_EXTRA_CA_CERTS` adds custom PEMs in either case.
|
|
45
45
|
|
|
46
46
|
## CLI
|
|
47
47
|
|
|
48
48
|
```sh
|
|
49
|
-
scaffold new [name] [--
|
|
49
|
+
scaffold new [name] [--src <list>] [--app <list>] [--deps <list>] [--apply] [--yes] [--json]
|
|
50
50
|
scaffold pull [--apply] [--yes] [--json]
|
|
51
51
|
scaffold audit [--live] [--json]
|
|
52
52
|
scaffold repair [--prune] [--apply] [--yes] [--json]
|
|
@@ -59,7 +59,10 @@ scripting form. Exit codes: `0` clean/success, `1` drift or failure, `2` usage
|
|
|
59
59
|
error.
|
|
60
60
|
|
|
61
61
|
- **`new [name]`** — drafts a `Blueprint` and compiles it into a `Plan`; dry-run by
|
|
62
|
-
default (prints a review), `--apply` writes the
|
|
62
|
+
default (prints a review), `--apply` writes the workspace to disk. `--src`
|
|
63
|
+
selects published source environments and `--app` independently selects private application
|
|
64
|
+
environments; at least one is required. App-only workspaces are unscoped and `"private": true`,
|
|
65
|
+
while mixed workspaces retain the published `@orkestrel/*` package boundary. `--deps` names
|
|
63
66
|
`@orkestrel/*` runtime dependencies (installed as `dependencies`), resolving an
|
|
64
67
|
absent `@range` to the registry's `latest`; run bare on a terminal, it lands as an
|
|
65
68
|
interactive question. Other npm packages are not a `new`-time flag — hand-add them to
|
|
@@ -67,18 +70,21 @@ error.
|
|
|
67
70
|
its plan from your `package.json` and stays clean over the addition.
|
|
68
71
|
- **`pull`** — fetches the latest vendored dependency guides and registry versions
|
|
69
72
|
for an existing package and reports drift.
|
|
70
|
-
- **`audit`** — a
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
- **`audit`** — a conformance report over the artifacts the plan actually gates: the
|
|
74
|
+
shared host-origin files (presence, or exact bytes once hydrated) AND the generated
|
|
75
|
+
configs/manifest (exact UTF-8 bytes); reports drift as data, findings and all; exits nonzero
|
|
76
|
+
the moment any drift is found. Starter files — source/test
|
|
77
|
+
stubs, starter guides, README — are written once at scaffold time and are
|
|
78
|
+
legitimately outgrown, so they are birth-only and never audited; the build and
|
|
79
|
+
parity gates police their substance instead. `--live` additionally checks upstream
|
|
80
|
+
guide/version freshness — `audit` is the ONLY verb that carries `--live`.
|
|
75
81
|
- **`repair`** — restores the shared HOST set only (generated source/tests/configs are
|
|
76
82
|
never touched); re-derives the plan from the audit and re-applies only the drifted
|
|
77
83
|
host artifacts; dry-run by default, `--apply` writes the fixes, `--prune` also removes
|
|
78
84
|
target-only files the plan no longer declares (asked as a separate destructive
|
|
79
85
|
question when run bare).
|
|
80
86
|
- **`fleet`** — audits/repairs the shared, host-owned files (`AGENTS.md`,
|
|
81
|
-
`CLAUDE.md`, `.claude/`, `scripts/`, the shared dotfiles, …) across every
|
|
87
|
+
`CLAUDE.md`, `.agents/` skills, `.claude/`, `.codex/`, `scripts/`, the shared dotfiles, …) across every
|
|
82
88
|
`@orkestrel` repo that is an IMMEDIATE CHILD of the current directory — no root
|
|
83
89
|
flag; the scope is always your checkouts folder, so `cd` there first (`repair`
|
|
84
90
|
is the single-repo counterpart, run from inside one repo); dry-run by default,
|
|
@@ -96,18 +102,29 @@ error.
|
|
|
96
102
|
```ts
|
|
97
103
|
import { blueprint, createCompiler } from '@orkestrel/scaffold'
|
|
98
104
|
|
|
99
|
-
const draft = blueprint(
|
|
105
|
+
const draft = blueprint('example', {
|
|
106
|
+
src: ['core'],
|
|
107
|
+
app: ['core', 'browser', 'server'],
|
|
108
|
+
})
|
|
100
109
|
const compiler = createCompiler()
|
|
101
|
-
const
|
|
110
|
+
const scaffolding = compiler.compile(draft)
|
|
111
|
+
scaffolding.plan?.artifacts.length
|
|
112
|
+
compiler.destroy()
|
|
102
113
|
```
|
|
103
114
|
|
|
104
|
-
`@orkestrel/scaffold/server` carries the impure
|
|
115
|
+
`@orkestrel/scaffold/server` carries the impure API — `createMaterializer`
|
|
105
116
|
(writes a `Plan` to disk) and `createSync` (the only part of the system that
|
|
106
117
|
touches the network, fetching dependency guides and registry versions).
|
|
107
118
|
|
|
119
|
+
The built host uses an exact `{ entries, roots }` manifest. Staging preflights
|
|
120
|
+
containment and portable file-tree collisions, builds in a temporary sibling,
|
|
121
|
+
and swaps only after completion. Reading validates that every declared storage
|
|
122
|
+
file exists, every staged file is declared, and every destination root is
|
|
123
|
+
complete; a present but corrupt or truncated manifest fails closed.
|
|
124
|
+
|
|
108
125
|
## Guides
|
|
109
126
|
|
|
110
|
-
For the full
|
|
127
|
+
For the full API, see [`guides/src/scaffold.md`](guides/src/scaffold.md).
|
|
111
128
|
|
|
112
129
|
## License
|
|
113
130
|
|