Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# AGENTS.md

This file provides guidance to agentic coding assistants like Claude Code (claude.ai/code) when
working with code in this repository.

## Important: Propose API Changes Before Implementing

Before making or proposing changes to any public API, open a GitHub issue to describe the
proposal and gather feedback.
See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.

Do not create pull requests for public API changes without a corresponding issue.
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@AGENTS.md
72 changes: 72 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Contributing to connect-python

## Before You Contribute

If you're planning to add or change a public API, please open an issue describing your
proposal before starting work.
This helps ensure alignment with the project's direction and makes the review process
smoother for everyone.

## Developer Certificate of Origin

All commits must be signed off to affirm compliance with the
[Developer Certificate of Origin](https://developercertificate.org/).
Configure your git identity to match your GitHub account, then use the `-s` flag when
committing:

```console
$ git commit -s -m "your commit message"
```

## Setting Up Your Development Environment

### Prerequisites

- Python 3.10 or later
- [uv](https://docs.astral.sh/uv/) for dependency management
- [just](https://just.systems/) for running tasks

### Installation

1. Fork and clone the repository:

```console
$ gh repo fork connectrpc/connect-python --clone
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume most people use / are aware of the GitHub gh CLI; this simplifies these instructions, but of course we could also rewrite them to use raw git.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise they're also likely familiar with using the raw git command anyways. I'm a fan of "soft tool recommendations" like this doc

$ cd connect-python
```

2. Verify everything is working:

```console
$ uv run just check
```

## Development Workflow

We use `just` as our task runner.
Run `uv run just --list` to see all available commands.
Copy link
Copy Markdown
Member Author

@stefanvanburen stefanvanburen Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want to be in the business of keeping a list of these commands in sync here as well.


## Submitting a Pull Request

1. Create a feature branch from an up-to-date `main`:

```console
$ git checkout -b your-feature-branch
```

2. Make your changes and ensure all checks pass:

```console
$ uv run just check
```

3. Commit with a sign-off and a clear message, then push to your fork and open a pull
request.

Pull requests are more likely to be accepted when they:

- Include tests for new functionality
- Maintain backward compatibility
- Have clear commit messages

We aim to respond to issues and pull requests within a few business days.
Loading