Welcoming contributions from the community!
feluda/
├── src/
│ ├── main.rs # CLI entry point
│ ├── cli.rs # CLI argument handling
│ ├── parser.rs # Dependency parsing logic
│ ├── licenses.rs # License analysis
│ └── reporter.rs # Output formatting and reporting
├── Cargo.toml # Project metadata
├── LICENSE # Project license
└── README.md # Project documentation
- Fork the repository and clone it to your local machine:
git clone https://github.com/yourusername/feluda.git
cd feluda
- Install dependencies and tools:
cargo build
- Run locally
./target/debug/feluda --help
- Run tests to ensure everything is working:
cargo test
- Code Style: Follow Rust's standard coding conventions.
- Testing: Ensure your changes are covered by unit tests.
- Documentation: Update relevant documentation and comments.
- Create a new branch for your feature or bugfix:
git checkout -b feature/my-new-feature
- Commit your changes with a meaningful commit message:
git commit -m "Add support for XYZ feature"
- Push the branch to your fork:
git push origin feature/my-new-feature
- Open a pull request on GitHub.
If you encounter a bug or have a feature request, please open an issue in the repository.
This is only if you've release permissions. If not, contact the maintainers to get it.
- Install the gh CLI:
brew install gh # macOS
sudo apt install gh # Ubuntu/Debian
- Authenticate the gh CLI with GitHub:
gh auth login
- Install jq for JSON parsing:
brew install jq # macOS
sudo apt install jq # Ubuntu/Debian
We'll be using justfile for next steps, so setup just before proceeding...
just release
just test-release
Validate the crate before publishing
just package
just publish
Run all steps (build, test, package, and publish) in one command:
just release-publish
To clean up the build artifacts:
just clean
just login