Thank you for your interest in contributing to Haft.
# Fork and clone
git clone https://github.com/YOUR_USERNAME/haft.git
cd haft
# Add upstream
git remote add upstream https://github.com/KashifKhn/haft.git
# Install and build
go mod download
make build
# Run tests
make testmake build # Build binary
make test # Run tests
make test-cover # Run tests with coverage
make lint # Run linter
make fmt # Format codeRead AGENTS.md for complete guidelines. Key points:
- No comments — Code should be self-documenting
- DRY — Don't repeat yourself
- Max 50 lines per function
- Max 300 lines per file
- Return errors with context — Never panic
- Create a branch from
dev - Make your changes
- Run
make testandmake lint - Submit PR against
dev
type: description
feat: add dependency search
fix: handle empty pom.xml
docs: update installation guide
refactor: simplify parser logic
test: add generator tests
haft/
├── cmd/haft/ # Entry point
├── internal/
│ ├── cli/ # Commands (init, generate, add)
│ ├── config/ # Configuration
│ ├── generator/ # Template engine
│ ├── maven/ # pom.xml parser
│ └── tui/ # Terminal UI components
├── docs/ # Documentation site
└── assets/ # Logos and images