oh-my-codex 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +269 -0
  2. package/bin/omx.js +25 -0
  3. package/dist/agents/definitions.d.ts +22 -0
  4. package/dist/agents/definitions.d.ts.map +1 -0
  5. package/dist/agents/definitions.js +235 -0
  6. package/dist/agents/definitions.js.map +1 -0
  7. package/dist/cli/doctor.d.ts +11 -0
  8. package/dist/cli/doctor.d.ts.map +1 -0
  9. package/dist/cli/doctor.js +157 -0
  10. package/dist/cli/doctor.js.map +1 -0
  11. package/dist/cli/index.d.ts +6 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +266 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/cli/setup.d.ts +12 -0
  16. package/dist/cli/setup.d.ts.map +1 -0
  17. package/dist/cli/setup.js +175 -0
  18. package/dist/cli/setup.js.map +1 -0
  19. package/dist/cli/version.d.ts +2 -0
  20. package/dist/cli/version.d.ts.map +1 -0
  21. package/dist/cli/version.js +17 -0
  22. package/dist/cli/version.js.map +1 -0
  23. package/dist/config/generator.d.ts +14 -0
  24. package/dist/config/generator.d.ts.map +1 -0
  25. package/dist/config/generator.js +106 -0
  26. package/dist/config/generator.js.map +1 -0
  27. package/dist/hooks/__tests__/agents-overlay.test.d.ts +8 -0
  28. package/dist/hooks/__tests__/agents-overlay.test.d.ts.map +1 -0
  29. package/dist/hooks/__tests__/agents-overlay.test.js +148 -0
  30. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -0
  31. package/dist/hooks/agents-overlay.d.ts +34 -0
  32. package/dist/hooks/agents-overlay.d.ts.map +1 -0
  33. package/dist/hooks/agents-overlay.js +265 -0
  34. package/dist/hooks/agents-overlay.js.map +1 -0
  35. package/dist/hooks/emulator.d.ts +44 -0
  36. package/dist/hooks/emulator.d.ts.map +1 -0
  37. package/dist/hooks/emulator.js +108 -0
  38. package/dist/hooks/emulator.js.map +1 -0
  39. package/dist/hooks/keyword-detector.d.ts +27 -0
  40. package/dist/hooks/keyword-detector.d.ts.map +1 -0
  41. package/dist/hooks/keyword-detector.js +63 -0
  42. package/dist/hooks/keyword-detector.js.map +1 -0
  43. package/dist/hooks/session.d.ts +38 -0
  44. package/dist/hooks/session.d.ts.map +1 -0
  45. package/dist/hooks/session.js +135 -0
  46. package/dist/hooks/session.js.map +1 -0
  47. package/dist/hud/colors.d.ts +26 -0
  48. package/dist/hud/colors.d.ts.map +1 -0
  49. package/dist/hud/colors.js +71 -0
  50. package/dist/hud/colors.js.map +1 -0
  51. package/dist/hud/index.d.ts +12 -0
  52. package/dist/hud/index.d.ts.map +1 -0
  53. package/dist/hud/index.js +107 -0
  54. package/dist/hud/index.js.map +1 -0
  55. package/dist/hud/render.d.ts +9 -0
  56. package/dist/hud/render.d.ts.map +1 -0
  57. package/dist/hud/render.js +192 -0
  58. package/dist/hud/render.js.map +1 -0
  59. package/dist/hud/state.d.ts +21 -0
  60. package/dist/hud/state.d.ts.map +1 -0
  61. package/dist/hud/state.js +101 -0
  62. package/dist/hud/state.js.map +1 -0
  63. package/dist/hud/types.d.ts +87 -0
  64. package/dist/hud/types.d.ts.map +1 -0
  65. package/dist/hud/types.js +8 -0
  66. package/dist/hud/types.js.map +1 -0
  67. package/dist/index.d.ts +18 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +18 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/mcp/code-intel-server.d.ts +7 -0
  72. package/dist/mcp/code-intel-server.d.ts.map +1 -0
  73. package/dist/mcp/code-intel-server.js +567 -0
  74. package/dist/mcp/code-intel-server.js.map +1 -0
  75. package/dist/mcp/memory-server.d.ts +7 -0
  76. package/dist/mcp/memory-server.d.ts.map +1 -0
  77. package/dist/mcp/memory-server.js +359 -0
  78. package/dist/mcp/memory-server.js.map +1 -0
  79. package/dist/mcp/state-server.d.ts +7 -0
  80. package/dist/mcp/state-server.d.ts.map +1 -0
  81. package/dist/mcp/state-server.js +181 -0
  82. package/dist/mcp/state-server.js.map +1 -0
  83. package/dist/mcp/trace-server.d.ts +7 -0
  84. package/dist/mcp/trace-server.d.ts.map +1 -0
  85. package/dist/mcp/trace-server.js +205 -0
  86. package/dist/mcp/trace-server.js.map +1 -0
  87. package/dist/modes/base.d.ts +50 -0
  88. package/dist/modes/base.d.ts.map +1 -0
  89. package/dist/modes/base.js +140 -0
  90. package/dist/modes/base.js.map +1 -0
  91. package/dist/notifications/notifier.d.ts +30 -0
  92. package/dist/notifications/notifier.d.ts.map +1 -0
  93. package/dist/notifications/notifier.js +124 -0
  94. package/dist/notifications/notifier.js.map +1 -0
  95. package/dist/team/orchestrator.d.ts +54 -0
  96. package/dist/team/orchestrator.d.ts.map +1 -0
  97. package/dist/team/orchestrator.js +106 -0
  98. package/dist/team/orchestrator.js.map +1 -0
  99. package/dist/utils/package.d.ts +9 -0
  100. package/dist/utils/package.d.ts.map +1 -0
  101. package/dist/utils/package.js +31 -0
  102. package/dist/utils/package.js.map +1 -0
  103. package/dist/utils/paths.d.ts +27 -0
  104. package/dist/utils/paths.d.ts.map +1 -0
  105. package/dist/utils/paths.js +60 -0
  106. package/dist/utils/paths.js.map +1 -0
  107. package/dist/verification/verifier.d.ts +32 -0
  108. package/dist/verification/verifier.d.ts.map +1 -0
  109. package/dist/verification/verifier.js +81 -0
  110. package/dist/verification/verifier.js.map +1 -0
  111. package/package.json +54 -0
  112. package/prompts/analyst.md +110 -0
  113. package/prompts/api-reviewer.md +98 -0
  114. package/prompts/architect.md +109 -0
  115. package/prompts/build-fixer.md +89 -0
  116. package/prompts/code-reviewer.md +105 -0
  117. package/prompts/critic.md +87 -0
  118. package/prompts/debugger.md +93 -0
  119. package/prompts/deep-executor.md +112 -0
  120. package/prompts/dependency-expert.md +99 -0
  121. package/prompts/designer.md +103 -0
  122. package/prompts/executor.md +99 -0
  123. package/prompts/explore.md +112 -0
  124. package/prompts/git-master.md +92 -0
  125. package/prompts/information-architect.md +267 -0
  126. package/prompts/performance-reviewer.md +94 -0
  127. package/prompts/planner.md +116 -0
  128. package/prompts/product-analyst.md +299 -0
  129. package/prompts/product-manager.md +255 -0
  130. package/prompts/qa-tester.md +98 -0
  131. package/prompts/quality-reviewer.md +105 -0
  132. package/prompts/quality-strategist.md +227 -0
  133. package/prompts/researcher.md +96 -0
  134. package/prompts/scientist.md +92 -0
  135. package/prompts/security-reviewer.md +125 -0
  136. package/prompts/style-reviewer.md +87 -0
  137. package/prompts/test-engineer.md +103 -0
  138. package/prompts/ux-researcher.md +282 -0
  139. package/prompts/verifier.md +95 -0
  140. package/prompts/vision.md +75 -0
  141. package/prompts/writer.md +86 -0
  142. package/scripts/notify-hook.js +237 -0
  143. package/skills/analyze/SKILL.md +93 -0
  144. package/skills/autopilot/SKILL.md +175 -0
  145. package/skills/build-fix/SKILL.md +123 -0
  146. package/skills/cancel/SKILL.md +387 -0
  147. package/skills/code-review/SKILL.md +208 -0
  148. package/skills/configure-discord/SKILL.md +256 -0
  149. package/skills/configure-telegram/SKILL.md +232 -0
  150. package/skills/deepinit/SKILL.md +320 -0
  151. package/skills/deepsearch/SKILL.md +38 -0
  152. package/skills/doctor/SKILL.md +193 -0
  153. package/skills/ecomode/SKILL.md +114 -0
  154. package/skills/frontend-ui-ux/SKILL.md +34 -0
  155. package/skills/git-master/SKILL.md +29 -0
  156. package/skills/help/SKILL.md +192 -0
  157. package/skills/hud/SKILL.md +97 -0
  158. package/skills/learn-about-omx/SKILL.md +37 -0
  159. package/skills/learner/SKILL.md +135 -0
  160. package/skills/note/SKILL.md +62 -0
  161. package/skills/omx-setup/SKILL.md +1147 -0
  162. package/skills/pipeline/SKILL.md +407 -0
  163. package/skills/plan/SKILL.md +223 -0
  164. package/skills/project-session-manager/SKILL.md +560 -0
  165. package/skills/psm/SKILL.md +20 -0
  166. package/skills/ralph/SKILL.md +197 -0
  167. package/skills/ralph-init/SKILL.md +38 -0
  168. package/skills/ralplan/SKILL.md +34 -0
  169. package/skills/release/SKILL.md +83 -0
  170. package/skills/research/SKILL.md +510 -0
  171. package/skills/review/SKILL.md +30 -0
  172. package/skills/security-review/SKILL.md +284 -0
  173. package/skills/skill/SKILL.md +837 -0
  174. package/skills/swarm/SKILL.md +25 -0
  175. package/skills/tdd/SKILL.md +106 -0
  176. package/skills/team/SKILL.md +860 -0
  177. package/skills/trace/SKILL.md +33 -0
  178. package/skills/ultrapilot/SKILL.md +632 -0
  179. package/skills/ultraqa/SKILL.md +130 -0
  180. package/skills/ultrawork/SKILL.md +143 -0
  181. package/skills/writer-memory/SKILL.md +443 -0
  182. package/templates/AGENTS.md +326 -0
@@ -0,0 +1,197 @@
1
+ ---
2
+ name: ralph
3
+ description: Self-referential loop until task completion with architect verification
4
+ ---
5
+
6
+ [RALPH + ULTRAWORK - ITERATION {{ITERATION}}/{{MAX}}]
7
+
8
+ Your previous attempt did not output the completion promise. Continue working on the task.
9
+
10
+ <Purpose>
11
+ Ralph is a persistence loop that keeps working on a task until it is fully complete and architect-verified. It wraps ultrawork's parallel execution with session persistence, automatic retry on failure, and mandatory verification before completion.
12
+ </Purpose>
13
+
14
+ <Use_When>
15
+ - Task requires guaranteed completion with verification (not just "do your best")
16
+ - User says "ralph", "don't stop", "must complete", "finish this", or "keep going until done"
17
+ - Work may span multiple iterations and needs persistence across retries
18
+ - Task benefits from parallel execution with architect sign-off at the end
19
+ </Use_When>
20
+
21
+ <Do_Not_Use_When>
22
+ - User wants a full autonomous pipeline from idea to code -- use `autopilot` instead
23
+ - User wants to explore or plan before committing -- use `plan` skill instead
24
+ - User wants a quick one-shot fix -- delegate directly to an executor agent
25
+ - User wants manual control over completion -- use `ultrawork` directly
26
+ </Do_Not_Use_When>
27
+
28
+ <Why_This_Exists>
29
+ Complex tasks often fail silently: partial implementations get declared "done", tests get skipped, edge cases get forgotten. Ralph prevents this by looping until work is genuinely complete, requiring fresh verification evidence before allowing completion, and using tiered architect review to confirm quality.
30
+ </Why_This_Exists>
31
+
32
+ <Execution_Policy>
33
+ - Fire independent agent calls simultaneously -- never wait sequentially for independent work
34
+ - Use `run_in_background: true` for long operations (installs, builds, test suites)
35
+ - Always pass the `model` parameter explicitly when delegating to agents
36
+ - Read `docs/shared/agent-tiers.md` before first delegation to select correct agent tiers
37
+ - Deliver the full implementation: no scope reduction, no partial completion, no deleting tests to make them pass
38
+ </Execution_Policy>
39
+
40
+ <Steps>
41
+ 1. **Review progress**: Check TODO list and any prior iteration state
42
+ 2. **Continue from where you left off**: Pick up incomplete tasks
43
+ 3. **Delegate in parallel**: Route tasks to specialist agents at appropriate tiers
44
+ - Simple lookups: LOW tier (Haiku) -- "What does this function return?"
45
+ - Standard work: MEDIUM tier (Sonnet) -- "Add error handling to this module"
46
+ - Complex analysis: HIGH tier (Opus) -- "Debug this race condition"
47
+ 4. **Run long operations in background**: Builds, installs, test suites use `run_in_background: true`
48
+ 5. **Verify completion with fresh evidence**:
49
+ a. Identify what command proves the task is complete
50
+ b. Run verification (test, build, lint)
51
+ c. Read the output -- confirm it actually passed
52
+ d. Check: zero pending/in_progress TODO items
53
+ 6. **Architect verification** (tiered):
54
+ - <5 files, <100 lines with full tests: STANDARD tier minimum (architect-medium / Sonnet)
55
+ - Standard changes: STANDARD tier (architect-medium / Sonnet)
56
+ - >20 files or security/architectural changes: THOROUGH tier (architect / Opus)
57
+ - Ralph floor: always at least STANDARD, even for small changes
58
+ 7. **On approval**: Run `/cancel` to cleanly exit and clean up all state files
59
+ 8. **On rejection**: Fix the issues raised, then re-verify at the same tier
60
+ </Steps>
61
+
62
+ <Tool_Usage>
63
+ - Before first MCP tool use, call `ToolSearch("mcp")` to discover deferred MCP tools
64
+ - Use `ask_codex` with `agent_role: "architect"` for verification cross-checks when changes are security-sensitive, architectural, or involve complex multi-system integration
65
+ - Skip Codex consultation for simple feature additions, well-tested changes, or time-critical verification
66
+ - If ToolSearch finds no MCP tools or Codex is unavailable, proceed with architect agent verification alone -- never block on external tools
67
+ - Use `state_write` / `state_read` for ralph mode state persistence between iterations
68
+ </Tool_Usage>
69
+
70
+ ## State Management
71
+
72
+ Use the `omx_state` MCP server tools (`state_write`, `state_read`, `state_clear`) for Ralph lifecycle state.
73
+
74
+ - **On start**:
75
+ `state_write({mode: "ralph", active: true, iteration: 1, max_iterations: 10, current_phase: "executing", started_at: "<now>"})`
76
+ - **On each iteration**:
77
+ `state_write({mode: "ralph", iteration: <current>, current_phase: "executing"})`
78
+ - **On verification/fix transition**:
79
+ `state_write({mode: "ralph", current_phase: "verifying"})` or `state_write({mode: "ralph", current_phase: "fixing"})`
80
+ - **On completion**:
81
+ `state_write({mode: "ralph", active: false, current_phase: "complete", completed_at: "<now>"})`
82
+ - **On cancellation/cleanup**:
83
+ run `$cancel` (which should call `state_clear(mode="ralph")`)
84
+
85
+ <Examples>
86
+ <Good>
87
+ Correct parallel delegation:
88
+ ```
89
+ spawn_sub_agent(subagent_type="oh-my-codex:executor-low", model="haiku", prompt="Add type export for UserConfig")
90
+ spawn_sub_agent(subagent_type="oh-my-codex:executor", model="sonnet", prompt="Implement the caching layer for API responses")
91
+ spawn_sub_agent(subagent_type="oh-my-codex:executor-high", model="opus", prompt="Refactor auth module to support OAuth2 flow")
92
+ ```
93
+ Why good: Three independent tasks fired simultaneously at appropriate tiers.
94
+ </Good>
95
+
96
+ <Good>
97
+ Correct verification before completion:
98
+ ```
99
+ 1. Run: npm test → Output: "42 passed, 0 failed"
100
+ 2. Run: npm run build → Output: "Build succeeded"
101
+ 3. Run: lsp_diagnostics → Output: 0 errors
102
+ 4. Spawn architect-medium → Verdict: "APPROVED"
103
+ 5. Run /cancel
104
+ ```
105
+ Why good: Fresh evidence at each step, architect verification, then clean exit.
106
+ </Good>
107
+
108
+ <Bad>
109
+ Claiming completion without verification:
110
+ "All the changes look good, the implementation should work correctly. Task complete."
111
+ Why bad: Uses "should" and "look good" -- no fresh test/build output, no architect verification.
112
+ </Bad>
113
+
114
+ <Bad>
115
+ Sequential execution of independent tasks:
116
+ ```
117
+ spawn_sub_agent(executor-low, "Add type export") → wait →
118
+ spawn_sub_agent(executor, "Implement caching") → wait →
119
+ spawn_sub_agent(executor-high, "Refactor auth")
120
+ ```
121
+ Why bad: These are independent tasks that should run in parallel, not sequentially.
122
+ </Bad>
123
+ </Examples>
124
+
125
+ <Escalation_And_Stop_Conditions>
126
+ - Stop and report when a fundamental blocker requires user input (missing credentials, unclear requirements, external service down)
127
+ - Stop when the user says "stop", "cancel", or "abort" -- run `/cancel`
128
+ - Continue working when the hook system sends "The boulder never stops" -- this means the iteration continues
129
+ - If architect rejects verification, fix the issues and re-verify (do not stop)
130
+ - If the same issue recurs across 3+ iterations, report it as a potential fundamental problem
131
+ </Escalation_And_Stop_Conditions>
132
+
133
+ <Final_Checklist>
134
+ - [ ] All requirements from the original task are met (no scope reduction)
135
+ - [ ] Zero pending or in_progress TODO items
136
+ - [ ] Fresh test run output shows all tests pass
137
+ - [ ] Fresh build output shows success
138
+ - [ ] lsp_diagnostics shows 0 errors on affected files
139
+ - [ ] Architect verification passed (STANDARD tier minimum)
140
+ - [ ] `/cancel` run for clean state cleanup
141
+ </Final_Checklist>
142
+
143
+ <Advanced>
144
+ ## PRD Mode (Optional)
145
+
146
+ When the user provides the `--prd` flag, initialize a Product Requirements Document before starting the ralph loop.
147
+
148
+ ### Detecting PRD Mode
149
+ Check if `{{PROMPT}}` contains `--prd` or `--PRD`.
150
+
151
+ ### PRD Workflow
152
+ 1. Create `.omx/prd.json` and `.omx/progress.txt`
153
+ 2. Parse the task (everything after `--prd` flag)
154
+ 3. Break down into user stories:
155
+
156
+ ```json
157
+ {
158
+ "project": "[Project Name]",
159
+ "branchName": "ralph/[feature-name]",
160
+ "description": "[Feature description]",
161
+ "userStories": [
162
+ {
163
+ "id": "US-001",
164
+ "title": "[Short title]",
165
+ "description": "As a [user], I want to [action] so that [benefit].",
166
+ "acceptanceCriteria": ["Criterion 1", "Typecheck passes"],
167
+ "priority": 1,
168
+ "passes": false
169
+ }
170
+ ]
171
+ }
172
+ ```
173
+
174
+ 4. Create `progress.txt` with timestamp and empty patterns section
175
+ 5. Guidelines: right-sized stories (one session each), verifiable criteria, independent stories, priority order (foundational work first)
176
+ 6. Proceed to normal ralph loop using user stories as the task list
177
+
178
+ ### Example
179
+ User input: `--prd build a todo app with React and TypeScript`
180
+ Workflow: Detect flag, extract task, create `.omx/prd.json`, create `.omx/progress.txt`, begin ralph loop.
181
+
182
+ ## Background Execution Rules
183
+
184
+ **Run in background** (`run_in_background: true`):
185
+ - Package installation (npm install, pip install, cargo build)
186
+ - Build processes (make, project build commands)
187
+ - Test suites
188
+ - Docker operations (docker build, docker pull)
189
+
190
+ **Run blocking** (foreground):
191
+ - Quick status checks (git status, ls, pwd)
192
+ - File reads and edits
193
+ - Simple commands
194
+ </Advanced>
195
+
196
+ Original task:
197
+ {{PROMPT}}
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: ralph-init
3
+ description: Initialize a PRD (Product Requirements Document) for structured ralph-loop execution
4
+ ---
5
+
6
+ # Ralph Init
7
+
8
+ Initialize a PRD (Product Requirements Document) for structured ralph-loop execution. Creates a structured requirements document that Ralph can use for goal-driven iteration.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /ralph-init "project or feature description"
14
+ ```
15
+
16
+ ## Behavior
17
+
18
+ 1. **Gather requirements** via interactive interview or from the provided description
19
+ 2. **Create PRD** at `.omx/plans/prd-{slug}.md` with:
20
+ - Problem statement
21
+ - Goals and non-goals
22
+ - Acceptance criteria (testable)
23
+ - Technical constraints
24
+ - Implementation phases
25
+ 3. **Link to Ralph** so that `/ralph` can use the PRD as its completion criteria
26
+
27
+ ## Output
28
+
29
+ A structured PRD file saved to `.omx/plans/` that serves as the definition of done for Ralph execution.
30
+
31
+ ## Next Steps
32
+
33
+ After creating the PRD, start execution with:
34
+ ```
35
+ /ralph "implement the PRD"
36
+ ```
37
+
38
+ Ralph will iterate until all acceptance criteria in the PRD are met and architect-verified.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: ralplan
3
+ description: Alias for /plan --consensus
4
+ ---
5
+
6
+ # Ralplan (Consensus Planning Alias)
7
+
8
+ Ralplan is a shorthand alias for `/plan --consensus`. It triggers iterative planning with Planner, Architect, and Critic agents until consensus is reached.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /ralplan "task description"
14
+ ```
15
+
16
+ ## Behavior
17
+
18
+ This skill invokes the Plan skill in consensus mode:
19
+
20
+ ```
21
+ /plan --consensus <arguments>
22
+ ```
23
+
24
+ The consensus workflow:
25
+ 1. **Planner** creates initial plan
26
+ 2. **User feedback**: **MUST** use `AskUserQuestion` to present the draft plan before review (Proceed to review / Request changes / Skip review)
27
+ 3. **Architect** reviews for architectural soundness
28
+ 4. **Critic** evaluates against quality criteria
29
+ 5. If Critic rejects: iterate with feedback (max 5 iterations)
30
+ 6. On Critic approval: **MUST** use `AskUserQuestion` to present the plan with approval options
31
+ 7. User chooses: Approve, Request changes, or Reject
32
+ 8. On approval: **MUST** invoke `/ralph` for execution -- never implement directly
33
+
34
+ Follow the Plan skill's full documentation for consensus mode details.
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: release
3
+ description: Automated release workflow for oh-my-codex
4
+ ---
5
+
6
+ # Release Skill
7
+
8
+ Automate the release process for oh-my-codex.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /release <version>
14
+ ```
15
+
16
+ Example: `/release 2.4.0` or `/release patch` or `/release minor`
17
+
18
+ ## Release Checklist
19
+
20
+ Execute these steps in order:
21
+
22
+ ### 1. Version Bump
23
+ Update version in all locations:
24
+ - `package.json`
25
+ - `src/installer/index.ts` (VERSION constant)
26
+ - `src/__tests__/installer.test.ts` (expected version)
27
+ - `.claude-plugin/plugin.json`
28
+ - `README.md` (version badge and title)
29
+
30
+ ### 2. Run Tests
31
+ ```bash
32
+ npm run test:run
33
+ ```
34
+ All 231+ tests must pass before proceeding.
35
+
36
+ ### 3. Commit Version Bump
37
+ ```bash
38
+ git add -A
39
+ git commit -m "chore: Bump version to <version>"
40
+ ```
41
+
42
+ ### 4. Create & Push Tag
43
+ ```bash
44
+ git tag v<version>
45
+ git push origin main
46
+ git push origin v<version>
47
+ ```
48
+
49
+ ### 5. Publish to npm
50
+ ```bash
51
+ npm publish --access public
52
+ ```
53
+
54
+ ### 6. Create GitHub Release
55
+ ```bash
56
+ gh release create v<version> --title "v<version> - <title>" --notes "<release notes>"
57
+ ```
58
+
59
+ ### 7. Verify
60
+ - [ ] npm: https://www.npmjs.com/package/oh-my-claude-sisyphus
61
+ - [ ] GitHub: https://github.com/Yeachan-Heo/oh-my-codex/releases
62
+
63
+ ## Version Files Reference
64
+
65
+ | File | Field/Line |
66
+ |------|------------|
67
+ | `package.json` | `"version": "X.Y.Z"` |
68
+ | `src/installer/index.ts` | `export const VERSION = 'X.Y.Z'` |
69
+ | `src/__tests__/installer.test.ts` | `expect(VERSION).toBe('X.Y.Z')` |
70
+ | `.claude-plugin/plugin.json` | `"version": "X.Y.Z"` |
71
+ | `README.md` | Title + version badge |
72
+
73
+ ## Semantic Versioning
74
+
75
+ - **patch** (X.Y.Z+1): Bug fixes, minor improvements
76
+ - **minor** (X.Y+1.0): New features, backward compatible
77
+ - **major** (X+1.0.0): Breaking changes
78
+
79
+ ## Notes
80
+
81
+ - Always run tests before publishing
82
+ - Create release notes summarizing changes
83
+ - Plugin marketplace syncs automatically from GitHub releases