Commit Graph

914 Commits

Author SHA1 Message Date
github-actions[bot]
a06bbeb9ee release: v0.1.11 2025-12-05 02:05:44 +00:00
YeonGyu-Kim
f3a92db203 chore: bump version to 0.1.12 2025-12-05 11:02:43 +09:00
YeonGyu-Kim
fd6e230889 perf(comment-checker): add LSP-style background language warming
- Warmup common languages (python, typescript, javascript, tsx, go, rust, java) on plugin init
- Non-blocking background initialization using Promise.then() pattern
- First parse call uses pre-cached language - zero user wait time
- Refactor parser manager with ManagedLanguage interface for better state tracking
2025-12-05 11:02:35 +09:00
YeonGyu-Kim
50ea492065 chore: bump version to 0.1.11 2025-12-05 10:56:21 +09:00
YeonGyu-Kim
f5f2053b7a fix(comment-checker): fix error skip bug and add parser/language caching
- Fix overly broad error detection that skipped comments when LSP warnings present
- Add Parser class and language WASM caching for ~3.5x faster subsequent parses
- Add debug logging controlled by COMMENT_CHECKER_DEBUG=1 env var
2025-12-05 10:56:08 +09:00
github-actions[bot]
6c16baea9a release: v0.1.10 2025-12-05 01:00:03 +00:00
YeonGyu-Kim
2ad7e193fd fix(comment-checker): support args.path for OpenCode Write/Edit tools 2025-12-05 09:57:50 +09:00
github-actions[bot]
d62f1dd207 release: v0.1.9 2025-12-05 00:45:40 +00:00
YeonGyu-Kim
aff7cad615 fix: resolve tree-sitter wasm initialization error with locateFile option 2025-12-05 09:45:04 +09:00
github-actions[bot]
e021ec954a release: v0.1.8 2025-12-05 00:30:07 +00:00
YeonGyu-Kim
1390970973 fix: skip publish if version already exists on registry 2025-12-05 09:29:08 +09:00
YeonGyu-Kim
a72bfe5c02 docs: consolidate README.en.md into README.md 2025-12-05 09:29:08 +09:00
YeonGyu-Kim
f10c15d83d feat: wire comment-checker hook to main plugin 2025-12-05 09:29:08 +09:00
github-actions[bot]
fdb39ba404 release: v0.1.7 2025-12-05 00:24:20 +00:00
YeonGyu-Kim
36ef885141 fix: trust @ast-grep/napi in CI to enable native module install scripts 2025-12-05 04:29:40 +09:00
YeonGyu-Kim
909ce37826 fix: remove --ignore-scripts from bun install, add build verification step 2025-12-05 04:19:13 +09:00
YeonGyu-Kim
132bb3c373 fix: add --ignore-scripts to npm publish to prevent CI build failure 2025-12-05 04:16:53 +09:00
YeonGyu-Kim
180d16b977 fix: prevent plugin crash by removing non-function exports from barrel files
BREAKING: OpenCode plugin loader calls all exports as functions.
Exporting non-function values (schemas, constants, types) causes TypeError.

Changes:
- Remove OhMyOpenCodeConfigSchema export from root index.ts
- Replace 'export *' with explicit function exports in hooks/index.ts
- Remove 'export *' from comment-checker/index.ts
2025-12-05 04:08:59 +09:00
YeonGyu-Kim
eba89a6626 hotfix: move McpNameSchema to src/mcp/types.ts for proper module organization 2025-12-05 03:58:21 +09:00
YeonGyu-Kim
0a82787614 hotfix: use McpName from config schema instead of duplicate type definition 2025-12-05 03:56:14 +09:00
YeonGyu-Kim
a1a2d2fdb3 hotfix: add empty content message recovery to session recovery 2025-12-05 03:54:51 +09:00
github-actions[bot]
2c57204142 release: v0.1.2 2025-12-04 18:12:17 +00:00
YeonGyu-Kim
4dadd51fe7 fix: upgrade to node 24 and npm@latest for OIDC trusted publishing (requires npm 11.5.1+) 2025-12-05 03:11:52 +09:00
YeonGyu-Kim
c4d247a8df fix: use npm config instead of registry-url for OIDC tokenless publishing 2025-12-05 03:09:09 +09:00
YeonGyu-Kim
10591cb1ff fix: restore registry-url for OIDC auth 2025-12-05 03:05:39 +09:00
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