How to Contribute¶
We would love to accept your patches and contributions to this project.
Before You Begin¶
Sign Off Your Commits (DCO)¶
Contributions to this project must include a Developer Certificate of Origin (DCO) sign-off. This certifies that you wrote or have the right to submit the code under the project's open-source license. You (or your employer) retain the copyright to your contribution.
Add the sign-off by including a Signed-off-by line in your commit messages:
Signed-off-by: Your Name <[email protected]>
You can do this automatically with git commit -s.
Review Our Code of Conduct¶
This project follows the Verifiable Intent Code of Conduct.
Contribution Process¶
Code Reviews¶
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose.
Pull Request Requirements¶
- PR titles: Use Conventional Commits
format (e.g.,
feat: add recurrence constraint validation,fix: correct cart hash binding in autonomous mode). Individual commit messages within a PR are not required to follow this format. - Tests: All code changes should include tests or demonstrate no regression
against the existing test suite. Run
pytestfrom the repo root to verify. - DCO sign-off: Every commit must include a
Signed-off-byline.
Specification Changes¶
Changes to files in spec/ define the normative standard and carry additional
requirements:
- Rationale required: The PR description must include a motivation section explaining why the change is needed, what problem it solves, and any alternatives considered.
- SDK consistency: Spec changes that affect claim names, validation rules, or credential structure should include corresponding SDK and test updates, or clearly note what SDK work remains.
- Protocol-agnostic language: The core spec (
spec/) must not reference any specific transport protocol (AP2, ACP, etc.). Protocol-specific mappings belong inprotocol-landscape/.
Protocol Landscape Changes¶
Changes to protocol-landscape/ should reference the specific protocol version being
targeted and validate any JSON examples against the protocol's published schema
or OpenAPI spec where available.
Getting Started¶
# Clone the repo
git clone https://github.com/agent-intent/verifiable-intent.git
cd verifiable-intent
# Install with dev dependencies (includes pytest)
pip install -e ".[dev]"
# Run the test suite
pytest
# Run an example
python examples/autonomous_flow.py
Reporting Issues¶
Use GitHub Issues to report bugs or request features. For security vulnerabilities, see SECURITY.md.