Contributing to Devo CLI¶
Thank you for your interest in contributing! This guide will help you get started.
Quick Start¶
git clone <repository-url>
cd devo-cli
make venv
source venv/bin/activate # or venv\Scripts\activate on Windows
make install
Verify Setup¶
devo --help # Should show CLI commands
devo <TAB> # Tab completion should work
make test # Run tests
Daily Development Workflow¶
# 1. Activate venv (if not active)
source venv/bin/activate
# 2. Make your changes
# ... edit files ...
# 3. Refresh and test
make refresh
devo <command>
# 4. Run tests
make test
make lint
Making Changes¶
1. Create Feature Branch¶
Branch naming:
feature/<ticket>-description- New featuresfix/<ticket>-description- Bug fixeschore/<ticket>-description- Maintenance
2. Make Changes¶
Edit files in:
cli_tool/commands/- CLI commandscli_tool/core/agents/- AI logiccli_tool/core/utils/- Utilitiescli_tool/core/ui/- UI componentstests/- Tests
3. Test Changes¶
make refresh # Refresh shell cache
devo <command> # Test manually
make test # Run automated tests
make lint # Check code style
4. Commit Changes¶
# Use CLI to generate commit message
devo commit
# Or manually:
git commit -m "feat(cli): TICKET-123 add feature"
Commit format: <type>(<scope>): <ticket> <summary>
Types: feat, fix, chore, docs, refactor, test, style, perf
See Semantic Release for how commit types map to version bumps.
5. Push and Create PR¶
Code Style¶
- Line length: 150 characters
- Indentation: 4 spaces
- All code in English
- Follow PEP 8
Example¶
class MyCommand:
"""Command description."""
DEFAULT_VALUE = "value"
def execute(self, param: str) -> str:
"""Execute the command."""
return self._process(param)
Available Commands¶
make help # Show all commands
make install # Install in editable mode
make test # Run tests
make lint # Check code style
make format # Format code (isort + black)
make clean # Clean build artifacts
make build-binary # Build standalone binary
Troubleshooting¶
Command not found¶
Changes not reflected¶
AWS credentials¶
Get from your organization's AWS SSO portal (configured in ~/.devo/config.json)
Getting Help¶
make help- Available commandsdocs/- Documentation- Team chat - Ask questions
Resources¶
- Development Setup โ environment setup
- CI/CD Overview โ how tests and releases work
- Semantic Release โ commit types and versioning
- AWS Profile Support
Thank you for contributing! ๐