@oh-my-pi/cli 0.3.0 → 0.5.0

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 (108) hide show
  1. package/README.md +79 -84
  2. package/dist/cli.js +5025 -1016
  3. package/dist/commands/config.d.ts +27 -0
  4. package/dist/commands/config.d.ts.map +1 -1
  5. package/dist/commands/create.d.ts.map +1 -1
  6. package/dist/commands/doctor.d.ts +2 -0
  7. package/dist/commands/doctor.d.ts.map +1 -1
  8. package/dist/commands/env.d.ts.map +1 -1
  9. package/dist/commands/features.d.ts.map +1 -1
  10. package/dist/commands/info.d.ts.map +1 -1
  11. package/dist/commands/init.d.ts.map +1 -1
  12. package/dist/commands/install.d.ts +6 -0
  13. package/dist/commands/install.d.ts.map +1 -1
  14. package/dist/commands/link.d.ts +1 -0
  15. package/dist/commands/link.d.ts.map +1 -1
  16. package/dist/commands/list.d.ts.map +1 -1
  17. package/dist/commands/outdated.d.ts.map +1 -1
  18. package/dist/commands/search.d.ts.map +1 -1
  19. package/dist/commands/uninstall.d.ts +3 -0
  20. package/dist/commands/uninstall.d.ts.map +1 -1
  21. package/dist/commands/update.d.ts +1 -0
  22. package/dist/commands/update.d.ts.map +1 -1
  23. package/dist/commands/why.d.ts.map +1 -1
  24. package/dist/conflicts.d.ts +7 -2
  25. package/dist/conflicts.d.ts.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/lock.d.ts.map +1 -1
  29. package/dist/lockfile.d.ts +24 -3
  30. package/dist/lockfile.d.ts.map +1 -1
  31. package/dist/manifest.d.ts +12 -1
  32. package/dist/manifest.d.ts.map +1 -1
  33. package/dist/npm.d.ts +11 -0
  34. package/dist/npm.d.ts.map +1 -1
  35. package/dist/output.d.ts +51 -0
  36. package/dist/output.d.ts.map +1 -0
  37. package/dist/paths.d.ts +5 -0
  38. package/dist/paths.d.ts.map +1 -1
  39. package/dist/progress.d.ts +78 -0
  40. package/dist/progress.d.ts.map +1 -0
  41. package/dist/runtime.d.ts.map +1 -1
  42. package/dist/symlinks.d.ts +1 -0
  43. package/dist/symlinks.d.ts.map +1 -1
  44. package/package.json +24 -10
  45. package/.github/icon.png +0 -0
  46. package/.github/logo.png +0 -0
  47. package/.github/workflows/ci.yml +0 -32
  48. package/.github/workflows/publish.yml +0 -42
  49. package/biome.json +0 -29
  50. package/bun.lock +0 -109
  51. package/plugins/exa/README.md +0 -153
  52. package/plugins/exa/package.json +0 -56
  53. package/plugins/exa/tools/exa/company.ts +0 -35
  54. package/plugins/exa/tools/exa/index.ts +0 -66
  55. package/plugins/exa/tools/exa/linkedin.ts +0 -35
  56. package/plugins/exa/tools/exa/researcher.ts +0 -40
  57. package/plugins/exa/tools/exa/runtime.json +0 -4
  58. package/plugins/exa/tools/exa/search.ts +0 -46
  59. package/plugins/exa/tools/exa/shared.ts +0 -230
  60. package/plugins/exa/tools/exa/websets.ts +0 -62
  61. package/plugins/metal-theme/README.md +0 -13
  62. package/plugins/metal-theme/omp.json +0 -8
  63. package/plugins/metal-theme/package.json +0 -19
  64. package/plugins/metal-theme/themes/metal.json +0 -79
  65. package/plugins/subagents/README.md +0 -25
  66. package/plugins/subagents/agents/explore.md +0 -71
  67. package/plugins/subagents/agents/planner.md +0 -51
  68. package/plugins/subagents/agents/reviewer.md +0 -53
  69. package/plugins/subagents/agents/task.md +0 -46
  70. package/plugins/subagents/commands/architect-plan.md +0 -9
  71. package/plugins/subagents/commands/implement-with-critic.md +0 -10
  72. package/plugins/subagents/commands/implement.md +0 -10
  73. package/plugins/subagents/omp.json +0 -15
  74. package/plugins/subagents/package.json +0 -26
  75. package/plugins/subagents/tools/task/index.ts +0 -1019
  76. package/plugins/user-prompt/README.md +0 -130
  77. package/plugins/user-prompt/package.json +0 -19
  78. package/plugins/user-prompt/tools/user-prompt/index.ts +0 -235
  79. package/scripts/bump-version.sh +0 -52
  80. package/scripts/publish.sh +0 -35
  81. package/src/cli.ts +0 -242
  82. package/src/commands/config.ts +0 -384
  83. package/src/commands/create.ts +0 -203
  84. package/src/commands/doctor.ts +0 -305
  85. package/src/commands/enable.ts +0 -122
  86. package/src/commands/env.ts +0 -38
  87. package/src/commands/features.ts +0 -295
  88. package/src/commands/info.ts +0 -120
  89. package/src/commands/init.ts +0 -60
  90. package/src/commands/install.ts +0 -700
  91. package/src/commands/link.ts +0 -159
  92. package/src/commands/list.ts +0 -186
  93. package/src/commands/outdated.ts +0 -87
  94. package/src/commands/search.ts +0 -77
  95. package/src/commands/uninstall.ts +0 -124
  96. package/src/commands/update.ts +0 -170
  97. package/src/commands/why.ts +0 -136
  98. package/src/conflicts.ts +0 -116
  99. package/src/errors.ts +0 -22
  100. package/src/index.ts +0 -46
  101. package/src/lock.ts +0 -46
  102. package/src/lockfile.ts +0 -132
  103. package/src/manifest.ts +0 -360
  104. package/src/npm.ts +0 -206
  105. package/src/paths.ts +0 -137
  106. package/src/runtime.ts +0 -116
  107. package/src/symlinks.ts +0 -455
  108. package/tsconfig.json +0 -28
