Skip to content

In README.opencode.md add a link to the opencode docs for the location(s) of the opencode.json file#1914

Open
johnyesberg wants to merge 11 commits into
obra:devfrom
johnyesberg:patch-1
Open

In README.opencode.md add a link to the opencode docs for the location(s) of the opencode.json file#1914
johnyesberg wants to merge 11 commits into
obra:devfrom
johnyesberg:patch-1

Conversation

@johnyesberg

Copy link
Copy Markdown

Who is submitting this PR? (required)

John Yesberg - 100% human.

What problem are you trying to solve?

As a new opencode user, I didn't know where the opencode.json file is located.
I had to search.
I thought it would have been simpler if this document included a link to opencode doc that defines the locations.
That doc also explains that the file might be opencode.jsonc.

I note that there is a risk that the link might rot if opencode doc URL changes in the future.

What does this PR change?

Add a hyperlink to the readme.

Is this change appropriate for the core library?

Yes.

What alternatives did you consider?

I considered providing Windows-specific file locations.
But decided that a link to the actual doc was more general and less intrusive.

Does this PR contain multiple unrelated changes?

No.

Existing PRs

  • I have reviewed all open AND closed PRs for duplicates or prior art
  • Related PRs: 704

Environment tested

N/A - documentation change only.

New harness support (required if this PR adds a new harness)

N/A

Evaluation

N/A

Rigor

N/A

Human review

  • A human has reviewed the COMPLETE proposed diff before submission

arittr and others added 11 commits July 2, 2026 14:56
…s object

Codex auto-discovers a plugin's hooks/hooks.json whenever the Codex
manifest has no `hooks` field: load_plugin_hooks falls back to a
hardcoded DEFAULT_HOOKS_CONFIG_FILE = "hooks/hooks.json" and registers
it. hooks/hooks.json is the Claude Code SessionStart hook, it is tracked
in this repo, and the Codex marketplace installs the whole repo root
(source url "./"), so the fallback re-registered the SessionStart hook
and its install-time trust prompt on Codex.

Removing the Codex hook file and the manifest `hooks` pointer (commit
"Remove Codex hooks") did not disable the hook on Codex — it removed the
explicit declaration that was overriding the fallback, so the fallback
took over and found the Claude hooks/hooks.json.

Declare an empty inline hooks object ({}) in .codex-plugin/plugin.json.
It parses as an empty inline hook set and stops Codex reaching the
auto-discovery fallback. An absent field, an empty array ([]), and an
empty inline list all collapse back to the fallback, so the value must
be exactly {}.

Update the test to assert the manifest declares hooks: {} (and that
hooks/hooks.json exists, which is what makes the declaration necessary),
replacing the prior assertion that the field was absent — which passed
while the hook was still being auto-discovered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… docs

hooks/session-start-codex has had no caller since "Remove Codex hooks"
(obra#1845) deleted hooks-codex.json and its manifest registration; the
Codex manifest now declares an empty hooks object so Codex registers no
session-start hook at all. The script is Codex-specific dead code —
nothing executes it on Codex or any other harness.

- Delete hooks/session-start-codex.
- tests/hooks/test-session-start.sh: drop the two Codex cases that are
  redundant with the generic session-start tests (nested-format and the
  legacy-warning omission are already covered by the Claude Code cases).
  Re-point the "wrapper dispatches" case to the live `session-start`
  script so run-hook.cmd dispatch coverage — used by Claude Code and
  Cursor in production — is preserved rather than lost.
- docs/porting-to-a-new-harness.md: Codex is no longer a Shape A
  (shell-hook) harness, so re-anchor that worked example to Cursor (a
  live shell-hook harness that demonstrates the same per-harness field,
  schema, and matcher variance) and mark Codex as native skill discovery
  with no session-start hook. Clears the references to the deleted
  hooks-codex.json.
- docs/windows/polyglot-hooks.md: the "check hooks-codex.json" pointer
  referenced a file deleted in obra#1845; re-point to hooks-cursor.json.

RELEASE-NOTES.md keeps its historical mention of hooks-codex.json (it
accurately records what that release did). The tests/codex-plugin-sync
fixtures build their own synthetic session-start-codex and test the sync
mechanism generically, so they are intentionally left as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…pencode docs

Updated installation instructions for clarity and added link to opencode.json documentation.

When I came to install Superpowers, I wasn't aware of the location of opencode.json (or jsonc).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants