{"_id":"@bbs-company/changegen","name":"@bbs-company/changegen","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bbs-company/changegen","version":"1.0.0","description":"Generate clean, categorized changelogs from git commit history","keywords":["changelog","git","conventional-commits","cli"],"license":"MIT","author":{"name":"Paperclip"},"main":"./dist/index.js","bin":{"changegen":"dist/index.js"},"scripts":{"build":"tsc","prepare":"tsc","prepublishOnly":"npm run build && npm test","test":"node --test dist/test/categorize.test.js dist/test/format.test.js dist/test/git.test.js dist/test/server.test.js","test:src":"tsc && npm test","dev":"ts-node src/index.ts"},"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"repository":{"type":"git","url":"git+https://github.com/bbs-company/changegen.git"},"homepage":"https://github.com/bbs-company/changegen#readme","bugs":{"url":"https://github.com/bbs-company/changegen/issues"},"engines":{"node":">=18.0.0"},"_id":"@bbs-company/changegen@1.0.0","gitHead":"1b2b11402488740bc26098af440f2aaa93b4dc4b","types":"./dist/index.d.ts","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-SC/f88inqwDM7b+vOOOFpOLh6Kj6m/nn2Q/QaJQBCLoHXmDnobKn/ZB1rA2UnJGLOu3s6rApBakLLeTr1SrUcQ==","shasum":"07f2540aa4863725cfa27e6fc866c88dc17abf10","tarball":"https://registry.npmjs.org/@bbs-company/changegen/-/changegen-1.0.0.tgz","fileCount":13,"unpackedSize":26065,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCEAySMvK8O0h72sA6keyPQ6mZm8uYrHN5zEdV2oO0QNwIhAL+T4YZQJq60y/TZ8+FLxveoe9ejh8XajLORrr0cq4Ae"}]},"_npmUser":{"name":"bbs-company","email":"bbs@creativengine.ai"},"directories":{},"maintainers":[{"name":"bbs-company","email":"bbs@creativengine.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/changegen_1.0.0_1775196573044_0.9036209490812137"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-03T06:09:32.945Z","1.0.0":"2026-04-03T06:09:33.183Z","modified":"2026-04-03T06:09:33.389Z"},"maintainers":[{"name":"bbs-company","email":"bbs@creativengine.ai"}],"description":"Generate clean, categorized changelogs from git commit history","homepage":"https://github.com/bbs-company/changegen#readme","keywords":["changelog","git","conventional-commits","cli"],"repository":{"type":"git","url":"git+https://github.com/bbs-company/changegen.git"},"author":{"name":"Paperclip"},"bugs":{"url":"https://github.com/bbs-company/changegen/issues"},"license":"MIT","readme":"# changegen\n\nGenerate clean, categorized changelogs from git commit history using [Conventional Commits](https://www.conventionalcommits.org/).\n\n## Quick Start\n\n```bash\nnpx changegen\n```\n\nReads your git history since the latest tag, prints a colorized summary to the terminal, and writes `CHANGELOG.md`.\n\n## Installation\n\n```bash\nnpm install -g changegen\n# or use without installing:\nnpx changegen\n```\n\n## Usage\n\n```\nchangegen [options] [path]\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--since <ref>` | Start from a tag, commit hash, or date | latest tag |\n| `--until <ref>` | End at a tag, commit hash, or date | HEAD |\n| `--version <ver>` | Version label in the changelog header | `Unreleased` |\n| `--output <mode>` | `markdown`, `terminal`, or `both` | `both` |\n| `--out <file>` | Write markdown to this file | `CHANGELOG.md` |\n| `--no-file` | Print only; do not write to a file | — |\n| `--list-tags` | Show available tags and exit | — |\n| `--help, -h` | Show help | — |\n\n### Examples\n\n```bash\n# Generate since latest tag (default behavior)\nnpx changegen\n\n# Generate since a specific tag\nnpx changegen --since v1.2.0\n\n# Label this as v1.3.0\nnpx changegen --since v1.2.0 --version 1.3.0\n\n# Terminal output only (no file write)\nnpx changegen --output terminal\n\n# Write markdown to stdout (pipe-friendly)\nnpx changegen --output markdown --no-file > CHANGELOG.md\n\n# Generate for a specific date range\nnpx changegen --since \"2024-01-01\" --until \"2024-06-30\"\n\n# Run against a different repository\nnpx changegen /path/to/another/repo\n\n# List available tags\nnpx changegen --list-tags\n```\n\n## Commit Format\n\n`changegen` recognizes [Conventional Commits](https://www.conventionalcommits.org/):\n\n```\n<type>(<scope>): <description>\n\n[optional body]\n[optional footer(s)]\n```\n\n### Supported types\n\n| Type | Section |\n|------|---------|\n| `feat` | Features |\n| `fix` | Bug Fixes |\n| `perf` | Performance Improvements |\n| `refactor` | Refactoring |\n| `docs` | Documentation |\n| `test` | Tests |\n| `build` | Build System |\n| `ci` | CI/CD |\n| `style` | Code Style |\n| `chore` | Chores |\n| `revert` | Reverts |\n| anything else | Other Changes |\n\n### Breaking changes\n\nMark breaking changes with `!` after the type/scope, or include `BREAKING CHANGE:` in the commit footer:\n\n```\nfeat!: redesign authentication API\nfeat(api)!: remove deprecated v1 endpoints\n\nfeat: new login flow\n\nBREAKING CHANGE: session tokens are no longer compatible with v1 clients\n```\n\n## Non-conventional repos\n\nIf your repo doesn't use conventional commits, `changegen` still works — all commits will appear under **Other Changes**. No errors, no drama.\n\n## Example output\n\n```\nChangelog — 1.3.0  2024-06-15\n──────────────────────────────────────────────────\n\n⚠️  Breaking Changes\n  • redesign authentication API  bb7ef54  [BREAKING]\n\nFeatures\n  • add dark mode toggle  a1b2c3d\n  • add export to PDF  e4f5g6h\n\nBug Fixes\n  • auth: resolve token refresh race condition  i7j8k9l\n  • fix crash on empty repository  m0n1o2p\n\nDocumentation\n  • update API reference  q3r4s5t\n\n  7 commits · 2 features · 2 fixes · 1 breaking\n```\n\n## Requirements\n\n- Node.js >= 18\n- Git available in PATH\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-96f008bcc8b82be7aa307cf4a7791666"}