docs(contributing): fix stale build and structure notes

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-03-06 20:50:11 +09:00
parent 94ad67009c
commit 4616b8f2b8

View File

@@ -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,