Thank you for your interest in contributing to the Self-Executing Social Agreements Platform! This guide will help you get started.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/<your-username>/sesap.git cd sesap
- Install dependencies:
npm install - Create a branch:
git checkout -b feature/your-feature
- Make your changes in the feature branch
- Run tests to ensure nothing is broken:
npm test - Commit with a clear message following Conventional Commits:
feat:— new featurefix:— bug fixdocs:— documentation onlytest:— adding or updating testschore:— maintenance (deps, config, cleanup)
- Push to your fork and open a Pull Request against
main
- Bug fixes — Check the Issues tab
- Tests — We're always looking to improve test coverage
- Documentation — Clarify setup instructions, add examples
- MCP tools — New tools or resources for the MCP server
- UI improvements — Editor features, accessibility, responsiveness
- TypeScript strict mode — no
anyunless unavoidable - Production-quality code — no TODOs, no placeholder implementations
- Follow existing patterns — search the codebase before adding new abstractions
- Add tests for new functionality
Before contributing, review these documents:
- README.md — Architecture overview and quick start
- docs/STRUCTURED_OUTPUT_LESSONS.md — LLM structured output pitfalls
Important constraints:
- Zod schemas (
server/schemas/contract.ts): Use.nullable()not.optional()for OpenAI structured output - Accord rendering: Both
src/store/store.tsandserver/accord/engine.tsimplement the Accord pipeline — changes must be synced - Money model: Hardcoded in both store and engine — if one changes, update both
When filing a bug report, include:
- Steps to reproduce
- Expected vs actual behavior
- Browser console errors (if frontend)
- Server logs (if backend/API)
- Node.js version (
node --version)
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.