YeonGyu-Kim
d21049529c
feat(hooks): add UserPromptSubmit and Stop executors
...
- Port user-prompt-submit.ts from opencode-cc-plugin (118 lines)
- Port stop.ts from opencode-cc-plugin (119 lines)
- Preserve recursion prevention logic (<user-prompt-submit-hook> tags)
- Preserve inject_prompt support (message injection, stop prompt injection)
- Preserve stopHookActiveState management (per-session state)
- Import path adjustments: ../types → ./types, ../../config → ./plugin-config
- All exit code handling preserved (exitCode 2 → block, etc.)
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 18:00:16 +09:00
YeonGyu-Kim
703fffaa86
feat(hooks): add PostToolUse hook executor
...
- Port post-tool-use.ts from opencode-cc-plugin (200 lines)
- Implement executePostToolUseHooks() with full transcript support
- Include temp file cleanup in finally block
- Preserve all exit code handling and output fields
- Update notepad.md with Task 5 completion log
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 17:55:06 +09:00
YeonGyu-Kim
0dfc306290
feat(hooks): add PreToolUse hook executor
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 17:48:28 +09:00
YeonGyu-Kim
ed5937176c
feat(hooks): add Claude hooks config, transcript, and todo
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 17:41:39 +09:00
YeonGyu-Kim
cf38234b1f
feat(hooks): add Claude Code hooks type definitions
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 17:36:12 +09:00
YeonGyu-Kim
757dd50256
feat(shared): add Claude hooks command executor and utilities
...
- Add snake-case.ts: objectToSnakeCase, objectToCamelCase utilities
- Add tool-name.ts: transformToolName with PascalCase conversion
- Add pattern-matcher.ts: findMatchingHooks for hook config matching
- Add hook-disabled.ts: isHookDisabled for hook config validation
- Add temporary stub types at src/hooks/claude-code-hooks/types.ts
- Export all new utilities from src/shared/index.ts
Stub types will be replaced with full implementation in Task 1.
Import paths adjusted from opencode-cc-plugin structure to oh-my-opencode.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 17:31:15 +09:00
YeonGyu-Kim
2d2eaf13aa
feat: update comment-checker to v0.5.0
...
BREAKING CHANGE: Docstrings are now detected as code smell.
See: https://github.com/code-yeongyu/go-claude-code-comment-checker/releases/tag/v0.5.0
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
8fdcb1a904
docs: fix documentation inconsistencies identified by Oracle
...
- Add source path annotations to Command/Skill/Agent/MCP Loaders
- Add Session State feature documentation
- MCP Loader paths verified (match loader.ts: ~/.claude/.mcp.json, ./.mcp.json, ./.claude/.mcp.json)
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
b17502a404
docs(readme): document new claude-code feature loaders
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
2afcf20b9b
refactor(index): integrate session-state module and remove local variables
...
- Add imports: agent-loader, mcp-loader, session-state, logger
- Remove local session variables (mainSessionID, currentSessionID, currentSessionTitle)
- Use setter/getter functions from session-state module
- Add agent loading in config hook (loadUserAgents, loadProjectAgents)
- Add MCP loading in config hook (loadMcpConfigs)
- Replace console.error with logger
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
2c5971e03c
feat(features): add claude-code-agent-loader, mcp-loader, session-state
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
5f3e43e46a
refactor(features): rename command-loader and skill-loader with claude-code prefix
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
801176ac22
feat(shared): add file-based logger utility
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
b710a7c792
docs: add missing hooks and features to README
...
Add 4 missing hooks documentation:
- Think Mode: auto-detect deep thinking requests
- Anthropic Auto Compact: auto-compact context
- Empty Task Response Detector: handle empty responses
- Grep Output Truncator: prevent output overflow
Add 2 missing features documentation:
- Command Loader: load commands from multiple paths
- Skill Loader: load skills as executable commands
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
8e960ceae9
feat: integrate command/skill loaders and think-mode hook in main entry
...
- Add loadCommands() and loadSkills() to config
- Register think-mode hook for UserPromptSubmit event
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
8f6affee31
feat(hooks): export createThinkModeHook from index
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
717f414e38
feat(hooks): add think-mode hook for automatic model switching
...
Detects thinking keywords (ultrathink, deepthink, etc.) and switches
to thinking-capable models automatically.
Supports model patterns:
- claude-sonnet-4-0 -> claude-sonnet-4-0-max-thinking
- claude-sonnet-4-20250514 -> claude-sonnet-4-20250514-max-thinking
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
015eb1507d
feat(tools): export slashcommand and skill tools from index
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
b42f154d56
feat(tools): add skill tool for invoking skills in conversation
...
Provides 'skill' tool that invokes skills loaded by skill-loader.
Skills expand into detailed instructions when invoked.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
18028a39f0
feat(tools): add slashcommand tool for executing slash commands
...
Provides 'slashcommand' tool that executes commands loaded by command-loader.
Handles shell injection and file reference resolution.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
2dd62b1d03
feat(skill-loader): add skill loader that converts skills to commands
...
Skills are loaded from:
- ~/.claude/skills/ (user scope)
- .claude/skills/ (project scope)
Each skill directory contains SKILL.md with frontmatter metadata.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
557ad714d8
feat(command-loader): add slash command loader from multiple paths
...
Load commands from 4 directory scopes:
- .opencode/command/ (opencode-project)
- .claude/commands/ (project)
- ~/.config/opencode/command/ (opencode)
- ~/.claude/commands/ (user)
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
YeonGyu-Kim
30118a1cdf
feat(shared): add shared utilities for command and skill loading
...
- frontmatter.ts: YAML frontmatter parser
- file-reference-resolver.ts: resolve @file references in markdown
- command-executor.ts: execute shell commands in markdown
- model-sanitizer.ts: sanitize model names for OpenCode compatibility
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 16:59:22 +09:00
github-actions[bot]
6afbd2f726
release: v0.1.31
2025-12-09 05:42:03 +00:00
YeonGyu-Kim
ab856bb981
deps: bump @code-yeongyu/comment-checker to 0.4.4
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 14:41:07 +09:00
github-actions[bot]
a31004a2ec
release: v0.1.30
2025-12-09 02:50:19 +00:00
YeonGyu-Kim
e57f6bc68c
docs: update notepad with cleanup task logs
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 11:49:17 +09:00
YeonGyu-Kim
d887c6ce38
refactor(comment-checker): simplify binary path resolution and add separator warning
...
- Remove platform-specific package lookup logic
- Remove homebrew path resolution
- Add code smell warning for comment separators
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 11:49:11 +09:00
YeonGyu-Kim
298a41e681
refactor(ast-grep): remove NAPI-based tools
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 11:49:00 +09:00
YeonGyu-Kim
b7a467bb97
feat(hooks): add anthropic-auto-compact hook
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 11:48:53 +09:00
YeonGyu-Kim
6552a2bac4
refactor(hooks): remove pulse-monitor hook
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 11:48:46 +09:00
YeonGyu-Kim
6686f75151
docs(readme-ko): clarify nested AGENTS.md injection behavior with example
...
Added directory tree example showing how multiple AGENTS.md files are
collected and injected in hierarchical order when reading nested files.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 10:38:05 +09:00
github-actions[bot]
b10b8862e6
release: v0.1.29
2025-12-09 01:37:46 +00:00
YeonGyu-Kim
9dea662030
docs(readme): clarify nested AGENTS.md injection behavior with example
...
Added directory tree example showing how multiple AGENTS.md files are
collected and injected in hierarchical order when reading nested files.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 10:36:34 +09:00
YeonGyu-Kim
afe379b567
fix(pulse-monitor): reset heartbeat after tool execution to prevent false positives
...
Tools can take arbitrary time, so we need a fresh baseline after execution.
Previously, lastHeartbeat wasn't updated after tool.execute.after, causing
stalled detection to trigger immediately after long-running tools.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 10:36:34 +09:00
YeonGyu-Kim
39a5dec9e8
refactor(mcp): remove unused builtinMcps export
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 10:36:34 +09:00
YeonGyu-Kim
3a80bde176
refactor(session-recovery): remove unused ThinkingPart interface and fallbackRevertStrategy function
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 10:36:34 +09:00
YeonGyu-Kim
6e0733a48c
refactor(lsp): remove unused formatWorkspaceEdit import
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-09 10:36:34 +09:00
github-actions[bot]
32b6638d25
release: v0.1.28
2025-12-08 08:52:28 +00:00
YeonGyu-Kim
d2c07bb6da
fix(pulse-monitor): prevent false positive stalled detection after tool execution
...
Remove forced monitoring restart in tool.execute.after to avoid false positive
stalled session detection when LLM legitimately completes response after tool run.
Monitoring now resumes naturally on next session/message event.
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2025-12-08 17:51:06 +09:00
github-actions[bot]
160f193865
release: v0.1.27
2025-12-08 08:01:03 +00:00
YeonGyu-Kim
a9de105507
docs: add Directory AGENTS.md Injector hook documentation
...
🤖 GENERATED BY [OPENCODE](https://opencode.ai/ )
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
d5e7f8309b
test: add test directory with sample files
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
de8088888c
feat(hooks): add empty-task-response-detector hook
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
5d31299025
feat(hooks): implement directory-agents-injector hook
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
37d054553d
fix(session-recovery): improve error message extraction
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
43b8488a19
feat(hooks): integrate directory-agents-injector hook into plugin pipeline
...
- Add directoryAgentsInjector to plugin event handlers
- Wire up tool.execute.after hook for directory agents injection
- Fix: Format src/index.ts with consistent semicolon style
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
194173f4cc
export(hooks): add directory-agents-injector hook to public API
...
- Export createDirectoryAgentsInjectorHook from hooks index
- Fix: Formatting (add semicolons to match code style)
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
9d3c21c9c8
refactor(session-recovery): process entire message history for empty/thinking block recovery
...
- Scan all non-final assistant messages for empty content, orphan thinking blocks, and disabled thinking
- Add storage utility functions: findMessagesWithThinkingBlocks, findMessagesWithOrphanThinking, stripThinkingParts, prependThinkingPart
- Fix: Previously only processed single failed message, now handles multiple broken messages in history
- Improve: Use filesystem-based recovery instead of unreliable SDK APIs
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
ab9ea96e1f
refactor(hooks): remove grep-blocker (grep tool now overrides built-in)
...
The grep tool now properly overrides OpenCode's built-in grep,
making the blocker hook unnecessary.
Generated by [OpenCode](https://opencode.ai/ )
2025-12-08 17:00:02 +09:00