Thank you for your interest in contributing! This document provides guidelines for contributing to this open-source project.
- Code of Conduct
- Getting Started
- Development Workflow
- Commit Guidelines
- Pull Request Process
- Testing
- Documentation
Please read and follow our Code of Conduct.
- macOS/Linux: Bash 3.2+, Git
- Windows: PowerShell 5.1+, Git
- One or more AI coding assistants:
- Augment Code
- Claude Code
- GitHub Copilot (VS Code)
- Windsurf IDE
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/dotfiles.git cd dotfiles - Add upstream remote:
git remote add upstream https://github.com/talent-factory/dotfiles.git
# macOS/Linux
./install.sh --dry-run # Preview changes
./install.sh # Install
# Windows
.\install.ps1 -DryRun # Preview changes
.\install.ps1 # InstallImportant: All external contributors must use feature branches and submit Pull Requests.
-
Create a feature branch from
develop:git checkout develop git pull upstream develop git checkout -b feature/your-feature-name
-
Branch naming conventions:
feature/- New features (e.g.,feature/zsh-agent-support)fix/- Bug fixes (e.g.,fix/windows-symlink-fallback)docs/- Documentation only (e.g.,docs/improve-installation-guide)refactor/- Code refactoring (e.g.,refactor/modularize-installer)test/- Test additions/changes (e.g.,test/add-powershell-tests)
-
Make your changes following our coding standards
-
Test thoroughly on all supported platforms (if possible)
-
Commit using our commit message format (see below)
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request to the
developbranch
The project maintainer may work directly on the develop branch but should still create PRs for significant changes to maintain code review quality.
Keep your fork up-to-date:
git checkout develop
git fetch upstream
git merge upstream/develop
git push origin developWe use Emoji Conventional Commits for clear, semantic git history.
<emoji> <type>: <subject>
[optional body]
[optional footer]
| Emoji | Type | Description | Example |
|---|---|---|---|
| ✨ | feat |
New feature | ✨ feat: Add Zsh agent support |
| 🐛 | fix |
Bug fix | 🐛 fix: Correct Windows path detection |
| 📚 | docs |
Documentation | 📚 docs: Update installation guide |
| ♻️ | refactor |
Code refactoring | ♻️ refactor: Simplify installer logic |
| 🧪 | test |
Tests | 🧪 test: Add PowerShell installer tests |
| 🔧 | chore |
Build/tools | 🔧 chore: Update dependencies |
| 💎 | style |
Code formatting | 💎 style: Fix indentation |
| ⚡ | perf |
Performance | ⚡ perf: Optimize backup function |
Complete reference: See agents/claude/commands/develop/commit/commit-types.md
- Use imperative mood: "Add feature" not "Added feature"
- Capitalize first letter after emoji
- No period at the end of subject line
- Subject ≤ 72 characters
- Separate subject from body with blank line
- Wrap body at 72 characters
Good ✅:
✨ feat: Add interactive agent selection
Implements multi-select prompt allowing users to choose which
AI agents to install. Supports Augment, Claude, Copilot, and
Windsurf with visual feedback.
Closes #42
Bad ❌:
Updated stuff
- Update documentation if you changed APIs or added features
- Test on all platforms (macOS, Linux, Windows if possible)
- Run validation checks:
# Bash installer ./install.sh --dry-run # PowerShell installer .\install.ps1 -DryRun
- Ensure commit messages follow guidelines
- Rebase on latest develop:
git fetch upstream git rebase upstream/develop
Use this template for your Pull Request:
## Description
[Clear description of what this PR does]
## Motivation
[Why is this change needed? What problem does it solve?]
## Changes
- Change 1
- Change 2
## Testing
- [ ] Tested on macOS
- [ ] Tested on Linux
- [ ] Tested on Windows
- [ ] Tested with Augment Code
- [ ] Tested with Claude Code
- [ ] Tested with GitHub Copilot
- [ ] Tested with Windsurf
## Screenshots (if applicable)
[Add screenshots for UI/output changes]
## Breaking Changes
[List any breaking changes or "None"]
## Related Issues
Closes #[issue number]- Automated checks must pass (if configured)
- Maintainer review required
- Changes requested: Address feedback and push updates
- Approval: PR will be merged to
develop - Release: Changes included in next release
- One PR per feature/fix: Don't mix unrelated changes
- Small PRs preferred: 150-400 lines ideal, max 800 lines
- Respond to feedback within 7 days
- Keep PR updated with latest
develop
Installer Testing:
- Dry-run mode works
- Interactive mode shows all prompts
- Agent selection works (single/multiple)
- Home installation works
- Workspace installation works
- Both installation works
- Symlink method works
- Copy method works
- Backup creation works
- Error handling works
Platform-Specific:
- macOS: Test with standard Terminal and iTerm2
- Linux: Test with Bash 3.2+ and Bash 4.0+
- Windows: Test with PowerShell 5.1 and PowerShell 7+
Agent-Specific:
- Claude Code: Commands and agents appear in IDE
- Augment Code: Commands available in
.augment/commands/ - GitHub Copilot: Prompts work in VS Code (
chat.promptFiles: true) - Windsurf: Workflows appear in global workflows
- Markdown is valid (no broken links)
- Code examples are correct
- Installation steps work as written
- Screenshots are up-to-date
Required for new features:
- Update
README.mdwith user-facing information - Update
INSTALLATION.mdif installation changed - Add inline comments for complex logic
- Create/update agent READMEs if adding agents
Optional but recommended:
- Add examples to relevant docs
- Update
CLAUDE.mdfor developer-specific changes - Add troubleshooting entries if applicable
- User-facing docs (README.md): Clear, concise, example-driven
- Developer docs (CLAUDE.md): Technical, detailed, architecture-focused
- Avoid redundancy: Reference other docs instead of duplicating
- Use code blocks: Always specify language (
bash,powershell) - Add tables: For comparison or structured data
- Include examples: Both good ✅ and bad ❌ where helpful
docs/ # General documentation
agents/<agent>/README.md # Agent-specific docs
install/AI_AGENTS_REFERENCE.md # Technical reference
INSTALLATION.md # Installation guide
WINDOWS_INSTALLATION.md # Windows-specific guide
CONTRIBUTING.md # This file
CODE_OF_CONDUCT.md # Code of conduct
SECURITY.md # Security policy
- Issues: Open an issue for bugs or feature requests
- Discussions: Use GitHub Discussions for questions
- Security: See SECURITY.md for responsible disclosure
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to AI Agent Dotfiles! 🎉