feat: MVP — move files, rewrite imports, atomically
- core: gitignore-aware index (ignore crate), forward/reverse import graph,
relative-specifier math, pure-data move plans
- apply: rewrite-first + rename-last with fsync, temp+rename, full rollback
(incl. stale-plan detection before any write); unified diff for dry-run
- cli: mv + check commands, human output, --json envelope with stable error
codes (SOURCE_NOT_FOUND, TARGET_EXISTS, ...) and hints; exit codes 0/1/2
- parser/core split into submodules to keep files <=250 lines
- tests: 37 unit + 10 e2e + 2 doctests; fixtures tests/typescript/{basic,normal,complex}
- docs: SKILL.md synced (no --force in Phase 1), EXAMPLES.md
- plan: AI/agent support done; Phase 1.5 = Java niche
This commit is contained in:
parent
9d8f1e0bba
commit
55670030c3
37 changed files with 1851 additions and 139 deletions
|
|
@ -52,7 +52,7 @@ Existing tools ship a raw `.agents/skills/` folder; we do it properly:
|
|||
- `--json` on every command. Envelope:
|
||||
`{ "status": "ok" | "dry_run" | "error", "operation": "...", ... }`
|
||||
- Stable error codes + actionable hints:
|
||||
`{ "status":"error", "code":"TARGET_EXISTS", "message":"...", "hint":"Use --force or choose another target" }`
|
||||
`{ "status":"error", "code":"TARGET_EXISTS", "message":"...", "hint":"choose another target or remove the existing one" }`
|
||||
- `mv --dry-run --json` → `{ would_move, would_update, affected_files }`
|
||||
so agents preview → confirm → apply → `check --json`.
|
||||
- Exit codes: `0` ok · `1` error · `2` broken imports (from `check`).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue