Skip to content

Commit ecea849

Browse files
authored
Add contributing docs (#222)
1 parent c64e1a9 commit ecea849

File tree

4 files changed

+85
-13
lines changed

4 files changed

+85
-13
lines changed

CONTRIBUTING.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Welcome!
2+
3+
Thank you for your interest in contributing to Agent Client Protocol! We welcome new contributors and are glad that you want to contribute to our project. This document explains how to get involved, what we expect from contributors, and how we work together.
4+
5+
## Ways to contribute
6+
7+
We welcome many different types of contributions including:
8+
9+
- New features
10+
- Builds, CI/CD
11+
- Bug fixes
12+
- Documentation
13+
- Issue Triage
14+
- Answering questions on Slack/Mailing List
15+
- Web design
16+
- Communications / Social Media / Blog Posts
17+
- Release management
18+
19+
## Getting Started
20+
21+
To get started, make sure you have the following installed:
22+
23+
- [Rust](https://www.rust-lang.org/)
24+
- [Node.js](https://nodejs.org/)
25+
26+
The schema files in the `/schema` directory are generated from the Rust code in the `rust` directory. You can always generate the latest schema files by running `npm run generate` which will also format the files for you.
27+
28+
Spellchecking is done via `npm run spellcheck`.
29+
30+
Tests are run via `cargo test`.
31+
32+
Unreleased features will be behind an `unstable` feature flag in the Rust crate.
33+
34+
If you notice a bug in the protocol, please file [an issue](https://github.com/agentclientprotocol/agent-client-protocol/issues/new?template=05_bug_report.yml) and we will be in touch.
35+
36+
## Coding Standards
37+
38+
For our Rust code, we use [rustfmt](https://github.com/rust-lang/rustfmt) and [clippy](https://github.com/rust-lang/rust-clippy) to enforce a consistent style and catch common mistakes.
39+
40+
For other files, like docs and schema files, we use [prettier](https://prettier.io/) to enforce a consistent style.
41+
42+
Our CI jobs will make sure all new changes fit these coding standards.
43+
44+
New features should be documented before being stabilized and released to users.
45+
46+
Feel free to add tests for any portion of the schema files that would benefit, we'll make sure these run in CI as well.
47+
48+
## RFD Process
49+
50+
Before a significant change or addition to the protocol is made, you should likely open an RFD (Request for Dialog) following [our RFD process](https://agentclientprotocol.com/rfds/about) to get feedback on your proposed changes before you do a lot of implementation work. This helps ensure that your changes align with the project's goals and should help avoid the frustration of doing work that may not be accepted.
51+
52+
## Pull Request Process
53+
54+
1. Ensure your branch is up to date with the main branch.
55+
2. Open a pull request with a clear title and description.
56+
3. At least one maintainer must review and approve the change before merging.
57+
4. Maintainers may request changes or clarifications – this is part of the process.
58+
5. Once approved, a maintainer will merge your pull request.
59+
60+
## Asking For Help
61+
62+
If you’re unsure about anything, feel free to reach out! The best way to reach us with a question when contributing is to ask on:
63+
64+
- The original GitHub issue or discussion thread
65+
- Slack
66+
67+
## Code of Conduct
68+
69+
All contributors are expected to follow the project’s [Code of Conduct](CODE_OF_CONDUCT.md).
70+
71+
Please treat others with respect, foster an inclusive environment, and help keep this a welcoming project for everyone.
72+
73+
## Contribution Policy
74+
75+
This project does not require a Contributor License Agreement (CLA). Instead, contributions are accepted under the following terms:
76+
77+
> By contributing to this project, you agree that your contributions will be licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). You affirm that you have the legal right to submit your work, that you are not including code you do not have rights to, and that you understand contributions are made without requiring a Contributor License Agreement (CLA).

README.md

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,10 @@ Learn more at [agentclientprotocol.com](https://agentclientprotocol.com/).
2121

2222
## Contributing
2323

24-
ACP is a protocol intended for broad adoption across the ecosystem; we follow a structured process to ensure changes are well-considered.
24+
ACP is a protocol intended for broad adoption across the ecosystem; we follow a structured process to ensure changes are well-considered. Read the [Contributing Guide](./CONTRIBUTING.md) for more information.
2525

26-
### Pull Requests
26+
## Contribution Policy
2727

28-
Pull requests should intend to close [an existing issue](https://github.com/agentclientprotocol/agent-client-protocol/issues).
28+
This project does not require a Contributor License Agreement (CLA). Instead, contributions are accepted under the following terms:
2929

30-
### Issues
31-
32-
- **Bug Reports**: If you notice a bug in the protocol, please file [an issue](https://github.com/agentclientprotocol/agent-client-protocol/issues/new?template=05_bug_report.yml) and we will be in touch.
33-
- **Protocol Suggestions**: If you'd like to propose additions or changes to the protocol, please start a [discussion](https://github.com/agentclientprotocol/agent-client-protocol/discussions/categories/protocol-suggestions) first. We want to make sure proposed suggestions align well with the project. If accepted, we can have a conversation around the implementation of these changes. Once that is complete, we will create an issue for pull requests to target.
34-
35-
### License
36-
37-
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
30+
> By contributing to this project, you agree that your contributions will be licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). You affirm that you have the legal right to submit your work, that you are not including code you do not have rights to, and that you understand contributions are made without requiring a Contributor License Agreement (CLA).

docs/community/governance.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,6 @@ Note: This document describes how ACP governance is structured today (Zed-led) a
6060
## Legal, Licensing, and Contributor Terms
6161

6262
- All repositories in the ACP organization should be licensed under the Apache 2.0 License.
63-
- By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
63+
- This project does not require a Contributor License Agreement (CLA). Instead, contributions are accepted under the following terms:
64+
65+
> By contributing to this project, you agree that your contributions will be licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). You affirm that you have the legal right to submit your work, that you are not including code you do not have rights to, and that you understand contributions are made without requiring a Contributor License Agreement (CLA).

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"format:check": "prettier --check . && cargo fmt -- --check",
2828
"spellcheck": "./scripts/spellcheck.sh",
2929
"spellcheck:fix": "./scripts/spellcheck.sh --write-changes",
30-
"check": "npm run lint && npm run format:check && npm run spellcheck && npm run build && npm run test",
30+
"check": "cargo clippy --all-features && npm run format:check && npm run spellcheck && cargo test",
3131
"docs": "cd docs && npx mint dev"
3232
},
3333
"devDependencies": {

0 commit comments

Comments
 (0)