Commit Graph

889 Commits

Author SHA1 Message Date
YeonGyu-Kim
80a7f56066 fix: remove registry-url to enable OIDC trusted publishing 2025-12-05 03:01:52 +09:00
YeonGyu-Kim
02e00873a0 fix: add NODE_AUTH_TOKEN for npm publish 2025-12-05 02:59:58 +09:00
YeonGyu-Kim
41918af852 fix: move build step to workflow to avoid PATH issues 2025-12-05 02:58:27 +09:00
YeonGyu-Kim
a3cea59001 fix: use bun run for publish script execution 2025-12-05 02:56:58 +09:00
YeonGyu-Kim
508a761385 add missing constants 2025-12-05 02:56:32 +09:00
YeonGyu-Kim
2e327e9b7a feat(config): integrate Zod schema validation into config loading
- Replace type assertion with safeParse validation
- Add error reporting for invalid config values
- Import types from centralized config module
2025-12-05 02:54:09 +09:00
YeonGyu-Kim
b5274fcb63 feat(config): add Zod schema validation and JSON Schema generation
- Add Zod schema for oh-my-opencode.json configuration validation
- Generate JSON Schema at build time for IDE autocompletion
- Add safeParse validation with error reporting on config load
- Export OhMyOpenCodeConfigSchema for programmatic usage
- Add build:schema script and ./schema.json export
- Update README with $schema usage documentation
2025-12-05 02:53:44 +09:00
YeonGyu-Kim
8e5064c547 docs: add comment-checker hook documentation 2025-12-05 02:53:38 +09:00
YeonGyu-Kim
02a9402472 feat(hooks): add comment-checker hook for detecting unnecessary comments
- Port Go comment-checker to TypeScript using web-tree-sitter
- Support 38 programming languages via tree-sitter-wasms
- Filter out valid comments: BDD patterns, lint directives, docstrings, shebangs
- Integrate with OpenCode's tool.execute.before/after hooks
- Attach feedback to Write/Edit/MultiEdit tool output
2025-12-05 02:49:47 +09:00
YeonGyu-Kim
22acb0def1 feat(agents): add agent override configuration support
- Add AgentName, AgentOverrideConfig, AgentOverrides types
- Implement createBuiltinAgents with disabled_agents and overrides support
- Support oh-my-opencode.json config for:
  - disabled_agents: disable specific built-in agents
  - agents: override model, temperature, tools, permission per agent
