mirror of
https://github.com/documenso/documenso
synced 2026-04-21 13:27:18 +00:00
Adds OpenCode support for AI-assisted development, including custom commands and skills to help contributors maintain consistency and streamline common workflows. #### Changes - Added "AI-Assisted Development with OpenCode" section to CONTRIBUTING.md with: - Installation instructions and provider configuration - Documentation for 8 custom commands (/implement, /continue, /interview, /document, /commit, /create-plan, /create-scratch, /create-justification) - Typical workflow guide - Clear policy that AI-generated code must be reviewed before submission - Added .agents/ directory for plans, scratches, and justifications - Added .opencode/ commands and skills for the agent - Added helper scripts for creating agent files
2.3 KiB
2.3 KiB
| description | allowed-tools |
|---|---|
| Add and commit changes using conventional commits | Bash, Read, Glob, Grep |
Create a git commit for the current changes using the Conventional Commits standard.
Process
-
Analyze the changes by running:
git statusto see all modified/untracked filesgit diffto see unstaged changesgit diff --stagedto see already-staged changesgit log --oneline -5to see recent commit style
-
Stage appropriate files:
- Stage all related changes with
git add - Do NOT stage files that appear to contain secrets (.env, credentials, API keys, tokens)
- If you detect potential secrets, warn the user and skip those files
- Stage all related changes with
-
Determine the commit type based on the changes:
feat: New feature or capabilityfix: Bug fixdocs: Documentation onlystyle: Formatting, whitespace (not CSS)refactor: Code restructuring without behavior changeperf: Performance improvementtest: Adding or updating testsbuild: Build system or dependenciesci: CI/CD configurationchore: Maintenance tasks, tooling, config
NOTE: Do not use a scope for commits
-
Write the commit message:
- Subject line:
<type>: <description>- Use imperative mood ("add" not "added")
- Lowercase, no period at end
- Max 50 characters if possible, 72 hard limit
- Body (if needed): Explain why, not what
- Wrap at 72 characters
- Separate from subject with blank line
- Subject line:
Commit Format
<type>[scope]: <subject>
[optional body explaining WHY this change was made]
Examples
Simple change:
fix: handle empty input in parser without throwing
With body:
feat: add streaming response support
Large responses were causing memory issues in production.
Streaming allows processing chunks incrementally.
Rules
- NEVER commit files that may contain secrets
- NEVER use
git commit --amendunless the user explicitly requests it - NEVER use
--no-verifyto skip hooks - If the pre-commit hook fails, fix the issues and create a NEW commit
- If there are no changes to commit, inform the user and stop
- Use a HEREDOC to pass the commit message to ensure proper formatting
Execute
Run the git commands to analyze, stage, and commit the changes now.