How to Contribute
Contributions are welcome. This project values specificity — if you open a PR, make it concrete.
Development setup
bash
git clone https://github.com/ryanda9910/crucible.git
cd crucible
pnpm installTest the CLI locally:
bash
pnpm dev # runs tsx src/index.tsTest scaffolding directly:
bash
pnpm tsx src/index.ts /tmp/test-projectCommit format
This project uses Conventional Commits.
feat(cli): add vue framework option
fix(generator): handle empty target directory
docs(readme): update quick start example
chore(deps): bump vitepress to 1.6.0Allowed types: feat, fix, docs, style, refactor, perf, test, chore, ci, revert
Commitlint enforces this on every commit via Husky.
What to contribute
High value:
- New framework template — see Adding a Framework
- New UI library — see Adding a UI Library
- Bug fix with a reproduction case
- GUARDRAILS entry — a failure pattern you found and documented
Lower priority:
- Refactoring without behavior change
- New features without a clear use case
PR process
- Fork the repo
- Create a branch:
git checkout -b feat/your-feature - Make changes + commit with conventional format
- Open a PR against
main - Fill in the PR template
PRs that add a framework must include:
- Template files in
templates/frameworks/{name}/ - Framework entry in
src/index.ts - Documentation update in
docs/guide/frameworks.md
PRs that add a UI library must include:
templates/ui-libs/{name}/_config.json- Overlay files where needed (providers, config)
- Documentation update in
docs/guide/ui-libraries.md
Reporting bugs
Include:
- CLI version:
npx create-crucible --version - Framework + UI lib selected
- Node.js version
- Steps to reproduce