Development Guide
Setting Up Development Environment
Clone the repository:
git clone https://github.com/your-org/chasm.git cd chasm
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
Install development dependencies:
pip install -e ".[dev]"
Project Structure
chasm/
├── chasm/ # Main package directory
│ ├── __init__.py
│ ├── cli.py # Command-line interface
│ ├── core.py # Core functionality
│ ├── inventory.py # Inventory management
│ ├── playbook.py # Playbook management
│ ├── role.py # Role management
│ ├── config.py # Configuration handling
│ └── utils.py # Utility functions
├── tests/ # Test directory
│ ├── __init__.py
│ ├── test_cli.py
│ ├── test_core.py
│ └── ...
├── docs/ # Documentation
├── setup.py # Package setup
└── README.md # Project README
Running Tests
Run the test suite:
pytest
Run tests with coverage:
pytest --cov=chasm
Code Style
The project follows PEP 8 style guidelines. To check your code:
flake8
black .
Documentation
Build the documentation:
cd docs
make html
The documentation will be available in docs/_build/html/
.
Contributing
Fork the repository
Create a feature branch
Make your changes
Run tests and ensure they pass
Submit a pull request
Release Process
Update version in
VERSION
fileUpdate changelog
Create a release tag
Build and publish package