@orkestrel/scaffold 0.0.55 → 0.0.57

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 CHANGED
@@ -7,6 +7,18 @@ Every `@orkestrel` repository shares one toolchain, one set of agent instruction
7
7
  root dotfiles. Scaffold ships that shared set as data inside the package and gives it verbs: create
8
8
  a workspace from it, report how a workspace differs from it, and write the difference back.
9
9
 
10
+ The set splits by how a repository meets it. Every target carries its own copy of the vendored set —
11
+ its toolchain, its policy proofs, its harness permission file, its bench probe scripts — and the
12
+ verbs write it and compare it. A bench probe script is a session-start hook that reports whether a
13
+ bench CLI resolves; what wires that bench stays in the canon, and a session reads it at its primary
14
+ root. The instruction canon — the coding and orchestration contracts, the rules, the skills, the
15
+ templates, the transport contracts, the agent roles, the bench configuration, and the MCP
16
+ registrations — is published for reading instead, from a scaffold checkout sitting beside the
17
+ repository, or from `node_modules/@orkestrel/scaffold/dist/host/` in the installed package. Every
18
+ target carries the `AGENTS.md` and `CLAUDE.md` pointers that name where to read it, and the
19
+ `.claude/agents/orkestrel.md` catalog file the `catalog` verb rewrites. Anything else a target holds
20
+ at a canon path is a superseded copy, and `overwrite` deletes it.
21
+
10
22
  ## Install
11
23
 
12
24
  ```sh
@@ -34,10 +46,11 @@ npx scaffold new router --src core,server
34
46
  ```
35
47
 
36
48
  Writes a complete workspace into `./router`: its manifest, its build configuration, empty barrels
37
- for each selected environment, its tests, its documentation, and every shared file. `--app` selects
38
- private application environments on an independent axis, and `--deps` names `@orkestrel/*` runtime
39
- dependencies, each pinned to the registry's latest release. `--bin` adds the command-line entry, its
40
- test, and its scoped build configuration.
49
+ for each selected environment, its tests, its documentation, the `AGENTS.md` and `CLAUDE.md`
50
+ pointers, and every vendored file. `--app` selects private application environments on an
51
+ independent axis, and `--deps` names `@orkestrel/*` runtime dependencies, each pinned to the
52
+ registry's latest release. `--bin` adds the command-line entry, its test, and its scoped build
53
+ configuration.
41
54
 
42
55
  ### `audit` — report how a target compares to its plan
43
56
 
@@ -78,8 +91,10 @@ npx scaffold overwrite --dirty
78
91
 
79
92
  Everything `repair` and `catalog` do, plus the steps only this verb carries: it deletes tracked
80
93
  files the plan does not own, and it rewrites the `@orkestrel/*` ranges in the manifest to the
81
- registry's latest releases. It needs a git repository, and it refuses a tree carrying uncommitted
82
- changes unless `--dirty` waives that refusal.
94
+ registry's latest releases. The deletion covers a stray beneath a vendored directory and a superseded
95
+ instruction copy alike, so one run repairs the pointers and sweeps the canon paths a release moved.
96
+ It needs a git repository, and it refuses a tree carrying uncommitted changes unless `--dirty` waives
97
+ that refusal.
83
98
 
84
99
  ## Library
85
100
 
package/dist/bin/main.js CHANGED
@@ -3,7 +3,7 @@ import { align, renderTable, strip, stripControls, width } from "@orkestrel/cons
3
3
  import { attempt, isRecord, isString, parseJSON } from "@orkestrel/contract";
4
4
  import { createMarkdown, flattenText, isTableNode } from "@orkestrel/markdown";
5
5
  import { executeSync } from "@orkestrel/process/server";
6
- import { BIN_ENTRY_PATH, CATALOG_AGENT_PATH, CONFORMANCE_TEST_PATH, Compiler, DEPENDENCY_NAME_PATTERN, ENVIRONMENTS, GLOBAL_SETUP_PATH, GROUPS, GUIDES_TEST_PATH, HOST_PATHS, INTEGRATION_TEST_PATH, MAX_MANIFEST_BYTES, SERVICE_SETUP_PATH, SHOWCASE_CONFIG_PATH, ScaffoldError, blueprintToDevDependencies, blueprintToRootVite, blueprintToScripts, blueprintToTestArtifacts, blueprintToWritableScripts, compareVersions, createBlueprint, extractRangeMajor, extractVersion, isDeferredPath, isScaffoldError, manifestToDependencies, manifestToName, nameToGuide, replaceManifestScripts, replacePlanRanges } from "../src/core/index.js";
6
+ import { BIN_ENTRY_PATH, CATALOG_AGENT_PATH, CONFORMANCE_TEST_PATH, Compiler, DEPENDENCY_NAME_PATTERN, ENVIRONMENTS, GLOBAL_SETUP_PATH, GROUPS, GUIDES_TEST_PATH, HOST_PATHS, INTEGRATION_TEST_PATH, MAX_MANIFEST_BYTES, SERVICE_SETUP_PATH, SHOWCASE_CONFIG_PATH, ScaffoldError, blueprintToDevDependencies, blueprintToRootVite, blueprintToScripts, blueprintToTestArtifacts, blueprintToWritableScripts, compareVersions, createBlueprint, extractRangeMajor, extractVersion, isCanonPath, isDeferredPath, isScaffoldError, manifestToDependencies, manifestToName, nameToGuide, replaceManifestScripts, replacePlanRanges } from "../src/core/index.js";
7
7
  import { Materializer, Upstream, filesToHost, isExactCaseFile, isPhysicalDirectory, isWorktree, listFiles, readFileText, readHostFloor, readSnapshot, resolveContainedPath } from "../src/server/index.js";
8
8
  import { parseArgs } from "node:util";
9
9
  //#region src/bin/constants.ts
@@ -1031,7 +1031,7 @@ var CLI = class CLI {
1031
1031
  baseline: "floor",
1032
1032
  forced: false
1033
1033
  };
1034
- const paths = floor.manifest.entries.filter((entry) => !isDeferredPath(entry.destination)).map((entry) => entry.destination);
1034
+ const paths = floor.manifest.entries.filter((entry) => !isDeferredPath(entry.destination) && !isCanonPath(entry.destination)).map((entry) => entry.destination);
1035
1035
  const current = target === void 0 ? floor.bytes : readSnapshot(target, paths);
1036
1036
  const upstream = new Upstream(this.#upstream);
1037
1037
  try {