package/README.md CHANGED
@@ -18,6 +18,17 @@
18
18
 
19
19
  ---
20
20
 
21
+ ## Plugins
22
+
23
+ | Plugin | Description |
24
+ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
25
+ | **[@oh-my-pi/subagents](https://npmjs.com/package/@oh-my-pi/subagents)** | Task delegation with specialized sub-agents (task, planner, explore, reviewer) |
26
+ | **[@oh-my-pi/exa](https://npmjs.com/package/@oh-my-pi/exa)** | Exa AI-powered web search, company/people lookup, and websets |
27
+ | **[@oh-my-pi/user-prompt](https://npmjs.com/package/@oh-my-pi/user-prompt)** | Interactive user prompting for gathering input during execution |
28
+ | **[@oh-my-pi/metal-theme](https://npmjs.com/package/@oh-my-pi/metal-theme)** | A metal theme 🤘 |
29
+
30
+ ---
31
+
21
32
  **Oh My Pi won't make Claude write better code...** but it might make _you_ feel like it does.
22
33
 
23
34
  Install community plugins with a single command. Themes, custom agents, slash commands, tools — all managed through npm, all a `omp install` away.
@@ -33,18 +44,15 @@ npm install -g @oh-my-pi/cli
33
44
  ## Quick Start
34
45
 
35
46
  ```bash
36
- # Initialize a project-local plugin config (optional)
37
- omp init
38
-
39
- # Search for plugins
40
- omp search agents
41
-
42
47
  # Install a plugin
43
48
  omp install @oh-my-pi/subagents
44
49
 
45
50
  # See what you've got
46
51
  omp list
47
52
 
53
+ # Search for more
54
+ omp search agents
55
+
48
56
  # Check for updates
49
57
  omp outdated
50
58
 
@@ -74,10 +82,10 @@ Plugins declare which files to install via the `omp.install` field in their `pac
74
82
 
75
83
  omp supports both global and project-local plugin configurations:
76
84
 
77
- | Scope | Config Location | Agent Directory | Use Case |
78
- |-------|-----------------|-----------------|----------|
79
- | Global | `~/.pi/plugins/` | `~/.pi/agent/` | Personal defaults |
80
- | Local | `.pi/` | `.pi/agent/` | Project-specific plugins |
85
+ | Scope | Config Location | Agent Directory | Use Case |
86
+ | ------ | ---------------- | --------------- | ------------------------ |
87
+ | Global | `~/.pi/plugins/` | `~/.pi/agent/` | Personal defaults |
88
+ | Local | `.pi/` | `.pi/agent/` | Project-specific plugins |
81
89
 
82
90
  ```bash
83
91
  # Explicit scope
@@ -92,25 +100,25 @@ Initialize a project-local config with `omp init`.
92
100
 
93
101
  ## Commands
94
102
 
95
- | Command | Alias | Description |
96
- |---------|-------|-------------|
97
- | `omp install [pkg...]` | `i` | Install plugin(s). No args = install from plugins.json |
98
- | `omp uninstall <pkg>` | `rm` | Remove plugin and its symlinks |
99
- | `omp update [pkg]` | `up` | Update to latest within semver range |
100
- | `omp list` | `ls` | Show installed plugins |
101
- | `omp search <query>` | | Search npm for plugins |
102
- | `omp info <pkg>` | | Show plugin details before install |
103
- | `omp outdated` | | List plugins with newer versions |
104
- | `omp doctor` | | Check for broken symlinks, conflicts |
105
- | `omp link <path>` | | Symlink local plugin (dev mode) |
106
- | `omp create <name>` | | Scaffold new plugin from template |
107
- | `omp init` | | Create .pi/plugins.json in current project |
108
- | `omp why <file>` | | Show which plugin installed a file |
109
- | `omp enable <name>` | | Enable a disabled plugin |
110
- | `omp disable <name>` | | Disable plugin without uninstalling |
111
- | `omp features <name>` | | List or configure plugin features |
112
- | `omp config <name>` | | Get or set plugin configuration variables |
113
- | `omp env` | | Print environment variables for shell eval |
103
+ | Command | Alias | Description |
104
+ | ---------------------- | ----- | ------------------------------------------------------ |
105
+ | `omp install [pkg...]` | `i` | Install plugin(s). No args = install from plugins.json |
106
+ | `omp uninstall <pkg>` | `rm` | Remove plugin and its symlinks |
107
+ | `omp update [pkg]` | `up` | Update to latest within semver range |
108
+ | `omp list` | `ls` | Show installed plugins |
109
+ | `omp search <query>` | | Search npm for plugins |
110
+ | `omp info <pkg>` | | Show plugin details before install |
111
+ | `omp outdated` | | List plugins with newer versions |
112
+ | `omp doctor` | | Check for broken symlinks, conflicts |
113
+ | `omp link <path>` | | Symlink local plugin (dev mode) |
114
+ | `omp create <name>` | | Scaffold new plugin from template |
115
+ | `omp init` | | Create .pi/plugins.json in current project |
116
+ | `omp why <file>` | | Show which plugin installed a file |
117
+ | `omp enable <name>` | | Enable a disabled plugin |
118
+ | `omp disable <name>` | | Disable plugin without uninstalling |
119
+ | `omp features <name>` | | List or configure plugin features |
120
+ | `omp config <name>` | | Get or set plugin configuration variables |
121
+ | `omp env` | | Print environment variables for shell eval |
114
122
 
115
123
  Most commands accept `-g`/`--global` or `-l`/`--local` flags to override scope auto-detection.
116
124
 
@@ -190,16 +198,16 @@ Plugins are npm packages with an `omp` field in `package.json`:
190
198
 
191
199
  ```json
192
200
  {
193
- "name": "my-cool-plugin",
194
- "version": "1.0.0",
195
- "keywords": ["omp-plugin"],
196
- "omp": {
197
- "install": [
198
- { "src": "agents/researcher.md", "dest": "agent/agents/researcher.md" },
199
- { "src": "commands/research.md", "dest": "agent/commands/research.md" }
200
- ]
201
- },
202
- "files": ["agents", "commands", "tools", "themes"]
201
+ "name": "my-cool-plugin",
202
+ "version": "1.0.0",
203
+ "keywords": ["omp-plugin"],
204
+ "omp": {
205
+ "install": [
206
+ { "src": "agents/researcher.md", "dest": "agent/agents/researcher.md" },
207
+ { "src": "commands/research.md", "dest": "agent/commands/research.md" }
208
+ ]
209
+ },
210
+ "files": ["agents", "commands", "tools", "themes"]
203
211
  }
204
212
  ```
205
213
 
@@ -209,44 +217,38 @@ Plugins can define optional features and configurable variables:
209
217
 
210
218
  ```json
211
219
  {
212
- "name": "@oh-my-pi/exa",
213
- "version": "1.0.0",
214
- "keywords": ["omp-plugin"],
215
- "omp": {
216
- "install": [
217
- { "src": "tools/core.ts", "dest": "agent/tools/exa/core.ts" }
218
- ],
219
- "variables": {
220
- "apiKey": {
221
- "type": "string",
222
- "env": "EXA_API_KEY",
223
- "description": "Exa API key",
224
- "required": true
225
- }
226
- },
227
- "features": {
228
- "search": {
229
- "description": "Web search capabilities",
230
- "default": true,
231
- "install": [
232
- { "src": "tools/search.ts", "dest": "agent/tools/exa/search.ts" }
233
- ]
234
- },
235
- "websets": {
236
- "description": "Curated content collections",
237
- "default": false,
238
- "install": [
239
- { "src": "tools/websets.ts", "dest": "agent/tools/exa/websets.ts" }
240
- ],
241
- "variables": {
242
- "defaultCollection": {
243
- "type": "string",
244
- "default": "general"
245
- }
246
- }
247
- }
248
- }
249
- }
220
+ "name": "@oh-my-pi/exa",
221
+ "version": "1.0.0",
222
+ "keywords": ["omp-plugin"],
223
+ "omp": {
224
+ "install": [{ "src": "tools/core.ts", "dest": "agent/tools/exa/core.ts" }],
225
+ "variables": {
226
+ "apiKey": {
227
+ "type": "string",
228
+ "env": "EXA_API_KEY",
229
+ "description": "Exa API key",
230
+ "required": true
231
+ }
232
+ },
233
+ "features": {
234
+ "search": {
235
+ "description": "Web search capabilities",
236
+ "default": true,
237
+ "install": [{ "src": "tools/search.ts", "dest": "agent/tools/exa/search.ts" }]
238
+ },
239
+ "websets": {
240
+ "description": "Curated content collections",
241
+ "default": false,
242
+ "install": [{ "src": "tools/websets.ts", "dest": "agent/tools/exa/websets.ts" }],
243
+ "variables": {
244
+ "defaultCollection": {
245
+ "type": "string",
246
+ "default": "general"
247
+ }
248
+ }
249
+ }
250
+ }
251
+ }
250
252
  }
251
253
  ```
252
254
 
@@ -297,13 +299,6 @@ omp list
297
299
  cd my-plugin && npm publish
298
300
  ```
299
301
 
300
- ## Bundled Plugins
301
-
302
- - **[@oh-my-pi/subagents](https://npmjs.com/package/@oh-my-pi/subagents)**: Task delegation with specialized sub-agents (task, planner, explore, reviewer)
303
- - **[@oh-my-pi/metal-theme](https://npmjs.com/package/@oh-my-pi/metal-theme)**: A metal theme
304
- - **[@oh-my-pi/exa](https://npmjs.com/package/@oh-my-pi/exa)**: Exa AI-powered web search and websets tools
305
- - **[@oh-my-pi/user-prompt](https://npmjs.com/package/@oh-my-pi/user-prompt)**: Interactive user prompting for gathering input during agent execution
306
-
307
302
  ## Troubleshooting
308
303
 
309
304
  ```bash