{"_id":"02_git","_rev":"3-8e18489364083f21cb26cc426f55c40a","name":"02_git","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"02_git","version":"0.1.0","keywords":["git","typescript","version-control","vcs","cli"],"author":{"name":"Vedant Nagwanshi"},"license":"MIT","_id":"02_git@0.1.0","maintainers":[{"name":"02-davinci-01","email":"02davinci01@gmail.com"}],"homepage":"https://github.com/vedant-nagwanshi/ts-git#readme","bugs":{"url":"https://github.com/vedant-nagwanshi/ts-git/issues"},"bin":{"ts-git":"dist/cli.js"},"dist":{"shasum":"de32b13fc6ac96517e3fd1e84ad3b0fe2c8271d7","tarball":"https://registry.npmjs.org/02_git/-/02_git-0.1.0.tgz","fileCount":31,"integrity":"sha512-hqvX9XT1KcSIlPknGfbFjOPEXLlCCtyducYDsZZtG4sfkWmGfFAqLpJ4l6PEHAh3Qm02NbCQeIiHjkVn0HiQIQ==","signatures":[{"sig":"MEYCIQDHDoaywXMXhUzuS80QnPgig2Jyg0hfCkxeZ+W02r1UzQIhANF9kbQe2vrnrXwGQMFR5E96NliAhBuvGnOU4ncXtjaf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61524},"main":"./dist/ts_git.js","types":"./dist/ts_git.d.ts","engines":{"node":">=18"},"gitHead":"d8c6357350f2de3adb542178ed94391faab77fdc","scripts":{"test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"02-davinci-01","email":"02davinci01@gmail.com"},"repository":{"url":"git+https://github.com/vedant-nagwanshi/ts-git.git","type":"git"},"_npmVersion":"11.12.1","description":"A Git implementation in TypeScript — supports init, add, commit, log, status, branching, checkout, and three-way merge","directories":{},"_nodeVersion":"25.9.0","dependencies":{"picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/02_git_0.1.0_1778556723869_0.34297090522920537","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"02_git","version":"0.2.0","keywords":["git","typescript","version-control","vcs","cli"],"author":{"name":"Vedant Nagwanshi"},"license":"MIT","_id":"02_git@0.2.0","maintainers":[{"name":"02-davinci-01","email":"02davinci01@gmail.com"}],"homepage":"https://github.com/vedant-nagwanshi/ts-git#readme","bugs":{"url":"https://github.com/vedant-nagwanshi/ts-git/issues"},"bin":{"ts-git":"dist/cli.js"},"dist":{"shasum":"93d2d6b1b960569789cb4ff74b320f508b506f92","tarball":"https://registry.npmjs.org/02_git/-/02_git-0.2.0.tgz","fileCount":31,"integrity":"sha512-7x9dG6Io5myc1q5IJ1yIya0xwKltH/NgS96ByQgbFoXUPFcmOMCksj+72wOVnOwaLDLZ9E5PAiB6FtOR8rMQ4A==","signatures":[{"sig":"MEUCIDsc1aNo7+MgJG2DepPdyzmGeRkrr0rwg/bxqBXbL0gsAiEApgG4Td/hdSQiWCz6hZ74g7/Cl0BhBS7hDxqg4R1W4bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62962},"main":"./dist/ts_git.js","types":"./dist/ts_git.d.ts","engines":{"node":">=18"},"gitHead":"cc29bd116487c7ab6fe8bb31295e270f8f2119b8","scripts":{"test":"vitest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"02-davinci-01","email":"02davinci01@gmail.com"},"repository":{"url":"git+https://github.com/vedant-nagwanshi/ts-git.git","type":"git"},"_npmVersion":"11.12.1","description":"A Git implementation in TypeScript — supports init, add, commit, log, status, branching, checkout, and three-way merge","directories":{},"_nodeVersion":"25.9.0","dependencies":{"picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/02_git_0.2.0_1778558999755_0.4369990299482496","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"02_git","version":"0.3.0","description":"A Git implementation in TypeScript — supports init, add, commit, log, status, branching, checkout, and three-way merge","main":"./dist/ts_git.js","types":"./dist/ts_git.d.ts","bin":{"ts-git":"dist/cli.js"},"scripts":{"build":"tsc","test":"vitest","prepublishOnly":"npm run build"},"keywords":["git","typescript","version-control","vcs","cli"],"author":{"name":"Vedant Nagwanshi"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/vedant-nagwanshi/ts-git.git"},"engines":{"node":">=18"},"devDependencies":{"@types/node":"^25.6.0","typescript":"^6.0.3","vitest":"^4.1.4"},"dependencies":{"picocolors":"^1.1.1"},"gitHead":"abbd674812c60a8d767c232d90aa354e49021a61","_id":"02_git@0.3.0","bugs":{"url":"https://github.com/vedant-nagwanshi/ts-git/issues"},"homepage":"https://github.com/vedant-nagwanshi/ts-git#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-9H2qB30VCkB1RCHgMcHLLme//WyrWb6ihpJygN77gtd9iRhgvqaL3PUWHLuDjiatoOfYI7BYjG3b21kb9KC+FQ==","shasum":"dd66acda59bb7d20e81096ba99e634eefe54c248","tarball":"https://registry.npmjs.org/02_git/-/02_git-0.3.0.tgz","fileCount":31,"unpackedSize":62962,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHqQT0rR+pEUH07Lx+sQ6h7on7fraZJLllLHB/N0CzalAiEAgtpPi9z0gBEWibFAm8IFu0TLmESM4hmNOsOfbVKmbB8="}]},"_npmUser":{"name":"02-davinci-01","email":"02davinci01@gmail.com"},"directories":{},"maintainers":[{"name":"02-davinci-01","email":"02davinci01@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/02_git_0.3.0_1778559034456_0.13095172799364918"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T03:32:03.794Z","modified":"2026-05-12T04:10:34.710Z","0.1.0":"2026-05-12T03:32:04.021Z","0.2.0":"2026-05-12T04:09:59.969Z","0.3.0":"2026-05-12T04:10:34.602Z"},"bugs":{"url":"https://github.com/vedant-nagwanshi/ts-git/issues"},"author":{"name":"Vedant Nagwanshi"},"license":"MIT","homepage":"https://github.com/vedant-nagwanshi/ts-git#readme","keywords":["git","typescript","version-control","vcs","cli"],"repository":{"type":"git","url":"git+https://github.com/vedant-nagwanshi/ts-git.git"},"description":"A Git implementation in TypeScript — supports init, add, commit, log, status, branching, checkout, and three-way merge","maintainers":[{"name":"02-davinci-01","email":"02davinci01@gmail.com"}],"readme":"# 02_git\n\nA Git implementation written in TypeScript from scratch. Supports core Git operations including init, add, commit, log, status, branching, checkout, and three-way merge with conflict detection.\n\n## Install\n\n```bash\nnpm install -g 02_git\n```\n\n## Usage\n\nThere are two ways to use 02_git:\n\n### With global install\n\nIf you installed globally with `npm install -g 02_git`, you get the `ts-git` command:\n\n```bash\nts-git init\nts-git add .\nts-git commit -m \"initial commit\"\nts-git log\n```\n\n### With npx (no install needed)\n\nAll commands also work via npx — just prefix with `npx 02_git`:\n\n```bash\nnpx 02_git init\nnpx 02_git add .\nnpx 02_git commit -m \"initial commit\"\nnpx 02_git log\n```\n\n## Commands\n\n```\nts-git init                        Initialize a new repository\nts-git add <path>                  Stage a file (use . to stage all)\nts-git commit -m \"message\"         Commit staged changes\nts-git log                         Show commit history\nts-git status                      Show working tree status\nts-git branch <name>               Create a new branch\nts-git checkout <name>             Switch to a branch\nts-git curr-branch                 Show the current branch\nts-git merge <branch> -m \"msg\"     Merge a branch into current\nts-git c-merge <branch>            Check for merge conflicts without merging\nts-git help                        Show help message\n```\n\n## How it works\n\n02_git stores data in a `.tsgit` directory with the same conceptual structure as Git:\n\n- **Objects** — content-addressed blobs, trees, and commits stored by SHA-1 hash\n- **Refs** — branch pointers stored as files under `refs/heads/`\n- **HEAD** — symbolic ref pointing to the current branch\n- **Index** — staging area mapping file paths to blob hashes\n\nMerges use a three-way merge algorithm that finds the common ancestor and detects conflicts when both branches modify the same file differently.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}