- Tools and permission objects are shallow-merged with base config
- Export types for external consumers
- Update README with agent override documentation
2025-12-05 02:32:33 +09:00
YeonGyu-Kim
6220fcddcf feat(mcp): add context7 MCP and disabled_mcps config support
- Add context7 MCP for library documentation lookup
- Add oh-my-opencode.json config file support for per-project settings
- Support disabled_mcps array to selectively disable built-in MCPs
- Update documentation with Configuration section
2025-12-05 02:23:34 +09:00
YeonGyu-Kim
6495fae979 feat(mcp): add websearch_exa as built-in MCP
- Add src/mcp/ directory with websearch_exa configuration
- Configure Exa AI remote MCP (https://mcp.exa.ai/mcp)
- Export builtinMcps from plugin config
- Update documentation (EN/KO) with Built-in MCPs section
2025-12-05 02:15:39 +09:00
YeonGyu-Kim
7ac580566a feat(hook): add session-recovery for automatic API error recovery 2025-12-05 02:12:52 +09:00
YeonGyu-Kim
542c9c39b7 fix: externalize @ast-grep/napi for cross-platform support, add installation docs 2025-12-05 01:50:02 +09:00
YeonGyu-Kim
7fc2ce62dd feat: add npm publish workflow with Trusted Publishing 2025-12-05 01:38:04 +09:00
YeonGyu-Kim
ed1a5ed466 rewrite READMEs
No Vibe Writings.
2025-12-05 01:20:57 +09:00
YeonGyu-Kim
3802587b72 config(safe-grep): increase timeout from 60s to 5 minutes 2025-12-05 01:20:50 +09:00
YeonGyu-Kim
2a9761b0b0 refactor(tools): remove unused ast-grep tools (languages, analyze, transform) 2025-12-05 01:20:45 +09:00
YeonGyu-Kim
3d29214c29 refactor: move grep blocking from hook to config 2025-12-05 01:19:15 +09:00
YeonGyu-Kim
ff3a7bfee0 refactor(tools): rename all tools to snake_case for consistency 2025-12-04 23:01:16 +09:00
YeonGyu-Kim
f78bdf6f67 feat(tools): wire up new LSP and ast-grep tools in builtin exports 2025-12-04 22:40:40 +09:00
YeonGyu-Kim
eac197581c feat(tools): add ast-grep tools for AST-aware code search and transformation
- Add ast_grep_search for pattern-based code search (25 languages)
- Add ast_grep_replace for AST-aware code rewriting with dry-run
- Add ast_grep_analyze for in-memory code analysis (NAPI)
- Add ast_grep_transform for in-memory code transformation
- Add ast_grep_languages to list supported languages
2025-12-04 22:40:25 +09:00
YeonGyu-Kim
dc119bc1ed feat(lsp): add rename, code actions, and server connection pooling
- Add LSPServerManager for connection pooling with idle cleanup
- Add lsp_prepare_rename and lsp_rename tools
- Add lsp_code_actions and lsp_code_action_resolve tools
- Add WorkspaceEdit types and applyWorkspaceEdit utility
- Improve LSP client robustness with stderr buffering and process state tracking
2025-12-04 22:40:05 +09:00
YeonGyu-Kim
81869ccaac feat(lsp): add oh-my-opencode.json config support with priority
Config file priority (high to low):
1. ./.opencode/oh-my-opencode.json (project)
2. ~/.config/opencode/oh-my-opencode.json (user)
3. ~/.config/opencode/opencode.json (opencode)
4. builtin servers

LSP servers sorted by source then priority field (higher = preferred)
2025-12-04 21:57:18 +09:00
YeonGyu-Kim
7090fca0fd feat(lsp): add LSP tools integration with workspace/configuration support
- Add 7 LSP tools: hover, goto_definition, find_references, document_symbols, workspace_symbols, diagnostics, servers
- Support multiple LSP servers: typescript, gopls, pyrefly, basedpyright, ruff, rust-analyzer, clangd, sourcekit-lsp, ruby-lsp
- Read LSP config from opencode.json with disabled server support
- Handle server requests: workspace/configuration, client/registerCapability, window/workDoneProgress/create
- Send workspace/didChangeConfiguration after initialized for basedpyright compatibility
- Uint8Array-based buffer for reliable LSP message parsing
2025-12-04 21:54:02 +09:00
YeonGyu-Kim
b397dd6655 feat(hook): block grep tool and guide to safe-grep 2025-12-04 18:20:01 +09:00
YeonGyu-Kim
8c6dc77d53 Make explore agent to be opencode/grok-code
Grok Code is SuperFast and free at the moment.
For the purpose of exploring existing codebase,
grok code's intelligence is just enough for that. Plus Superfast.
2025-12-04 16:19:12 +09:00
YeonGyu-Kim
b01050ab30 feat(hook): add session-notification hook for agent idle state notifications
- Implement createSessionNotification() for macOS/Linux/Windows notifications
- Debounce timer to confirm session still idle after 1.5s (prevents false alerts from todo-continuation)
- Skip notification if incomplete todos exist (smart coordination with todo-continuation-enforcer)
- Support cross-platform alerts (osascript, notify-send, PowerShell)
- Configurable title, message, sound, and idle confirmation delay
2025-12-04 16:19:12 +09:00
YeonGyu-Kim
9a9351a082 feat(feature): add terminal title renaming with session status 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
9a11901590 feat(hook): add context window monitor for Anthropic token usage tracking 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
9054973f23 feat(agent): add document-writer agent for technical documentation 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
a562a78050 feat(hook): add todo-continuation-enforcer for automatic task resumption 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
b6d991066e feat(agent): add frontend-ui-ux-engineer agent for stunning UI/UX 2025-12-04 16:19:05 +09:00
YeonGyu-Kim
8febf9411f feat: wire up agents and expose via opencode plugin 2025-12-04 16:19:05 +09:00
YeonGyu-Kim
a937239469 feat(agent): add explore agent for codebase navigation 2025-12-03 11:49:28 +09:00
YeonGyu-Kim
b39b7f119a feat(agent): add librarian agent for codebase analysis 2025-12-03 11:49:23 +09:00
YeonGyu-Kim
4e4678ce01 feat(agent): add oracle agent for expert AI advisory 2025-12-03 11:49:18 +09:00
YeonGyu-Kim
15068ee382 chore: initialize project with bun and typescript 2025-12-03 11:49:13 +09:00
YeonGyu-Kim
5b0cb53f3d Fiat Lux 2025-12-03 11:28:10 +09:00