reffy-cli 1.9.0 → 1.9.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 CHANGED
@@ -25,7 +25,6 @@ Command summary:
25
25
 
26
26
  - `reffy init`: runs the canonical first-run setup flow, creates the `.reffy/` and `.reffy/reffyspec/` structure, writes managed instructions, reindexes artifacts, and on first-run text output prints a copy/paste instruction for your agent harness.
27
27
  - `reffy bootstrap`: compatibility alias for `reffy init`.
28
- - `reffy migrate`: migrates a legacy `.references/` workspace into `.reffy/`.
29
28
  - `reffy doctor`: diagnoses required Reffy setup and workspace health.
30
29
  - `reffy reindex`: reconciles `.reffy/manifest.json` with `.reffy/artifacts` by adding missing files and removing stale entries.
31
30
  - `reffy validate`: validates `.reffy/manifest.json` against manifest v1 contract.
@@ -393,13 +392,14 @@ This is a navigational pointer that keeps the lineage explicit; the spec delta r
393
392
  For local development of this repo:
394
393
 
395
394
  ```bash
396
- npm install
397
- npm run build
398
- npm run check
399
- npm test
395
+ corepack enable
396
+ pnpm install
397
+ pnpm build
398
+ pnpm check
399
+ pnpm test
400
400
  ```
401
401
 
402
- `npm install` runs this package's `prepare` step, which builds `dist/` automatically.
402
+ `pnpm install` runs this package's `prepare` step, which builds `dist/` automatically. Use `pnpm reffy <args>` to exercise the built local CLI through `dist/cli.js`; this avoids accidentally invoking a globally installed `reffy` while working in this repo.
403
403
 
404
404
  ## Release Security
405
405
 
package/dist/cli.js CHANGED
@@ -440,7 +440,6 @@ function usage() {
440
440
  "Commands:",
441
441
  " init Run the canonical first-run setup flow and refresh managed instructions.",
442
442
  " bootstrap Compatibility alias for init.",
443
- " migrate Migrate a legacy .references workspace to the canonical .reffy layout.",
444
443
  " doctor Diagnose required Reffy setup and optional tool availability.",
445
444
  " reindex Scan .reffy/artifacts and add missing files to manifest.",
446
445
  " validate Validate .reffy/manifest.json against manifest v1 contract.",
@@ -1900,40 +1899,6 @@ async function main() {
1900
1899
  const repoRoot = parseRepoArg(rest);
1901
1900
  return await runSetupCommand("bootstrap", output, repoRoot);
1902
1901
  }
1903
- if (command === "migrate") {
1904
- const repoRoot = parseRepoArg(rest);
1905
- const workspace = await prepareCanonicalWorkspace(repoRoot);
1906
- const planning = await prepareCanonicalPlanningLayout(repoRoot);
1907
- const agents = await initAgents(repoRoot);
1908
- const skills = await scaffoldManagedSkills(repoRoot);
1909
- const payload = {
1910
- status: "ok",
1911
- command: "migrate",
1912
- workspace_mode: workspace.state.mode,
1913
- migrated_workspace: workspace.migrated,
1914
- created_workspace: workspace.created,
1915
- planning_mode: planning.state.mode,
1916
- migrated_planning_layout: planning.migrated,
1917
- created_planning_layout: planning.created,
1918
- refs_dir: workspace.state.canonicalDir,
1919
- ...agents,
1920
- skills,
1921
- };
1922
- if (output === "json") {
1923
- printResult(output, payload);
1924
- }
1925
- else {
1926
- console.log(workspace.message ?? `Workspace ready at ${workspace.state.canonicalDir}`);
1927
- if (planning.message) {
1928
- console.log(planning.message);
1929
- }
1930
- console.log(`Updated ${agents.root_agents_path}`);
1931
- console.log(`Updated ${agents.reffy_agents_path}`);
1932
- console.log(`Updated ${agents.reffyspec_agents_path}`);
1933
- console.log(`Skills: ${String(skills.written_skills.length)} managed (${skills.preserved_unmanaged.length} unmanaged preserved)`);
1934
- }
1935
- return 0;
1936
- }
1937
1902
  if (command === "reindex") {
1938
1903
  const repoRoot = parseRepoArg(rest);
1939
1904
  const store = new ReferencesStore(repoRoot);
package/dist/doctor.js CHANGED
@@ -86,7 +86,7 @@ export async function runDoctor(repoRoot) {
86
86
  level: "optional",
87
87
  ok: workspace.mode !== "legacy",
88
88
  message: workspace.mode === "legacy"
89
- ? "legacy .references workspace detected; run `reffy migrate` to adopt .reffy/"
89
+ ? "legacy .references workspace detected; run `reffy init` to adopt .reffy/"
90
90
  : ".reffy/ is the active workspace",
91
91
  });
92
92
  const commandDrift = await findCommandDrift(repoRoot);
package/dist/skills.js CHANGED
@@ -214,7 +214,6 @@ export async function validateSkills(repoRoot, name) {
214
214
  export const KNOWN_COMMANDS = [
215
215
  "reffy init",
216
216
  "reffy bootstrap",
217
- "reffy migrate",
218
217
  "reffy doctor",
219
218
  "reffy reindex",
220
219
  "reffy validate",
@@ -428,7 +427,7 @@ Use this first when a Reffy command misbehaves in an unfamiliar repo.
428
427
  2. Run \`reffy validate\` to confirm the manifest contract.
429
428
  3. Resolve each failure by class:
430
429
  - Missing \`.reffy/\` or \`AGENTS.md\`: run \`reffy init\`.
431
- - Legacy \`.references/\` workspace: run \`reffy migrate\`.
430
+ - Legacy \`.references/\` workspace: run \`reffy init\`.
432
431
  - Invalid manifest: fix the reported entry, then re-run \`reffy validate\`.
433
432
  - Skill command drift: update the stale skill's \`commands\` list.
434
433
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reffy-cli",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "Planning system for AI assisted development.",
5
5
  "keywords": [
6
6
  "reffy",
@@ -30,14 +30,6 @@
30
30
  "bin": {
31
31
  "reffy": "dist/cli.js"
32
32
  },
33
- "scripts": {
34
- "build": "tsc -p tsconfig.json",
35
- "prepare": "npm run build",
36
- "dev": "tsx watch src/cli.ts",
37
- "check": "tsc --noEmit",
38
- "test": "npm run build && vitest run --coverage",
39
- "test:watch": "vitest"
40
- },
41
33
  "engines": {
42
34
  "node": ">=20"
43
35
  },
@@ -57,5 +49,13 @@
57
49
  "tsx": "^4.20.5",
58
50
  "typescript": "^5.9.2",
59
51
  "vitest": "^3.2.4"
52
+ },
53
+ "scripts": {
54
+ "build": "tsc -p tsconfig.json",
55
+ "reffy": "node dist/cli.js",
56
+ "dev": "tsx watch src/cli.ts",
57
+ "check": "tsc --noEmit",
58
+ "test": "tsc -p tsconfig.json && vitest run --coverage",
59
+ "test:watch": "vitest"
60
60
  }
61
- }
61
+ }