1- Refaktor v1.0.0 - Product Requirements Document (PRD)
1+ Renamify v1.0.0 - Product Requirements Document (PRD)
22Owner: Nathan Broadbent
33Date: 2025-08-11
44Repo files referenced: INITIAL_PLANNING.md, CLAUDE.md, .taskmaster/templates/example_prd.txt
55
661) Summary
7- - Refaktor is a cross-case-aware refactoring tool that performs content replacement and filesystem renames in one atomic operation with full undo and redo.
7+ - Renamify is a cross-case-aware refactoring tool that performs content replacement and filesystem renames in one atomic operation with full undo and redo.
88- It ships as three deliverables that share one core: a Rust core library and CLI, a VS Code extension, and an MCP server wrapper that talks to the CLI.
99- Core technologies: ripgrep crates for fast search, git for safety and rollback, JSON for change plans and history.
1010- Project status: greenfield, unreleased. No backwards compatibility guarantees. Old code is deleted aggressively.
@@ -63,51 +63,51 @@ Non-goals for v1.0.0
6363 - Show counts by variant, by file, and grouped by content vs rename.
6464 - Provide unified diff output and a compact table view.
6565- History
66- - history.json in .refaktor / with plan metadata, affected files, and content hashes for verification.
66+ - history.json in .renamify / with plan metadata, affected files, and content hashes for verification.
6767
68685.2 CLI requirements
69- - Binary name: refaktor
69+ - Binary name: renamify
7070- Commands:
71- - refaktor plan <old> <new> [options]
71+ - renamify plan <old> <new> [options]
7272 - --include, --exclude, --respect-gitignore (default true)
7373 - --rename-files, --rename-dirs (both default true)
7474 - --styles=<comma list> to restrict styles
7575 - --preview table|diff|json (default table)
76- - --plan-out path (default .refaktor /plan.json)
77- - refaktor apply [--plan path or --id <history id>] [--atomic true] [--commit]
76+ - --plan-out path (default .renamify /plan.json)
77+ - renamify apply [--plan path or --id <history id>] [--atomic true] [--commit]
7878 - --commit optionally creates a git commit with a generated message
79- - refaktor undo <id>
80- - refaktor redo <id>
81- - refaktor status
82- - refaktor history [--limit N]
83- - refaktor dry-run alias for plan with preview only
79+ - renamify undo <id>
80+ - renamify redo <id>
81+ - renamify status
82+ - renamify history [--limit N]
83+ - renamify dry-run alias for plan with preview only
8484- Exit codes: 0 success, 1 conflicts, 2 invalid input, 3 internal error.
8585- Performance target: scan 100k files and generate plan within seconds on an SSD-backed repo, comparable to ripgrep speed.
8686
87875.3 VS Code extension requirements
8888- Commands:
89- - Refaktor : Plan Rename
90- - Refaktor : Preview Plan
91- - Refaktor : Apply Plan
92- - Refaktor : Undo Last Refaktor
89+ - Renamify : Plan Rename
90+ - Renamify : Preview Plan
91+ - Renamify : Apply Plan
92+ - Renamify : Undo Last Renamify
9393- UI:
9494 - QuickPick to select old and new names, style filters, include and exclude globs.
9595 - Diff-style preview webview with files, hunks, and rename badges.
9696 - Non-blocking progress with cancel that kills the CLI process.
9797- Implementation:
98- - TypeScript extension that shells out to the refaktor CLI with a JSON protocol over stdio.
98+ - TypeScript extension that shells out to the renamify CLI with a JSON protocol over stdio.
9999 - Bundled platform binaries or download-on-demand. Configurable path.
100100
1011015.4 MCP server requirements
102102- Node TypeScript service that wraps the CLI and exposes tools:
103103 - plan, apply, undo, history, preview
104- - Installed via npx and expects refaktor CLI to be installed on PATH.
104+ - Installed via npx and expects renamify CLI to be installed on PATH.
105105- Returns structured JSON results for Cursor or other MCP clients.
106106
1071075.5 Data formats
108- - .refaktor /plan.json
108+ - .renamify /plan.json
109109 - { id, created_at, old, new, styles[], includes[], excludes[], matches[], renames[], stats, version }
110- - .refaktor /history.json
110+ - .renamify /history.json
111111 - Append-only list of applied plans with checksums and revert info.
112112
1131135.6 Quality and testing
@@ -130,13 +130,13 @@ Non-goals for v1.0.0
1301306) UX flows
131131
132132Flow A - React component rename
133- - User runs: refaktor plan UserCard AccountCard --include "src/**"
133+ - User runs: renamify plan UserCard AccountCard --include "src/**"
134134- Preview shows content changes in .tsx and .css, plus file and directory renames.
135- - User runs: refaktor apply --commit
135+ - User runs: renamify apply --commit
136136- In VS Code, the extension shows a success toast and the git commit appears.
137137
138138Flow B - Ruby model rename
139- - User runs: refaktor plan UserProfile CustomerAccount --include "app/**" --include "db/**"
139+ - User runs: renamify plan UserProfile CustomerAccount --include "app/**" --include "db/**"
140140- The plan updates PascalCase classes, snake_case file paths, and related specs.
141141
1421427) Engineering notes
@@ -182,7 +182,7 @@ Flow B - Ruby model rename
18218213) Task list for Task Master
183183
184184T-001 Bootstrap Rust workspace
185- - Create refaktor -cli and refaktor -core crates.
185+ - Create renamify -cli and renamify -core crates.
186186- Set up cargo workspace, linting, formatting, and baseline CI.
187187
188188Acceptance criteria:
@@ -256,7 +256,7 @@ T-011 Packaging
256256- Homebrew formula and curl installer. Windows scoop where feasible.
257257
258258Acceptance criteria:
259- - Fresh machine can install and run refaktor .
259+ - Fresh machine can install and run renamify .
260260
261261T-012 Docs
262262- README, CONTRIBUTING, CHANGELOG, example scenarios, and the CLAUDE.md note.
@@ -267,16 +267,16 @@ Acceptance criteria:
267267Appendix A - CLI examples
268268
2692691) Basic plan and apply
270- refaktor plan UserCard AccountCard --include "src/**" --preview table
271- refaktor apply --commit
270+ renamify plan UserCard AccountCard --include "src/**" --preview table
271+ renamify apply --commit
272272
2732732) Restrict styles and dry run
274- refaktor plan UserProfile CustomerAccount --styles=camel,Pascal,snake --dry-run
274+ renamify plan UserProfile CustomerAccount --styles=camel,Pascal,snake --dry-run
275275
2762763) Rename files and dirs only
277- refaktor plan User User --rename-files --rename-dirs --styles=snake,kebab --include "assets/**"
277+ renamify plan User User --rename-files --rename-dirs --styles=snake,kebab --include "assets/**"
278278
2792794) Undo
280- refaktor undo <id>
280+ renamify undo <id>
281281
282282End of PRD
0 commit comments