Contributing to Acme
Guidelines for contributing to Acme, including development setup, project structure, and how to submit pull requests.
Contributing to Acme
We welcome contributions of all kinds — bug fixes, new connectors, documentation improvements, and feature ideas.
Getting started
- Fork the repository on GitHub
- Clone your fork locally
- Install dependencies:
git clone https://github.com/your-username/acme.git
cd acme
make install
- Create a feature branch:
git checkout -b feature/my-new-connector
Development setup
Important
Acme requires Python 3.10+ and Node.js 18+ for development.
# Install development dependencies
pip install -e ".[dev]"
# Run the test suite
make test
# Start the development server
make dev
Project structure
acme/
├── src/
│ ├── connectors/ # Source and destination connectors
│ ├── transforms/ # Built-in transform functions
│ ├── engine/ # Core pipeline engine
│ ├── scheduler/ # Cron and trigger scheduling
│ └── api/ # REST API server
├── tests/
│ ├── unit/
│ ├── integration/
│ └── fixtures/
├── docs/ # Documentation (you are here!)
└── examples/ # Example pipeline configurations
Submitting a pull request
- Ensure all tests pass:
make test - Add tests for any new functionality
- Update documentation if needed
- Submit your PR with a clear description
Tip
See the Project Structure page for a deeper dive into how the codebase is organized.
Code of conduct
Be respectful, be kind, be constructive. See CODE_OF_CONDUCT.md for details.