Before Getting Started
Before jumping into a PR, take these steps to ensure a smooth contribution process:Search existing PRs and issues
Search existing PRs or issues for an open or closed item that relates to your submission.
Select or create an issue
Select an issue from the issue tracker or create a new one to discuss your proposed changes.
Consider the discussion
Review the discussion on the issue to understand the context and requirements.
Accept the CLA
Accept the Contributor License Agreement to ensure we can accept your contributions.
The CLA grants Documenso a perpetual, worldwide, non-exclusive, royalty-free license to use your contributions while you retain all rights to your work.
Taking Issues
Before taking an issue, ensure that:- The issue has been assigned the
publiclabel - The issue is clearly defined and understood
- No one has been assigned to the issue
- No one has expressed intention to work on it
- Comment on the issue with your intention to work on it
- Begin work on the issue
Development Setup
The development branch ismain. All pull requests should be made against this branch.
Fork the repository
Fork the Documenso repository to your own GitHub account.
Clone your fork
Clone your fork to your local device.
Set up your environment
Follow the Developer Setup guide for detailed setup instructions.
Branch Naming Convention
Use descriptive branch names with the following format:feat/doc-123-add-bulk-signingfix/doc-456-email-template-renderingdocs/doc-789-update-api-docs
Building the Project
You can build the project with:AI-Assisted Development with OpenCode
Documenso uses OpenCode for AI-assisted development. OpenCode provides custom commands and skills to help maintain consistency and streamline common workflows.Getting Started with OpenCode
Configure your AI provider
Configure your preferred AI provider (Anthropic, OpenAI, Google) or use Zen for optimized coding models.
Available Commands
| Command | Description |
|---|---|
/implement <spec-path> | Implement a spec from .agents/plans/ autonomously |
/continue <spec-path> | Continue implementing a spec from a previous session |
/interview <file-path> | Deep-dive interview to flesh out a spec or design |
/document <module-path> | Generate MDX documentation for a module or feature |
/commit | Create a conventional commit for staged changes |
/create-plan <slug> | Create a new plan file in .agents/plans/ |
/create-scratch <slug> | Create a scratch file for notes in .agents/scratches/ |
/create-justification <slug> | Create a justification file in .agents/justifications/ |
Typical Workflow
Agent Files
The.agents/ directory stores AI-generated artifacts:
.agents/plans/- Feature specs and implementation plans.agents/scratches/- Temporary notes and explorations.agents/justifications/- Decision rationale and technical justifications
{word}-{word}-{word}-{slug}.md) to prevent conflicts.
Next Steps
Code Style
Learn about our code style and conventions
Pull Requests
Understand the PR process and requirements
Translations
Contribute translations and improve i18n
Local Development
Set up your development environment
