We love your input! We want to make contributing to Nile CLI as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
main- Production branch, contains the latest stable releasealpha- Pre-release branch, contains features ready for testing- Feature branches - Created from
alphafor individual features/fixes
-
Start Development
- Create a new branch from
alphafor your feature
git checkout alpha git pull origin alpha git checkout -b feature/your-feature-name
- Create a new branch from
-
Make Changes
- Write your code
- Add tests if applicable
- Ensure tests pass:
npm test - Ensure linting passes:
npm run lint
-
Commit Changes
- Follow Conventional Commits specification
feat: add new feature fix: resolve specific issue docs: update documentation
-
Create Pull Request
- Push your branch to GitHub
- Create a Pull Request to the
alphabranch - Fill out the PR template
- Request review from maintainers
-
Release Process
- Merges to
alphatrigger automatic pre-releases - Pre-releases are published to npm with the
alphatag - When ready for production,
alphais merged tomain - After main release,
alphaversion is automatically incremented
- Merges to
# Clone the repository
git clone https://github.com/niledatabase/cli.git
cd cli
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test- Update the README.md with details of changes if needed
- Update the package.json version if needed
- The PR must be approved by at least one maintainer
- PR title must follow conventional commits specification
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.
Report bugs using GitHub's issue tracker
We use GitHub issues to track public bugs. Report a bug by opening a new issue.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
- Use TypeScript for all new code
- 2 spaces for indentation
- Run
npm run lintto ensure style compliance
By contributing, you agree that your contributions will be licensed under its MIT License.