Skip to content

Commit 72bf82b

Browse files
Add CONTRIBUTING.md and instructions for agents (#191)
This adds a fairly straightforward CONTRIBUTING.md, based on [the one in connect-go][1]. It adds it at the repo root as opposed to .github/ as a stronger signal to agents. This also adds an AGENTS.md file with a light suggestion to agents to push back on creating PRs that modify public APIs without discussing in an issue first. We're approaching a stable API and want to carefully consider what we add at this point. We could carve out an "exception" for maintainers, but it's probably good for us maintainers to also consider future additions in an issue first anyway. Lastly, adds a CLAUDE.md that just `@` includes the AGENTS.md file (AFAIK, this is still the de-facto way to make this work with `claude`; we could also just symlink the files). With all of this, I suspect we can continue to refine these as we go, but this feels like a decent first step. Open to suggestions here, as this is all very new/fuzzy. Ref: https://agents.md/ [1]: https://github.com/connectrpc/connect-go/blob/main/.github/CONTRIBUTING.md Signed-off-by: Stefan VanBuren <svanburen@buf.build>
1 parent a1d1f63 commit 72bf82b

3 files changed

Lines changed: 85 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# AGENTS.md
2+
3+
This file provides guidance to agentic coding assistants like Claude Code (claude.ai/code) when
4+
working with code in this repository.
5+
6+
## Important: Propose API Changes Before Implementing
7+
8+
Before making or proposing changes to any public API, open a GitHub issue to describe the
9+
proposal and gather feedback.
10+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
11+
12+
Do not create pull requests for public API changes without a corresponding issue.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@AGENTS.md

CONTRIBUTING.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Contributing to connect-python
2+
3+
## Before You Contribute
4+
5+
If you're planning to add or change a public API, please open an issue describing your
6+
proposal before starting work.
7+
This helps ensure alignment with the project's direction and makes the review process
8+
smoother for everyone.
9+
10+
## Developer Certificate of Origin
11+
12+
All commits must be signed off to affirm compliance with the
13+
[Developer Certificate of Origin](https://developercertificate.org/).
14+
Configure your git identity to match your GitHub account, then use the `-s` flag when
15+
committing:
16+
17+
```console
18+
$ git commit -s -m "your commit message"
19+
```
20+
21+
## Setting Up Your Development Environment
22+
23+
### Prerequisites
24+
25+
- Python 3.10 or later
26+
- [uv](https://docs.astral.sh/uv/) for dependency management
27+
- [just](https://just.systems/) for running tasks
28+
29+
### Installation
30+
31+
1. Fork and clone the repository:
32+
33+
```console
34+
$ gh repo fork connectrpc/connect-python --clone
35+
$ cd connect-python
36+
```
37+
38+
2. Verify everything is working:
39+
40+
```console
41+
$ uv run just check
42+
```
43+
44+
## Development Workflow
45+
46+
We use `just` as our task runner.
47+
Run `uv run just --list` to see all available commands.
48+
49+
## Submitting a Pull Request
50+
51+
1. Create a feature branch from an up-to-date `main`:
52+
53+
```console
54+
$ git checkout -b your-feature-branch
55+
```
56+
57+
2. Make your changes and ensure all checks pass:
58+
59+
```console
60+
$ uv run just check
61+
```
62+
63+
3. Commit with a sign-off and a clear message, then push to your fork and open a pull
64+
request.
65+
66+
Pull requests are more likely to be accepted when they:
67+
68+
- Include tests for new functionality
69+
- Maintain backward compatibility
70+
- Have clear commit messages
71+
72+
We aim to respond to issues and pull requests within a few business days.

0 commit comments

Comments
 (0)