From 4616b8f2b8136b207c0d14c8fc235fbf7f3881d6 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Fri, 6 Mar 2026 20:50:11 +0900 Subject: [PATCH] docs(contributing): fix stale build and structure notes Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- CONTRIBUTING.md | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 477d559c4..be3ea59ef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,6 +31,7 @@ Be respectful, inclusive, and constructive. We're all here to make better tools **English is the primary language for all communications in this repository.** This includes: + - Issues and bug reports - Pull requests and code reviews - Documentation and comments @@ -45,6 +46,7 @@ This includes: ### Need Help with English? If English isn't your first language, don't worry! We value your contributions regardless of perfect grammar. You can: + - Use translation tools to help compose messages - Ask for help from other community members - Focus on clear, simple communication rather than perfect prose @@ -76,25 +78,24 @@ bun run build After making changes, you can test your local build in OpenCode: 1. **Build the project**: + ```bash bun run build ``` 2. **Update your OpenCode config** (`~/.config/opencode/opencode.json` or `opencode.jsonc`): + ```json { - "plugin": [ - "file:///absolute/path/to/oh-my-opencode/dist/index.js" - ] + "plugin": ["file:///absolute/path/to/oh-my-opencode/dist/index.js"] } ``` - + For example, if your project is at `/Users/yourname/projects/oh-my-opencode`: + ```json { - "plugin": [ - "file:///Users/yourname/projects/oh-my-opencode/dist/index.js" - ] + "plugin": ["file:///Users/yourname/projects/oh-my-opencode/dist/index.js"] } ``` @@ -112,7 +113,7 @@ oh-my-opencode/ │ ├── index.ts # Plugin entry (OhMyOpenCodePlugin) │ ├── plugin-config.ts # JSONC multi-level config (Zod v4) │ ├── agents/ # 11 agents (Sisyphus, Hephaestus, Oracle, Librarian, Explore, Atlas, Prometheus, Metis, Momus, Multimodal-Looker, Sisyphus-Junior) -│ ├── hooks/ # 44 lifecycle hooks across 39 directories +│ ├── hooks/ # Lifecycle hooks for orchestration, recovery, UX, and context management │ ├── tools/ # 26 tools across 15 directories │ ├── mcp/ # 3 built-in remote MCPs (websearch, context7, grep_app) │ ├── features/ # 19 feature modules (background-agent, skill-loader, tmux, MCP-OAuth, etc.) @@ -136,8 +137,11 @@ bun run typecheck # Full build (ESM + TypeScript declarations + JSON schema) bun run build -# Clean build output and rebuild -bun run rebuild +# Clean build output +bun run clean + +# Rebuild from scratch +bun run clean && bun run build # Build schema only (after modifying src/config/schema.ts) bun run build:schema @@ -145,17 +149,18 @@ bun run build:schema ### Code Style & Conventions -| Convention | Rule | -|------------|------| -| Package Manager | **Bun only** (`bun run`, `bun build`, `bunx`) | -| Types | Use `bun-types`, not `@types/node` | -| Directory Naming | kebab-case (`ast-grep/`, `claude-code-hooks/`) | -| File Operations | Never use bash commands (mkdir/touch/rm) for file creation in code | -| Tool Structure | Each tool: `index.ts`, `types.ts`, `constants.ts`, `tools.ts`, `utils.ts` | -| Hook Pattern | `createXXXHook(input: PluginInput)` function naming | -| Exports | Barrel pattern (`export * from "./module"` in index.ts) | +| Convention | Rule | +| ---------------- | ------------------------------------------------------------------------- | +| Package Manager | **Bun only** (`bun run`, `bun build`, `bunx`) | +| Types | Use `bun-types`, not `@types/node` | +| Directory Naming | kebab-case (`ast-grep/`, `claude-code-hooks/`) | +| File Operations | Never use bash commands (mkdir/touch/rm) for file creation in code | +| Tool Structure | Each tool: `index.ts`, `types.ts`, `constants.ts`, `tools.ts`, `utils.ts` | +| Hook Pattern | `createXXXHook(input: PluginInput)` function naming | +| Exports | Barrel pattern (`export * from "./module"` in index.ts) | **Anti-Patterns (Do Not Do)**: + - Using npm/yarn instead of bun - Using `@types/node` instead of `bun-types` - Suppressing TypeScript errors with `as any`, `@ts-ignore`, `@ts-expect-error` @@ -179,7 +184,7 @@ import type { AgentConfig } from "./types"; export const myAgent: AgentConfig = { name: "my-agent", - model: "anthropic/claude-sonnet-4-6", + model: "anthropic/claude-opus-4-6", description: "Description of what this agent does", prompt: `Your agent's system prompt here`, temperature: 0.1,