FoGit (Feature-Oriented Git) - A Git-native feature tracking system.
FoGit tracks features, requirements, and design elements as first-class entities alongside your code. While Git tracks files and lines, FoGit tracks features and relationships.
# Using Go (recommended - easiest updates)
go install github.com/eg3r/fogit@latest
# Update to latest version
fogit self-updateDownload the MSI from releases.
Interactive install: Double-click the MSI and choose per-user or per-machine.
Silent install (command line):
# Per-user install (no admin required, recommended)
msiexec /i fogit_windows_amd64_setup.msi /quiet
# Per-machine install (requires admin)
msiexec /i fogit_windows_amd64_setup.msi /quiet ALLUSERS=1
# Silent uninstall
msiexec /x fogit_windows_amd64_setup.msi /quiet# Initialize FoGit in your repository
fogit init
# Create a feature
fogit feature "User Authentication" -d "A login and signup feature"
# List features
fogit list
# Show feature details
fogit show "User Authentication"
# Link features
fogit link "User Authentication" "Database Schema" depends-on
# Search features
fogit search auth
# Commit with feature tracking
fogit commit -m "Add login form"
# Finish feature
fogit finish
# or
fogit merge - Git-Native: Stores data in
.fogit/directory, versioned by Git - Human-Readable: YAML files with clear diffs in pull requests
- Relationship-Aware: Track dependencies, compositions, references, conflicts
- Flexible: User-defined features (code, design, requirements, specs)
- Portable: Works with any Git hosting (GitHub, GitLab, Bitbucket)
See the spec/ directory for complete documentation:
- Specification - Complete technical specification
- Guides - Implementation and usage guides
- Reference - CLI commands, file formats, glossary
- Examples - Use cases and workflows
git clone https://github.com/eg3r/fogit.git
cd fogit
git submodule update --init --recursive
go build -o fogit .
go test ./...
golangci-lint runSee CONTRIBUTING.md for detailed guidelines.