First off, thank you for considering contributing! We're building a "Platform-in-a-Box" for AI agents, and we're excited to have you on board. Every contribution, from a typo fix to a new feature, is valuable.
This document is the "front door" for contributors. Please read it to get started.
Before you start, please read our CODE_OF_CONDUCT.md. We enforce this code strictly to ensure A.R.C. is a welcoming and inclusive project for everyone.
There are many ways to help, and not all of them involve writing code:
- Reporting Bugs: Find a bug? Please open a bug report.
- Suggesting Enhancements: Have a great idea for a new feature? Open a feature request.
- Writing Documentation: Our docs are the most important part of our framework. Help us make them better!
- Submitting Pull Requests: Ready to write some code? This guide will walk you through it.
Ready to dive in? Here's the step-by-step workflow for getting your code merged.
A great place to start is our organization's Issues tab.
- Look for issues labeled
good first issue. These are specifically chosen as a good entry point into the codebase. - If you want to work on something, leave a comment to let us know. This prevents multiple people from working on the same thing.
Our platform is a collection of many repositories. You'll need to fork and clone the specific repository you want to work on (e.g., a specific service, the CLI, or the docs).
- Fork the repo (e.g.,
github.com/arc-framework/engine) to your own account. - Clone your fork locally:
git clone [https://github.com/YOUR-USERNAME/repository-name.git](https://github.com/YOUR-USERNAME/repository-name.git) cd repository-name
We use a Trunk-Based Development model. main is our only permanent branch. We do not use a develop branch.
Please create your new branch from the main branch, following our organization's naming convention. The convention is to prefix your branch with a "category" tag, followed by a /.
feature/: For developing a new feature.bugfix/: For fixing a bug.hotfix/: For a critical, urgent bug in production.docs/: For changes to documentation only.refactor/: For code changes that don't add features or fix bugs.
# Make sure you're on main and have the latest code
git checkout main
git pull origin main
# Create your new branch
git checkout -b feature/my-cool-agentThis is the fun part!
Write your code.
Write new tests to cover your changes.
Run the existing tests (look for a README.md in the repo for test commands) to make sure you didn't break anything.
This is a mandatory step. We use the Developer Certificate of Origin (DCO). It's a lightweight, legal way for you to certify that you wrote the code.
It's easy: just add a -s flag to your git commit command.
# The -s flag adds a "Signed-off-by: Your Name <your.email@example.com>" line
git commit -s -m "feat: add my new cool agent"
PRs with commits that are not signed off will be rejected by our CI.Ready to merge? Push your branch to your fork and open a Pull Request (PR) against the arc-framework/main branch.
Fill out the PR template. Explain what you changed and why.
Link the Issue. Make sure to add Closes #123 (or whatever the issue number is) in your PR description.
Be patient. A maintainer will review your code.
We take our code quality seriously. To get merged, your PR must:
Pass all CI checks (tests, linter, DCO check).
Get at least one approval from a maintainer.
Resolve all conversations. If a reviewer leaves a comment, you must address it (even if it's just to say "Done!") and resolve the conversation.