Contributions are welcome! Whether you’re fixing a bug, suggesting a feature, or improving documentation, your help is much appreciated.
The goal behind creating this framework was to provide an additional layer of modularization, performance, security, and usability to help developers worldwide write small or large Node.js CLI tools effortlessly.
- Fork the repository: https://github.com/supitsdu/climonad.js
- Clone your fork locally:
git clone <your-fork-url>
- Create a new branch:
git checkout -b feat/my-feature
- Make changes, commit, and push:
git add . git commit -m "feat: add a cool feature" git push origin feat/my-feature
- Open a pull request: Compare your branch against
main
in the original repository and submit your PR.
Adhere to the existing code style to ensure consistency across the project.
- Lint your code:
npm run lint
- Fix linting issues:
npm run lint:fix
- Format Markdown files:
npm run format
If you're adding a feature or fixing a bug, please add tests using Vitest. Ensure all tests pass before submitting your PR:
- Run tests:
npm run test
- Watch tests:
npm run test:watch
- Check test coverage:
npm run test:coverage
Ensure the project builds successfully before submitting your PR:
- Build the project:
npm run build
- Clean build artifacts:
npm run clean
For performance improvements, run benchmarks using Deno's bench tool:
- Run benchmarks:
npm run bench
src/
Command.ts # Command definition logic
Flag.ts # Flag definition logic
main.ts # Exposes public API
Scope.ts # Scope management logic
Setup.ts # CLI setup management logic
types.ts # Type definitions
test/
bench.ts # Benchmark tests
Command.test.ts # Tests for Command definition
Flag.test.ts # Tests for Flag definition
Scope.test.ts # Tests for Scope management
Setup.test.ts # Tests for CLI setup
types.test.ts # Tests for type definitions
Assist us in managing issues by:
- Reproducing reported bugs
- Clarifying issue descriptions
- Tagging issues with appropriate labels
We encourage you to open PRs, especially for issues tagged with the help-needed
label.
Engage with other developers by participating in discussions on the issue tracker and GitHub discussions. Your expertise helps improve the framework for everyone.
- Deno Docs
- Node.js Documentation
- Vitest Documentation
- Rollup Documentation
- Eslint Documentation
- Prettier Documentation
- Conventional Commits
Thank you for contributing to Climonad.js! Your support is invaluable to the growth and success of this project.