{"_id":"@atharvasingh7007/commitforge","_rev":"6-1670dac26e5067cbcefb56ef1e47ccaa","name":"@atharvasingh7007/commitforge","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@atharvasingh7007/commitforge","version":"1.0.0","keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"author":{"name":"Atharva"},"license":"ISC","_id":"@atharvasingh7007/commitforge@1.0.0","maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"bin":{"committer":"bin/committer.js"},"dist":{"shasum":"ae2ba7544007c5169dc362906756d2a990617ff4","tarball":"https://registry.npmjs.org/@atharvasingh7007/commitforge/-/commitforge-1.0.0.tgz","fileCount":41,"integrity":"sha512-WHVDSOnbEFjcyuBDFEUF470u8Y0yvG1qPoKGuplSABK4SRSss90PnGcqe/V/vymlKY6aNte9yUwyUrnBqahJSA==","signatures":[{"sig":"MEUCIQC86ZfiogtQdZu9+t9M1xftB8oq/07iCJTx6dxBK34cTwIgO6rdpFhhTBuq/nrey+UXw/54+nMvYkikWej+7lIh/U8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159274},"main":"bin/committer.js","type":"commonjs","scripts":{"test":"jest","start":"node bin/committer.js"},"_npmUser":{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^5.4.1","zod":"^4.4.3","chalk":"^4.1.2","fs-extra":"^11.3.5","inquirer":"^8.2.7","commander":"^14.0.3","fast-glob":"^3.3.3","simple-git":"^3.36.0","@babel/parser":"^7.29.3","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2"},"_npmOperationalInternal":{"tmp":"tmp/commitforge_1.0.0_1778649727867_0.22528907305893853","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@atharvasingh7007/commitforge","version":"1.0.1","keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"author":{"name":"Atharva"},"license":"ISC","_id":"@atharvasingh7007/commitforge@1.0.1","maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"bin":{"committer":"bin/committer.js"},"dist":{"shasum":"2df88a7e3fe640ca083cdb3bb8f34336a00b9c7c","tarball":"https://registry.npmjs.org/@atharvasingh7007/commitforge/-/commitforge-1.0.1.tgz","fileCount":41,"integrity":"sha512-EBGCc7nog02qIsfHUxAfvpIZjzpUT5w8R+iLwHjaPAJgREepHo0QDsgd1XUBkHjqr0XoQj5c7JvwOwn5kIidug==","signatures":[{"sig":"MEUCIGgA42lbVzUorkGv2jXsKb9AiLq/aui7l7tHQrKt6EY0AiEAhS7nwo/IgckMDvvigWw15gvfxcQiwi/VP/N0vdmTl2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159295},"main":"bin/committer.js","type":"commonjs","scripts":{"test":"jest","start":"node bin/committer.js"},"_npmUser":{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^5.4.1","zod":"^4.4.3","chalk":"^4.1.2","fs-extra":"^11.3.5","inquirer":"^8.2.7","commander":"^14.0.3","fast-glob":"^3.3.3","simple-git":"^3.36.0","@babel/parser":"^7.29.3","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2"},"_npmOperationalInternal":{"tmp":"tmp/commitforge_1.0.1_1778650151071_0.663056372344583","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@atharvasingh7007/commitforge","version":"1.0.2","keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"author":{"name":"Atharva"},"license":"ISC","_id":"@atharvasingh7007/commitforge@1.0.2","maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"bin":{"committer":"bin/committer.js"},"dist":{"shasum":"13502363abb5bcf6c98ea496708cb24b0c81f350","tarball":"https://registry.npmjs.org/@atharvasingh7007/commitforge/-/commitforge-1.0.2.tgz","fileCount":41,"integrity":"sha512-STcKkxdNGrDYN429KkfuHW8ovKU0XQy0VoA3qP4xuCN7qH08Co9i3C2z8od7UbzlDCL4ExXRMsJOHvMnR9ZJpQ==","signatures":[{"sig":"MEUCIQCOiJ/fA7ldxgXx2MP5KTnFiCvByC/pR6Bwx9GMvk1q7wIgKCIbrUzxDbGyNK5W3eEtJMSS86z5IYXUE99x8L2Z8LI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159344},"main":"bin/committer.js","type":"commonjs","scripts":{"test":"jest","start":"node bin/committer.js"},"_npmUser":{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^5.4.1","zod":"^4.4.3","chalk":"^4.1.2","fs-extra":"^11.3.5","inquirer":"^8.2.7","commander":"^14.0.3","fast-glob":"^3.3.3","simple-git":"^3.36.0","@babel/parser":"^7.29.3","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2"},"_npmOperationalInternal":{"tmp":"tmp/commitforge_1.0.2_1778650406371_0.7790829873075387","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@atharvasingh7007/commitforge","version":"1.0.3","keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"author":{"name":"Atharva"},"license":"ISC","_id":"@atharvasingh7007/commitforge@1.0.3","maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"bin":{"committer":"bin/committer.js"},"dist":{"shasum":"09ca268eef941fd79d818695b9619e29748973cc","tarball":"https://registry.npmjs.org/@atharvasingh7007/commitforge/-/commitforge-1.0.3.tgz","fileCount":41,"integrity":"sha512-St52Rr7O/EWyhxFze5CvtS9SkgxJSAXW2GgmvX001pvuDyHioSi7++QV9pH00WA3fWsU9lS/eXwOu3IvCgx2Zg==","signatures":[{"sig":"MEQCIBjE0fTx9BD+FpljtrIAnYzLW7TXsHuNJUrYUtUBvyjkAiBPgO9EfMXRxs88rf1icdNVDc1HHPX+oeIQGir3B+mhtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159121},"main":"bin/committer.js","type":"commonjs","scripts":{"test":"jest","start":"node bin/committer.js"},"_npmUser":{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^5.4.1","zod":"^4.4.3","chalk":"^4.1.2","fs-extra":"^11.3.5","inquirer":"^8.2.7","commander":"^14.0.3","fast-glob":"^3.3.3","simple-git":"^3.36.0","@babel/parser":"^7.29.3","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2"},"_npmOperationalInternal":{"tmp":"tmp/commitforge_1.0.3_1778650971106_0.6038411030930559","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@atharvasingh7007/commitforge","version":"1.0.4","keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"author":{"name":"Atharva"},"license":"ISC","_id":"@atharvasingh7007/commitforge@1.0.4","maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"bin":{"committer":"bin/committer.js"},"dist":{"shasum":"22fa658e9cf1f271ce0aee6a18a70ae16168a7a1","tarball":"https://registry.npmjs.org/@atharvasingh7007/commitforge/-/commitforge-1.0.4.tgz","fileCount":42,"integrity":"sha512-KFNHEEv9MbEeoT2mUObiZeR0fAtUu+jNagBtWYAKOHd1yu+EfUX/QWm6VI9vlToebJ/l6PFZ4A6A/Iqd/hZOCQ==","signatures":[{"sig":"MEYCIQD88Ya9n/BQPso9vjpZpIgpsSIMRYRblLacaBOieg6RcAIhAMLaiyaFLBg8JmOff4VxX5tMc2nQVsA4jQNAvVVSVE1R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174154},"main":"bin/committer.js","type":"commonjs","scripts":{"test":"jest","start":"node bin/committer.js"},"_npmUser":{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^5.4.1","zod":"^4.4.3","chalk":"^4.1.2","fs-extra":"^11.3.5","inquirer":"^8.2.7","commander":"^14.0.3","fast-glob":"^3.3.3","simple-git":"^3.36.0","@babel/parser":"^7.29.3","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2"},"_npmOperationalInternal":{"tmp":"tmp/commitforge_1.0.4_1778673312392_0.05662756105328115","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@atharvasingh7007/commitforge","version":"1.0.5","description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","main":"bin/committer.js","bin":{"committer":"bin/committer.js"},"scripts":{"start":"node bin/committer.js","test":"jest"},"keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"author":{"name":"Atharva"},"license":"ISC","type":"commonjs","dependencies":{"@babel/generator":"^7.29.1","@babel/parser":"^7.29.3","@babel/traverse":"^7.29.0","chalk":"^4.1.2","commander":"^14.0.3","fast-glob":"^3.3.3","fs-extra":"^11.3.5","inquirer":"^8.2.7","ora":"^5.4.1","simple-git":"^3.36.0","zod":"^4.4.3"},"devDependencies":{"jest":"^30.4.2"},"_id":"@atharvasingh7007/commitforge@1.0.5","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-K10eflDCRWPEdETwVqojeAsdoQlwTbJAHRyCkT932AuIq0JMlUty0yTqlc96sTe9Cd1F0LtH4SfMdnBNMzLTNQ==","shasum":"e1deb9935a9f29ceaf69282f89c3c908219a0740","tarball":"https://registry.npmjs.org/@atharvasingh7007/commitforge/-/commitforge-1.0.5.tgz","fileCount":42,"unpackedSize":176357,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFeevtAdeqcVZ60NoHbkvdliWOqVAj4WK64Ash2vdXGCAiEA/5rPFDxxd+HVLFTw3eL63IG+d15M+O9/Varp9YHiF6o="}]},"_npmUser":{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"},"directories":{},"maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/commitforge_1.0.5_1778835523997_0.6585436925281329"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-13T05:22:07.804Z","modified":"2026-05-15T08:58:44.277Z","1.0.0":"2026-05-13T05:22:08.015Z","1.0.1":"2026-05-13T05:29:11.248Z","1.0.2":"2026-05-13T05:33:26.512Z","1.0.3":"2026-05-13T05:42:51.251Z","1.0.4":"2026-05-13T11:55:12.587Z","1.0.5":"2026-05-15T08:58:44.160Z"},"author":{"name":"Atharva"},"license":"ISC","keywords":["cli","git","project-rebuilder","timeline","dependency-graph","typescript","ast","symbol","commit","automation"],"description":"Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling","maintainers":[{"name":"atharvasingh7007","email":"singhatharva7007@gmail.com"}],"readme":"# Committer\n\nCommitter is an advanced, local-first, CLI-based project timeline rebuilder. It takes an existing complete codebase and dynamically deconstructs it into a realistic, step-by-step development timeline. It natively supports Git commit scheduling and automated GitHub pushes to construct a realistic contribution graph over days or weeks.\n\n## 🌟 Key Features\n\n- **Architectural Slicing**: Rebuild your project file-by-file OR completely surgically via the new `--symbol-mode` (AST function/class level).\n- **Intelligent Dependency Graph**: Uses Kahn's algorithm and AST deep traversal to ensure that your project is runnable at every single intermediate step.\n- **Syntactic Stubbing**: In symbol mode, future functions and classes are injected as syntactically valid stubs using Babel, preventing compilation errors while only delivering partial logic.\n- **Micro-Commits & Transactions**: Automatically breaks daily steps into multiple micro-transactions, generating humanized, Conventional Commits (e.g., `feat: implement parseData`) for maximum realism.\n- **Fail-Safe Transactions**: Every step is applied atomically. If an external scheduler or process dies mid-apply, Committer auto-recovers and rolls back to keep your source pristine.\n- **Automated Git & Push**: Configure it once, and let it build your git history automatically.\n\n## 📦 Installation\n\n```bash\nnpm install -g @atharvasingh7007/commitforge\n```\n\n## 🚀 Quick Start\n\nInitialize a project to be rebuilt over 10 days:\n\n```bash\ncommitter init ./my-completed-project -o ./my-rebuild --days 10 --symbol-mode\n```\n\nNavigate to the output directory and preview your plan:\n\n```bash\ncd ./my-rebuild\ncommitter plan\n```\n\nApply the first step of the project:\n\n```bash\ncommitter next --commit --push\n```\n\n## 🛠 Command Reference\n\n| Command | Description |\n|---|---|\n| `init <source>` | Scans the source project, builds the dependency graph, and generates the timeline plan. |\n| `plan` | Displays the generated step-by-step reconstruction plan. Use `--repair` to fix broken plans. |\n| `next` | Applies the files/symbols for the next step to the output folder. Supports `--dry-run`, `--commit`, and `--push`. |\n| `status` | Shows the current progress (e.g., Step 3 of 10). |\n| `graph` | Exports the dependency graph. Use `--format html` for an interactive 2D visualization! |\n| `config` | Toggles internal settings like `gitEnabled` and `autoPush`. |\n| `schedule` | Setup local background scheduling. |\n\n## 🧩 Symbol Mode vs File Mode\n\nBy default, Committer operates in **File Mode**—it groups whole files into steps based on import graphs.\n\nIf you pass `--symbol-mode` during initialization, Committer switches to a granular AST engine. It reads the internal `CallExpressions` of your code, dynamically generating partial files where functions from future steps are replaced with empty stubs (e.g., `export function getUser() { /* added in step 5 */ }`). This creates a remarkably realistic, iterative coding timeline.\n\n## 🤝 Contributing\nContributions, issues, and feature requests are welcome!\n\n## 📄 License\nISC\n","readmeFilename":"README.md"}