Contributing
Contributions are welcome! Here’s how to get started.
Table of contents
Getting Started
git clone https://github.com/Atypical-Consulting/Ninjadog.git
cd ninjadog
dotnet build
dotnet test
All tests should pass before you start making changes. If they don’t, open an issue.
Development Workflow
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Run the tests:
dotnet test - Commit using conventional commits (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Where to Look
| Area | Path |
|---|---|
| Generator templates | src/templates/Ninjadog.Templates.CrudWebApi/ |
| Snapshot tests | src/tests/Ninjadog.Tests/Templates/ |
| CLI commands | src/tools/Ninjadog.CLI/ |
| Generator docs | doc/generators/ |
| This documentation | docs/ |
Testing
Ninjadog uses snapshot testing – each generator has a corresponding expected output file. When you modify a generator:
- Run
dotnet testto see if snapshots still match - If your change is intentional, update the snapshot files in
src/tests/Ninjadog.Tests/Templates/ - Run tests again to confirm they pass
Useful Links
- Getting Started – Install and run Ninjadog for the first time
- Configuration Reference – Understand the ninjadog.json format
- Generators – Overview of all code generators
- Generated Examples – See what the generators produce
License
This project is licensed under the Apache License 2.0 – see the LICENSE file for details.