Commit Graph

923 Commits

Author SHA1 Message Date
github-actions[bot]
a54d9b17aa @minpeter has signed the CLA in code-yeongyu/oh-my-opencode#574 2026-01-07 12:53:17 +00:00
github-actions[bot]
b0cc1cd26a @LeonardoTrapani has signed the CLA in code-yeongyu/oh-my-opencode#570 2026-01-07 10:16:39 +00:00
YeonGyu-Kim
13d3dc7144 docs: update reviews section with new quotes
- Add Arthur Guiot quote
- Add 苔硯:こけすずり quote
- Remove z80.eth, RyanOnThePath, Sigrid quotes
2026-01-07 13:23:15 +09:00
YeonGyu-Kim
2cca1cab29 docs(i18n): sync reviews section with English README
- Add Arthur Guiot quote to zh-cn and ja
- Add 苔硯:こけすずり quote with localized translations
- Remove quotes not present in English (z80.eth, RyanOnThePath, Sigrid)
2026-01-07 13:18:02 +09:00
github-actions[bot]
b23241ec4f @starcomo has signed the CLA in code-yeongyu/oh-my-opencode#486 2026-01-06 22:49:54 +00:00
Ruirui Wan
7981c86613 fix: add EXA_API_KEY header support for websearch_exa MCP (#499)
The remote MCP endpoint https://mcp.exa.ai/mcp requires API key authentication
via x-api-key header. Without this, the connection times out waiting for auth.

This change:
- Reads EXA_API_KEY from environment variable
- Passes it as x-api-key header when available
- Updates RemoteMcpConfig type to support optional headers

Co-authored-by: Junho Yeo <i@junho.io>
2026-01-07 06:12:22 +09:00
Junho Yeo
115e46517f docs(i18n): add plugins and plugins_override toggle documentation (#554) 2026-01-07 05:50:44 +09:00
geq1fan
02c1b6cc6f docs: add plugins and plugins_override toggle documentation (#481)
Add documentation for the 'plugins' and 'plugins_override' options
in the claude_code configuration section. This allows users to:

- Disable all Claude Code marketplace plugins with 'plugins: false'
- Selectively disable specific plugins using 'plugins_override'

These options were missing from the documentation but are supported
by the codebase.
2026-01-07 05:47:17 +09:00
Junho Yeo
677a7aed64 docs(contributing): update upstream branch name to master -> dev 2026-01-07 05:36:40 +09:00
Sisyphus
6f4649d92a fix: add missing LLM agent installation link in Japanese README (#500)
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-01-07 05:31:29 +09:00
Junho Yeo
947ebea20b chore: update package.json description (#553) 2026-01-07 05:09:13 +09:00
Junho Yeo
57bf84536b docs(agents): Model -> Default Model in agent breakdown 2026-01-07 04:53:30 +09:00
YeonGyu-Kim
cc4299cdea docs: add background task concurrency configuration guide to all READMEs 2026-01-07 03:34:57 +09:00
github-actions[bot]
83676b36cf release: v2.14.0 2026-01-06 18:14:03 +00:00
YeonGyu-Kim
398075f5df refactor(librarian): optimize prompt to search only when needed
- Add assessment phase before searching to reduce unnecessary tool calls
- Change mandatory minimum parallel calls to suggested ranges
- Allow direct answers from training knowledge for well-known APIs
2026-01-07 03:10:33 +09:00
YeonGyu-Kim
d4347e829d fix(auto-slash-command): load skill content via lazyContentLoader and include builtin skills 2026-01-07 03:00:28 +09:00
YeonGyu-Kim
980b685393 fix(background-agent): release concurrency before prompt to unblock queued tasks
Previously, concurrency was released in finally block AFTER prompt completion.
This caused queued tasks to remain blocked while prompt hangs.

Now release happens BEFORE prompt, allowing next queued task to start immediately
when current task completes, regardless of prompt success/failure.

Also added early release on session creation error for proper cleanup.
2026-01-07 03:00:28 +09:00
YeonGyu-Kim
b5c1cfb57f fix(keyword-detector): use mainSessionID for session check instead of unreliable API
The keyword-detector was using ctx.client.session.get() to check parentID for
determining subagent sessions, but this API didn't reliably return parentID.

This caused non-ultrawork keywords (search, analyze) to be injected in subagent
sessions when they should only work in main sessions.

Changed to use getMainSessionID() comparison, consistent with other hooks like
session-notification and todo-continuation-enforcer.

- Replace unreliable parentID API check with mainSessionID comparison
- Add comprehensive test coverage for session filtering behavior
- Remove unnecessary session.get API call
2026-01-07 03:00:28 +09:00
github-actions[bot]
cd97572d0a @atripathy86 has signed the CLA in code-yeongyu/oh-my-opencode#550 2026-01-06 17:32:42 +00:00
YeonGyu-Kim
b9ec4c7c4a docs: add GitHub follow badge to README files 2026-01-07 01:45:10 +09:00
YeonGyu-Kim
2064568124 fix: correct spawn mock type in session-notification test 2026-01-07 01:43:03 +09:00
YeonGyu-Kim
ad44af9d15 fix: load skill content via lazyContentLoader in slashcommand tool
- Fix #542: slashcommand tool returns empty content for skills
- Add lazyContentLoader to CommandInfo type
- Load skill content in formatLoadedCommand when content is empty
- Filter non-ultrawork keywords in subagent sessions
2026-01-07 01:41:42 +09:00
ananas-viber
d331b484f9 fix: verify zsh exists before using it for hook execution (#544)
The `forceZsh` option on Linux/macOS would use a hardcoded zshPath
without checking if zsh actually exists on the system. This caused
hook commands to fail silently with exit code 127 on systems without
zsh installed.

Changes:
- Always verify zsh exists via findZshPath() before using it
- Fall back to bash -lc if zsh not found (preserves login shell PATH)
- Fall through to spawn with shell:true if neither found

The bash fallback ensures user PATH from .profile/.bashrc is available,
which is important for hooks that depend on custom tool locations.

Tested with opencode v1.1.3 - PreToolUse hooks now execute correctly
on systems without zsh.

Co-authored-by: Anas Viber <ananas-viber@users.noreply.github.com>
2026-01-07 01:37:42 +09:00
João Carlos Magalhães de Castro
4a38e70fa8 fix(session-notification): use node:child_process to avoid Bun shell GC crash (#543)
Replace Bun shell template literals (ctx.$) with node:child_process.spawn
to work around Bun's ShellInterpreter garbage collection bug on Windows.

This bug causes segmentation faults in deinitFromFinalizer during heap
sweeping when shell operations are used repeatedly over time.

Bug references:
- oven-sh/bun#23177 (closed incomplete)
- oven-sh/bun#24368 (still open)
- Pending fix: oven-sh/bun#24093

The fix applies to all platforms for consistency and safety.
2026-01-07 01:37:15 +09:00
YeonGyu-Kim
204ea319cb docs: remove Korean README due to maintenance burden 2026-01-07 01:25:02 +09:00
YeonGyu-Kim
a2bfb5e556 feat(mcp): restore Exa websearch support (#549)
* feat(mcp): restore Exa MCP websearch support

- Add websearch.ts with Exa remote MCP configuration
- Update McpNameSchema to include websearch
- Wire websearch MCP into plugin initialization

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

* test(mcp): update tests and docs for websearch MCP

- Update index.test.ts to verify 3 MCPs (websearch, context7, grep_app)
- Add Exa/websearch documentation to README.md MCPs section

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-07 01:24:50 +09:00
YeonGyu-Kim
f25f7ed0f5 feat(background-agent): add model-based concurrency management (#548)
* feat(config): add BackgroundTaskConfigSchema for model concurrency

🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode)

* feat(background-agent): add ConcurrencyManager for model-based limits

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

* feat(background-agent): integrate ConcurrencyManager into BackgroundManager

🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode)

* test(background-agent): add ConcurrencyManager tests

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

* fix(background-agent): set default concurrency to 5

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

* feat(background-agent): support 0 as unlimited concurrency

Setting concurrency to 0 means unlimited (Infinity).
Works for defaultConcurrency, providerConcurrency, and modelConcurrency.

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-07 01:24:47 +09:00
YeonGyu-Kim
29dbc0f57b chore: cleanup agent model references and defaults (#547)
* refactor(agents): remove unused model references

Consistent cleanup of agent model references across all agent files.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

* fix(agents): use glm-4.7-free as default librarian model

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)

* make playwright skill to be called more
2026-01-07 01:24:44 +09:00
YeonGyu-Kim
544212fa9c docs: add Korean README translation (#546) 2026-01-07 01:24:18 +09:00
YeonGyu-Kim
f3eed731d6 remove: Korean README
- Koreans already read English well
- Machine-translated Korean felt unnatural to maintain
- Reduces maintenance overhead
2026-01-07 01:16:54 +09:00
github-actions[bot]
6f1cabd3f4 @JohnC0de has signed the CLA in code-yeongyu/oh-my-opencode#543 2026-01-06 14:45:36 +00:00
github-actions[bot]
15571d3d95 @ananas-viber has signed the CLA in code-yeongyu/oh-my-opencode#544 2026-01-06 13:22:25 +00:00
github-actions[bot]
556262e791 release: v2.13.2 2026-01-06 09:19:46 +00:00
Sisyphus
375e7f715d fix: prevent background agents from spawning recursive subagents via call_omo_agent (#536) 2026-01-06 17:40:46 +09:00
Sisyphus
5aa0ee125d feat: add English language policy and GitHub issue templates (#534) 2026-01-06 17:13:06 +09:00
github-actions[bot]
d0b3be72c5 @sngweizhi has signed the CLA in code-yeongyu/oh-my-opencode#532 2026-01-06 04:37:05 +00:00
github-actions[bot]
a10903def2 @jkoelker has signed the CLA in code-yeongyu/oh-my-opencode#531 2026-01-06 03:59:47 +00:00
github-actions[bot]
dc5a24ac3e release: v2.13.1 2026-01-05 17:16:18 +00:00
YeonGyu-Kim
9d13c6cff1 fix(config): skip permission migration for Claude Code agents
Claude Code uses whitelist-based tools format which is semantically
different from OpenCode's denylist-based permission system. Apply
migration only to plugin agents for compatibility.

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) assistance
2026-01-06 02:10:34 +09:00
YeonGyu-Kim
b78e564872 feat(builtin-commands): add /refactor command for intelligent LSP/AST-based refactoring
Ports the refactor command from ~/.config/opencode/command/refactor.md to the project as a builtin command.

The /refactor command provides deterministic, LSP/AST-aware refactoring with:
- Automatic intent analysis and codebase mapping
- Risk assessment with test coverage verification
- Detailed planning via Plan agent
- Step-by-step execution with continuous verification
- Zero-regression guarantees via comprehensive testing

Supports multiple refactoring scopes (file/module/project) and strategies (safe/aggressive).

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-06 01:49:53 +09:00
YeonGyu-Kim
c709fafa25 docs: update 'Just Install It' section with detailed Sisyphus workflow across all languages
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-06 01:42:59 +09:00
github-actions[bot]
5914a393ad release: v2.13.0 2026-01-05 15:03:55 +00:00
YeonGyu-Kim
4e5b3566a2 feat(tools): refactor slashcommand to support options and caching
- Extract createSlashcommandTool factory with SlashcommandToolOptions
- Export discoverCommandsSync for external use
- Move description building to lazy evaluation with caching
- Support pre-warming cache with provided commands and skills
- Simplify tool initialization in plugin with new factory approach

This allows the slashcommand tool to be instantiated with custom options
while maintaining backward compatibility through lazy loading.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 23:45:01 +09:00
YeonGyu-Kim
898d3e6175 fix(cli): migrate Gemini models to explicit antigravity- prefix for quota routing
All Gemini model references now use the `antigravity-` prefix to ensure explicit
routing to Antigravity quota pools instead of relying on legacy `-preview` suffix
disambiguation. This approach prevents potential breakage if Google removes the
`-preview` suffix in future versions.

Updates include:
- config-manager: Updated Gemini model assignments with antigravity- prefix
- config-manager.test.ts: Updated test assertions to match new naming convention
- install.ts: Updated config summary display to show antigravity-prefixed model name

Migration follows opencode-antigravity-auth plugin v1.2.7+ guidance for explicit
quota routing configuration.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 23:36:10 +09:00
YeonGyu-Kim
21236d88a7 chore(keyword-detector): add verification guarantee section to ultrawork prompt
Added comprehensive VERIFICATION GUARANTEE section to ultrawork prompt to enforce proof-based task completion. Includes:
- Pre-implementation success criteria definition (Functional, Observable, Pass/Fail)
- Mandatory Test Plan template for non-trivial tasks
- Execution & Evidence requirements table (Build, Test, Manual Verify, Regression)
- TDD workflow with evidence requirements
- Verification anti-patterns and blocking violations

This enhancement ensures agents must provide PROOF that something works before claiming completion - eliminating vague "it should work now" claims without evidence.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 23:21:25 +09:00
YeonGyu-Kim
ea8ca1a100 docs: update model names and auth versions for latest releases
- Update to antigravity v1.2.7 model naming conventions
- Update Codex auth version from 4.2.0 to 4.3.0
- Remove hotfix documentation (resolved in v4.3.0)
- Document available models and variants

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 23:03:30 +09:00
YeonGyu-Kim
66acb0e444 chore(auth): remove deprecated models and ChatGPT hotfix
- Remove gemini-3-pro-medium and gemini-3-flash-lite (deprecated in antigravity v1.2.7)
- Remove CHATGPT_HOTFIX_REPO variable and setupChatGPTHotfix() function
- Update CODEX_PROVIDER_CONFIG to modern variants system

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 23:03:11 +09:00
YeonGyu-Kim
f7c8763462 chore(keyword-detector): revert ultrawork to stronger agent utilization instructions
- Restore [CODE RED] maximum precision requirement
- Restore YOU MUST LEVERAGE ALL AVAILABLE AGENTS directive
- Restore TELL THE USER WHAT AGENTS YOU WILL LEVERAGE NOW
- Restore explicit parallel exploration/librarian spawn workflow
- Keep mandatory ULTRAWORK MODE ENABLED! message
- Simplify constants structure for better maintainability

This addresses the issue where explore/librarian agents were being called less frequently after recent prompt changes.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 22:44:06 +09:00
YeonGyu-Kim
ee2f390bf6 chore(keyword-detector): add mandatory ultrawork mode message
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 22:44:06 +09:00
YeonGyu-Kim
ae6495dc17 config(fallback): use opencode/glm-4.7-free as default fallback model
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-05 22:44:06 +09:00