This page documents the contribution process for oh-my-openagent (formerly oh-my-opencode), including the CLA signature requirement, development workflow, and technical conventions.
All external contributors must sign a Contributor License Agreement (CLA) before their pull requests can be merged. The CLA ensures that the project owner, YeonGyu Kim, has the necessary rights to distribute and relicense contributions CLA.md3-21
Title: CLA Signature Workflow
The CLA Assistant workflow automatically checks the signedContributors array in signatures/cla.json and matches them against the commit authors in the Pull Request .github/workflows/cla.yml19-127
Each signature entry in signatures/cla.json contains metadata required for legal verification.
| Field | Description |
|---|---|
name | GitHub username of the contributor signatures/cla.json4 |
id | Unique GitHub user ID signatures/cla.json5 |
comment_id | ID of the GitHub comment where the CLA was accepted signatures/cla.json6 |
created_at | ISO 8601 timestamp of the signature signatures/cla.json7 |
repoId | Repository ID (1108837393) signatures/cla.json8 |
pullRequestNo | The specific PR number where the signature was captured signatures/cla.json9 |
Sources: signatures/cla.json1-10 .github/workflows/cla.yml19-156 CLA.md1-59
The project follows a standard fork-and-pull-request model with strict environment requirements.
Title: Developer Contribution Lifecycle
npm or yarn CONTRIBUTING.md58 CONTRIBUTING.md162To test changes in a real OpenCode environment, point your opencode.jsonc to the local build output:
Sources: CONTRIBUTING.md31-99 CONTRIBUTING.md160-168
| Category | Rule |
|---|---|
| File Naming | kebab-case for directories (e.g., ast-grep/) CONTRIBUTING.md154 |
| Types | Use bun-types, not @types/node CONTRIBUTING.md153 |
| Hook Pattern | Factory naming: createXXXHook(input: PluginInput) CONTRIBUTING.md157 |
| Exports | Barrel pattern in index.ts CONTRIBUTING.md158 |
| File Ops | Use library functions; never use bash commands (rm, mkdir) in code CONTRIBUTING.md155 |
as any or @ts-ignore CONTRIBUTING.md164bun publish (releases are handled by GitHub Actions) CONTRIBUTING.md166.ts file in packages/omo-opencode/src/agents/ CONTRIBUTING.md173AgentConfig (name, model, prompt, temperature) CONTRIBUTING.md180-191builtinAgents in packages/omo-opencode/src/agents/index.ts CONTRIBUTING.md175bun run build:schema to sync the JSON schema CONTRIBUTING.md177packages/omo-opencode/src/hooks/ CONTRIBUTING.md195createXXXHook() returning event handlers (e.g., onSessionStart) CONTRIBUTING.md200-207Title: Hook Implementation Flow
Refresh this wiki
This wiki was recently refreshed. Please wait 1 day to refresh again.