@agents-inc/cli 0.68.0 → 0.72.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.
- package/CHANGELOG.md +46 -0
- package/README.md +172 -23
- package/dist/chunk-2MHSOPIU.js +84 -0
- package/dist/chunk-2MHSOPIU.js.map +1 -0
- package/dist/{chunk-VTRVAXUM.js → chunk-3SLO2QPW.js} +6 -6
- package/dist/{chunk-KFDTVSIC.js → chunk-6YMW4HMX.js} +2 -2
- package/dist/{chunk-KBG7GYPL.js → chunk-AHZ34QVK.js} +76 -113
- package/dist/chunk-AHZ34QVK.js.map +1 -0
- package/dist/chunk-D7FEORKC.js +253 -0
- package/dist/chunk-D7FEORKC.js.map +1 -0
- package/dist/{chunk-L6MTIQ2U.js → chunk-F43WGOGN.js} +2 -2
- package/dist/{chunk-F6KEZ4Y5.js → chunk-FKRYJOPC.js} +4 -4
- package/dist/{chunk-RMMHVE2R.js → chunk-G3LNIYZG.js} +2 -2
- package/dist/{chunk-GK5CAS3A.js → chunk-HJVWBSLM.js} +4 -4
- package/dist/{chunk-45R64U2S.js → chunk-HMJGSAKV.js} +24 -22
- package/dist/chunk-HMJGSAKV.js.map +1 -0
- package/dist/{chunk-6BXKF5GP.js → chunk-J4TVAB5H.js} +2 -2
- package/dist/{chunk-2JJUPWE5.js → chunk-LBTW5HSY.js} +2 -2
- package/dist/{chunk-QUEO6QEL.js → chunk-LM5YQUBR.js} +3 -3
- package/dist/{chunk-FCF4WQEI.js → chunk-MGQVO357.js} +2 -2
- package/dist/{chunk-KWB3B2HS.js → chunk-NKKYTCBH.js} +109 -86
- package/dist/chunk-NKKYTCBH.js.map +1 -0
- package/dist/{chunk-HADHP7XF.js → chunk-OODTDGEM.js} +6 -6
- package/dist/chunk-Q3YMO5YG.js +58 -0
- package/dist/chunk-Q3YMO5YG.js.map +1 -0
- package/dist/{chunk-L5LD3ZSR.js → chunk-RJOLQ7EK.js} +4 -4
- package/dist/{chunk-SSGPFKS4.js → chunk-SEAL43IR.js} +3 -3
- package/dist/{chunk-JAWXWNIX.js → chunk-UQTG4ZBA.js} +10 -10
- package/dist/{chunk-EULHBV5V.js → chunk-URAXGHF2.js} +3 -3
- package/dist/{chunk-KMDBOO3E.js → chunk-V2XIWRHP.js} +2 -2
- package/dist/chunk-WF5PMBIR.js +54 -0
- package/dist/chunk-WF5PMBIR.js.map +1 -0
- package/dist/{chunk-N4D43IOO.js → chunk-WWHDP5CP.js} +55 -8
- package/dist/chunk-WWHDP5CP.js.map +1 -0
- package/dist/{chunk-R3AR4VLZ.js → chunk-ZEJIEC2A.js} +154 -150
- package/dist/chunk-ZEJIEC2A.js.map +1 -0
- package/dist/{chunk-7LCI5PSJ.js → chunk-ZFRALAK5.js} +2 -2
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +6 -6
- package/dist/commands/build/stack.js +6 -6
- package/dist/commands/compile.js +6 -6
- package/dist/commands/config/index.js +6 -6
- package/dist/commands/config/path.js +5 -5
- package/dist/commands/config/show.js +6 -6
- package/dist/commands/diff.js +5 -5
- package/dist/commands/doctor.js +5 -5
- package/dist/commands/edit.js +21 -20
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +5 -5
- package/dist/commands/import/skill.js +5 -5
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +21 -20
- package/dist/commands/list.js +5 -5
- package/dist/commands/new/agent.js +6 -6
- package/dist/commands/new/marketplace.js +7 -7
- package/dist/commands/new/skill.js +6 -6
- package/dist/commands/outdated.js +5 -5
- package/dist/commands/search.js +5 -5
- package/dist/commands/uninstall.js +5 -5
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +5 -5
- package/dist/components/common/select-list.js +11 -0
- package/dist/components/wizard/category-grid.test.js +6 -6
- package/dist/components/wizard/domain-selection.js +6 -6
- package/dist/components/wizard/search-modal.js +2 -1
- package/dist/components/wizard/search-modal.test.js +3 -2
- package/dist/components/wizard/search-modal.test.js.map +1 -1
- package/dist/components/wizard/source-grid.js +3 -2
- package/dist/components/wizard/source-grid.test.js +17 -13
- package/dist/components/wizard/source-grid.test.js.map +1 -1
- package/dist/components/wizard/stack-selection.js +6 -6
- package/dist/components/wizard/step-agents.js +6 -6
- package/dist/components/wizard/step-agents.test.js +10 -9
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +7 -7
- package/dist/components/wizard/step-build.test.js +17 -52
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.test.js +6 -6
- package/dist/components/wizard/step-settings.js +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +10 -9
- package/dist/components/wizard/step-sources.test.js +15 -13
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +9 -9
- package/dist/components/wizard/step-stack.test.js +10 -10
- package/dist/components/wizard/wizard-layout.js +6 -6
- package/dist/components/wizard/wizard.js +19 -18
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +21 -20
- package/dist/hooks/init.js.map +1 -1
- package/dist/{loader-CMSC3RAO.js → loader-KVKSTKWX.js} +3 -3
- package/dist/{source-loader-YMWWZFVD.js → source-loader-65IAJPNV.js} +5 -5
- package/dist/{source-manager-6G3EVTU2.js → source-manager-LJH225GA.js} +5 -5
- package/dist/source-manager-LJH225GA.js.map +1 -0
- package/dist/stores/matrix-store.test.js +17 -13
- package/dist/stores/matrix-store.test.js.map +1 -1
- package/dist/stores/wizard-store.js +5 -5
- package/dist/stores/wizard-store.test.js +35 -110
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +2 -1
- package/dist/chunk-45R64U2S.js.map +0 -1
- package/dist/chunk-6IK2TCK7.js +0 -97
- package/dist/chunk-6IK2TCK7.js.map +0 -1
- package/dist/chunk-KBG7GYPL.js.map +0 -1
- package/dist/chunk-KWB3B2HS.js.map +0 -1
- package/dist/chunk-N4D43IOO.js.map +0 -1
- package/dist/chunk-R3AR4VLZ.js.map +0 -1
- /package/dist/{chunk-VTRVAXUM.js.map → chunk-3SLO2QPW.js.map} +0 -0
- /package/dist/{chunk-KFDTVSIC.js.map → chunk-6YMW4HMX.js.map} +0 -0
- /package/dist/{chunk-L6MTIQ2U.js.map → chunk-F43WGOGN.js.map} +0 -0
- /package/dist/{chunk-F6KEZ4Y5.js.map → chunk-FKRYJOPC.js.map} +0 -0
- /package/dist/{chunk-RMMHVE2R.js.map → chunk-G3LNIYZG.js.map} +0 -0
- /package/dist/{chunk-GK5CAS3A.js.map → chunk-HJVWBSLM.js.map} +0 -0
- /package/dist/{chunk-6BXKF5GP.js.map → chunk-J4TVAB5H.js.map} +0 -0
- /package/dist/{chunk-2JJUPWE5.js.map → chunk-LBTW5HSY.js.map} +0 -0
- /package/dist/{chunk-QUEO6QEL.js.map → chunk-LM5YQUBR.js.map} +0 -0
- /package/dist/{chunk-FCF4WQEI.js.map → chunk-MGQVO357.js.map} +0 -0
- /package/dist/{chunk-HADHP7XF.js.map → chunk-OODTDGEM.js.map} +0 -0
- /package/dist/{chunk-L5LD3ZSR.js.map → chunk-RJOLQ7EK.js.map} +0 -0
- /package/dist/{chunk-SSGPFKS4.js.map → chunk-SEAL43IR.js.map} +0 -0
- /package/dist/{chunk-JAWXWNIX.js.map → chunk-UQTG4ZBA.js.map} +0 -0
- /package/dist/{chunk-EULHBV5V.js.map → chunk-URAXGHF2.js.map} +0 -0
- /package/dist/{chunk-KMDBOO3E.js.map → chunk-V2XIWRHP.js.map} +0 -0
- /package/dist/{chunk-7LCI5PSJ.js.map → chunk-ZFRALAK5.js.map} +0 -0
- /package/dist/{loader-CMSC3RAO.js.map → components/common/select-list.js.map} +0 -0
- /package/dist/{source-loader-YMWWZFVD.js.map → loader-KVKSTKWX.js.map} +0 -0
- /package/dist/{source-manager-6G3EVTU2.js.map → source-loader-65IAJPNV.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,52 @@ Each release has detailed notes in its own file under [`changelogs/`](./changelo
|
|
|
7
7
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [0.72.0] - 2026-03-12
|
|
11
|
+
|
|
12
|
+
**Generated source types codegen**
|
|
13
|
+
|
|
14
|
+
- Codegen script replaces manually-maintained type unions with generated source of truth
|
|
15
|
+
- Strict slug validation at parse boundaries via Zod enum schemas
|
|
16
|
+
- Orphan categories removed, default configuration cleaned up
|
|
17
|
+
|
|
18
|
+
See [changelogs/0.72.0.md](./changelogs/0.72.0.md) for full details.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## [0.71.0] - 2026-03-11
|
|
23
|
+
|
|
24
|
+
**Reusable SelectList component, Dashboard and GlobalConfigPrompt UX overhaul**
|
|
25
|
+
|
|
26
|
+
- New `SelectList<T>` component for vertical single-select lists
|
|
27
|
+
- Dashboard simplified to vertical menu (no stats display)
|
|
28
|
+
- Screen clears between successive Ink renders
|
|
29
|
+
|
|
30
|
+
See [changelogs/0.71.0.md](./changelogs/0.71.0.md) for full details.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## [0.70.0] - 2026-03-11
|
|
35
|
+
|
|
36
|
+
**Centralize remaining test data (R-09b)**
|
|
37
|
+
|
|
38
|
+
- Pre-built matrix constants and config factories replace inline test data construction
|
|
39
|
+
- CLAUDE.md conventions updated for new test data patterns
|
|
40
|
+
|
|
41
|
+
See [changelogs/0.70.0.md](./changelogs/0.70.0.md) for full details.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## [0.69.0] - 2026-03-11
|
|
46
|
+
|
|
47
|
+
**loadStackById default stacks fallback (R-01)**
|
|
48
|
+
|
|
49
|
+
- `loadStackById` now checks built-in default stacks internally
|
|
50
|
+
- R-07 codegen plan for source-derived type unions
|
|
51
|
+
|
|
52
|
+
See [changelogs/0.69.0.md](./changelogs/0.69.0.md) for full details.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
10
56
|
## [0.68.0] - 2026-03-11
|
|
11
57
|
|
|
12
58
|
**Per-agent scope in edit mode (D-74)**
|
package/README.md
CHANGED
|
@@ -1,40 +1,189 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img alt="Agents Inc" src="./assets/logo.svg" width="300">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
# Agents Inc
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
An agent composition framework that builds stacks and compiles specialized subagents for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Manage your subagents and skills with code via a unified CLI.
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/@agents-inc/cli)
|
|
10
|
+
[](https://www.typescriptlang.org/)
|
|
11
|
+
[](./LICENSE)
|
|
12
|
+
[](https://nodejs.org/)
|
|
13
|
+
|
|
14
|
+
<!-- TODO: Add animated GIF of the full init wizard flow (stack selection -> skill grid -> agent config -> done).
|
|
15
|
+
This is the hero image. It should show the complete happy path in ~15-20 seconds.
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="./assets/init-wizard.gif" alt="Agents Inc init wizard" width="700">
|
|
18
|
+
</p>
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Agents Inc comprises two parts:
|
|
24
|
+
|
|
25
|
+
- **[Marketplace](https://github.com/agents-inc/skills):** 87+ atomic, best-practice skills spanning web, API, CLI, infra, and meta domains
|
|
26
|
+
- **CLI:** installs, ejects, creates, compiles, and updates skills and subagents
|
|
11
27
|
|
|
12
|
-
|
|
28
|
+
Skills are composed into 18+ domain-specific subagents through templates and modular agent partials, all validated against strict Zod schemas. Everything is ejectable so there's endless customisation with no lock-in.
|
|
29
|
+
|
|
30
|
+
## How It Works
|
|
31
|
+
|
|
32
|
+
Each subagent is composed from modular partials (role, workflow, output format) plus a set of atomic skills. The CLI manages the full lifecycle:
|
|
33
|
+
|
|
34
|
+
- **Install:** pull skills from the public marketplace, your own, or a local directory either as plugins or directly as source files
|
|
35
|
+
- **Compose:** map skills to subagents, configure preloaded vs dynamic loading
|
|
36
|
+
- **Compile:** resolve skill mappings, Liquid templates, and agent partials into `.claude/agents/`
|
|
37
|
+
- **Eject:** take progressive ownership of any layer (partials, templates, skills, subagents)
|
|
38
|
+
- **Update:** pull upstream skill changes without losing local customizations
|
|
39
|
+
|
|
40
|
+
## Getting Started
|
|
13
41
|
|
|
14
42
|
```bash
|
|
15
|
-
|
|
43
|
+
npx @agents-inc/cli init
|
|
16
44
|
```
|
|
17
45
|
|
|
18
|
-
|
|
46
|
+
Requires Node 18+ and [Claude Code](https://docs.anthropic.com/en/docs/claude-code).
|
|
47
|
+
|
|
48
|
+
The wizard has three steps:
|
|
49
|
+
|
|
50
|
+
**1. Pick a stack or start from scratch** (or create your own in your custom marketplace):
|
|
51
|
+
|
|
52
|
+
| Stack | Technologies |
|
|
53
|
+
| ------------------ | ------------------------------------------------------------------ |
|
|
54
|
+
| `nextjs-fullstack` | Next.js + React + Hono + Drizzle + PostHog + Zustand + React Query |
|
|
55
|
+
| `angular-stack` | Angular 19 + Signals + NgRx SignalStore + Hono + Drizzle |
|
|
56
|
+
| `vue-stack` | Vue 3 Composition API + Pinia + Hono + Drizzle |
|
|
57
|
+
| `nuxt-stack` | Nuxt + Vue 3 full-stack + Pinia + Hono + Drizzle |
|
|
58
|
+
| `remix-stack` | Remix + React + Hono + Drizzle |
|
|
59
|
+
| `solidjs-stack` | SolidJS + Hono + Drizzle |
|
|
60
|
+
|
|
61
|
+
**2. Customize skills.** Add or remove from the interactive grid.
|
|
62
|
+
|
|
63
|
+
**3. Select subagents.** Choose which role-based subagents to include.
|
|
64
|
+
|
|
65
|
+
**4. Compile.** After init, use `agentsinc edit` to change selections and `agentsinc compile` to rebuild.
|
|
66
|
+
|
|
67
|
+
## Skills
|
|
68
|
+
|
|
69
|
+
87+ skills organized by category:
|
|
70
|
+
|
|
71
|
+
**Web:** `React` `Vue` `Angular` `SolidJS` `Next.js` `Remix` `Nuxt` `SCSS Modules` `CVA` `Zustand` `Pinia` `NgRx SignalStore` `Jotai` `React Query` `SWR` `tRPC` `GraphQL` `React Hook Form` `Zod` `shadcn/ui` `Radix UI` `TanStack Table` `Vitest` `Playwright` `Cypress` `MSW` `Framer Motion` `Storybook` `Accessibility`
|
|
72
|
+
|
|
73
|
+
**API:** `Hono` `Express` `Fastify` `Drizzle` `Prisma` `Better Auth` `PostHog` `Resend` `Axiom + Pino + Sentry` `GitHub Actions`
|
|
74
|
+
|
|
75
|
+
**Mobile:** `React Native` `Expo`
|
|
76
|
+
|
|
77
|
+
**CLI:** `Commander` `oclif + Ink`
|
|
19
78
|
|
|
20
|
-
|
|
21
|
-
- `metadata.yaml` -- Skill metadata (category, author, description, custom: true)
|
|
79
|
+
**Infra:** `Turborepo` `Tooling` `Env config`
|
|
22
80
|
|
|
23
|
-
|
|
81
|
+
**Meta:** `Code reviewing` `Research methodology` `Investigation requirements` `Anti-over-engineering` `Context management`
|
|
24
82
|
|
|
25
|
-
|
|
83
|
+
## Subagents
|
|
84
|
+
|
|
85
|
+
17 roles across 7 categories:
|
|
86
|
+
|
|
87
|
+
| Category | Subagents |
|
|
88
|
+
| ---------------- | ------------------------------------------------------------------ |
|
|
89
|
+
| Developers | `web-developer` `api-developer` `cli-developer` `web-architecture` |
|
|
90
|
+
| Reviewers | `web-reviewer` `api-reviewer` `cli-reviewer` |
|
|
91
|
+
| Testers | `web-tester` `cli-tester` |
|
|
92
|
+
| Researchers | `web-researcher` `api-researcher` |
|
|
93
|
+
| Planning | `web-pm` |
|
|
94
|
+
| Pattern Analysis | `pattern-scout` `web-pattern-critique` |
|
|
95
|
+
| Documentation | `documentor` |
|
|
96
|
+
| Meta | `skill-summoner` `agent-summoner` |
|
|
97
|
+
|
|
98
|
+
## Commands
|
|
99
|
+
|
|
100
|
+
### Primary
|
|
101
|
+
|
|
102
|
+
| Command | Description |
|
|
103
|
+
| --------- | --------------------------------------------------------------------------- |
|
|
104
|
+
| `init` | Interactive setup wizard: pick a stack, customize skills, compile subagents |
|
|
105
|
+
| `edit` | Modify skill selection in the interactive wizard |
|
|
106
|
+
| `compile` | Recompile subagents after changes |
|
|
107
|
+
| `update` | Pull latest skills from source |
|
|
108
|
+
|
|
109
|
+
### Customization
|
|
110
|
+
|
|
111
|
+
| Command | Description |
|
|
112
|
+
| -------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
113
|
+
| `eject <type>` | Export for customization (`agent-partials`, `templates`, `skills`, `all`) |
|
|
114
|
+
| `new skill` | Scaffold a custom skill  |
|
|
115
|
+
| `new agent` | Scaffold a custom agent  |
|
|
116
|
+
| `import skill` | Import a skill from an external GitHub repository  |
|
|
117
|
+
| `search` | Search skills across sources  |
|
|
118
|
+
|
|
119
|
+
### Diagnostics
|
|
120
|
+
|
|
121
|
+
| Command | Description |
|
|
122
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------ |
|
|
123
|
+
| `doctor` | Diagnose setup issues |
|
|
124
|
+
| `diff` | Show changes between local and source skills  |
|
|
125
|
+
| `outdated` | Check for skill updates |
|
|
126
|
+
| `validate` | Validate config and skill structure |
|
|
127
|
+
| `info` | Show project configuration details |
|
|
128
|
+
| `uninstall` | Remove Agents Inc from your project |
|
|
129
|
+
|
|
130
|
+
Run `agentsinc --help` for full usage.
|
|
131
|
+
|
|
132
|
+
## Customization
|
|
133
|
+
|
|
134
|
+
Progressive layers from config to full extension:
|
|
135
|
+
|
|
136
|
+
| Layer | How |
|
|
137
|
+
| --------------- | ---------------------------------------------------------------------------------------------- |
|
|
138
|
+
| Edit config | `.claude-src/config.yaml`; skill-to-subagent mappings, preloaded/dynamic |
|
|
139
|
+
| Wizard | `agentsinc edit`; add/remove skills interactively |
|
|
140
|
+
| Eject partials | `agentsinc eject agent-partials`; customize agent partials such as intro, workflow, and output |
|
|
141
|
+
| Eject templates | `agentsinc eject templates`; modify Liquid templates |
|
|
142
|
+
| Eject skills | `agentsinc eject skills`; fork skills for local editing |
|
|
143
|
+
| Custom skills | `agentsinc new skill`; scaffold with proper metadata |
|
|
144
|
+
| Custom agents | `agentsinc new agent`; scaffold agent files |
|
|
145
|
+
| Custom sources | Point to a private repo or local directory as a skill source |
|
|
146
|
+
| Plugins | Package skills/subagents as Claude Code plugins for distribution |
|
|
147
|
+
|
|
148
|
+
Templates apply globally across all subagents; partials apply to specific roles. Put shared conventions in a template for consistency, and role-specific behaviour in partials.
|
|
149
|
+
|
|
150
|
+
Import skills from any GitHub repository:
|
|
26
151
|
|
|
27
152
|
```bash
|
|
28
|
-
|
|
29
|
-
agentsinc
|
|
153
|
+
agentsinc import skill github:your-org/skills --list
|
|
154
|
+
agentsinc import skill github:your-org/skills --skill react-best-practices
|
|
155
|
+
agentsinc import skill github:your-org/skills --all
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Tech Stack
|
|
159
|
+
|
|
160
|
+
| Component | Technology |
|
|
161
|
+
| ------------ | ------------------------------------- |
|
|
162
|
+
| Commands | oclif |
|
|
163
|
+
| Terminal UI | Ink + React |
|
|
164
|
+
| Wizard state | Zustand |
|
|
165
|
+
| Validation | Zod (30+ schemas at parse boundaries) |
|
|
166
|
+
| Compilation | LiquidJS |
|
|
167
|
+
| Testing | Vitest |
|
|
30
168
|
|
|
31
|
-
|
|
32
|
-
|
|
169
|
+
```
|
|
170
|
+
src/cli/
|
|
171
|
+
commands/ # oclif command definitions
|
|
172
|
+
components/ # Ink/React terminal UI components
|
|
173
|
+
lib/ # Core logic (compiler, loader, resolver, schemas)
|
|
174
|
+
stores/ # Zustand state management
|
|
175
|
+
utils/ # Shared utilities
|
|
176
|
+
src/agents/ # Subagent definitions (18 roles)
|
|
177
|
+
config/ # Skills matrix, stacks, default mappings
|
|
33
178
|
```
|
|
34
179
|
|
|
35
|
-
|
|
180
|
+
See [docs/reference/architecture.md](./docs/reference/architecture.md) for the full reference.
|
|
181
|
+
|
|
182
|
+
## Links
|
|
183
|
+
|
|
184
|
+
- [Plugin Marketplace](https://github.com/agents-inc/skills): browse and discover skills
|
|
185
|
+
- [Architecture Reference](./docs/reference/architecture.md): full system documentation
|
|
186
|
+
|
|
187
|
+
## License
|
|
36
188
|
|
|
37
|
-
|
|
38
|
-
and stacks from `config/stacks.ts`.
|
|
39
|
-
Custom categories are discovered from skill `metadata.yaml` files with `custom: true`.
|
|
40
|
-
Custom skills appear alongside built-in ones in the wizard. No manual registration needed.
|
|
189
|
+
MIT
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
SelectList
|
|
4
|
+
} from "./chunk-WF5PMBIR.js";
|
|
5
|
+
import {
|
|
6
|
+
KEY_LABEL_ARROWS_VERT,
|
|
7
|
+
KEY_LABEL_ENTER,
|
|
8
|
+
KEY_LABEL_ESC
|
|
9
|
+
} from "./chunk-6VIOO74O.js";
|
|
10
|
+
import {
|
|
11
|
+
CLI_COLORS
|
|
12
|
+
} from "./chunk-EGMQ3SXN.js";
|
|
13
|
+
import {
|
|
14
|
+
init_esm_shims
|
|
15
|
+
} from "./chunk-DHET7RCE.js";
|
|
16
|
+
|
|
17
|
+
// src/cli/components/wizard/search-modal.tsx
|
|
18
|
+
init_esm_shims();
|
|
19
|
+
import { Box, Text } from "ink";
|
|
20
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
21
|
+
function candidateToItem(candidate) {
|
|
22
|
+
return {
|
|
23
|
+
label: `${candidate.sourceName}/${candidate.id}`,
|
|
24
|
+
value: candidate
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
var SearchModal = ({
|
|
28
|
+
results,
|
|
29
|
+
alias,
|
|
30
|
+
onBind,
|
|
31
|
+
onClose,
|
|
32
|
+
active
|
|
33
|
+
}) => {
|
|
34
|
+
const items = results.map(candidateToItem);
|
|
35
|
+
return /* @__PURE__ */ jsxs(
|
|
36
|
+
Box,
|
|
37
|
+
{
|
|
38
|
+
flexDirection: "column",
|
|
39
|
+
borderStyle: "single",
|
|
40
|
+
borderColor: CLI_COLORS.NEUTRAL,
|
|
41
|
+
paddingX: 1,
|
|
42
|
+
paddingY: 0,
|
|
43
|
+
marginTop: 1,
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ jsxs(Text, { bold: true, children: [
|
|
46
|
+
'Search results for "',
|
|
47
|
+
alias,
|
|
48
|
+
'"'
|
|
49
|
+
] }),
|
|
50
|
+
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
51
|
+
results.length === 0 ? /* @__PURE__ */ jsx(Text, { dimColor: true, children: "No results found" }) : /* @__PURE__ */ jsx(
|
|
52
|
+
SelectList,
|
|
53
|
+
{
|
|
54
|
+
items,
|
|
55
|
+
onSelect: onBind,
|
|
56
|
+
onCancel: onClose,
|
|
57
|
+
active,
|
|
58
|
+
renderItem: (item, isFocused) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
59
|
+
/* @__PURE__ */ jsx(Text, { bold: isFocused, color: isFocused ? CLI_COLORS.PRIMARY : void 0, children: item.label }),
|
|
60
|
+
item.value.description && /* @__PURE__ */ jsxs(Text, { dimColor: true, children: [
|
|
61
|
+
" ",
|
|
62
|
+
item.value.description
|
|
63
|
+
] })
|
|
64
|
+
] })
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
68
|
+
/* @__PURE__ */ jsxs(Text, { dimColor: true, children: [
|
|
69
|
+
KEY_LABEL_ARROWS_VERT,
|
|
70
|
+
" navigate ",
|
|
71
|
+
KEY_LABEL_ENTER,
|
|
72
|
+
" bind ",
|
|
73
|
+
KEY_LABEL_ESC,
|
|
74
|
+
" close"
|
|
75
|
+
] })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
SearchModal
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=chunk-2MHSOPIU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/wizard/search-modal.tsx"],"sourcesContent":["import React from \"react\";\nimport { Box, Text } from \"ink\";\nimport type { BoundSkillCandidate } from \"../../types/index.js\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport { SelectList, type SelectListItem } from \"../common/select-list.js\";\nimport { KEY_LABEL_ARROWS_VERT, KEY_LABEL_ENTER, KEY_LABEL_ESC } from \"./hotkeys.js\";\n\nexport type SearchModalProps = {\n results: BoundSkillCandidate[];\n alias: string;\n onBind: (candidate: BoundSkillCandidate) => void;\n onClose: () => void;\n active?: boolean;\n};\n\nfunction candidateToItem(candidate: BoundSkillCandidate): SelectListItem<BoundSkillCandidate> {\n return {\n label: `${candidate.sourceName}/${candidate.id}`,\n value: candidate,\n };\n}\n\nexport const SearchModal: React.FC<SearchModalProps> = ({\n results,\n alias,\n onBind,\n onClose,\n active,\n}) => {\n const items = results.map(candidateToItem);\n\n return (\n <Box\n flexDirection=\"column\"\n borderStyle=\"single\"\n borderColor={CLI_COLORS.NEUTRAL}\n paddingX={1}\n paddingY={0}\n marginTop={1}\n >\n <Text bold>Search results for "{alias}"</Text>\n <Text> </Text>\n\n {results.length === 0 ? (\n <Text dimColor>No results found</Text>\n ) : (\n <SelectList\n items={items}\n onSelect={onBind}\n onCancel={onClose}\n active={active}\n renderItem={(item, isFocused) => (\n <>\n <Text bold={isFocused} color={isFocused ? CLI_COLORS.PRIMARY : undefined}>\n {item.label}\n </Text>\n {item.value.description && (\n <Text dimColor>\n {\" \"}\n {item.value.description}\n </Text>\n )}\n </>\n )}\n />\n )}\n\n <Text> </Text>\n <Text dimColor>\n {KEY_LABEL_ARROWS_VERT} navigate {KEY_LABEL_ENTER} bind {KEY_LABEL_ESC} close\n </Text>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA,SAAS,KAAK,YAAY;AAuCpB,SAYM,UAXN,KADA;AAzBN,SAAS,gBAAgB,WAAqE;AAC5F,SAAO;AAAA,IACL,OAAO,GAAG,UAAU,UAAU,IAAI,UAAU,EAAE;AAAA,IAC9C,OAAO;AAAA,EACT;AACF;AAEO,IAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,QAAQ,IAAI,eAAe;AAEzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,aAAY;AAAA,MACZ,aAAa,WAAW;AAAA,MACxB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MAEX;AAAA,6BAAC,QAAK,MAAI,MAAC;AAAA;AAAA,UAA0B;AAAA,UAAM;AAAA,WAAM;AAAA,QACjD,oBAAC,QAAK,eAAC;AAAA,QAEN,QAAQ,WAAW,IAClB,oBAAC,QAAK,UAAQ,MAAC,8BAAgB,IAE/B;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,UAAU;AAAA,YACV,UAAU;AAAA,YACV;AAAA,YACA,YAAY,CAAC,MAAM,cACjB,iCACE;AAAA,kCAAC,QAAK,MAAM,WAAW,OAAO,YAAY,WAAW,UAAU,QAC5D,eAAK,OACR;AAAA,cACC,KAAK,MAAM,eACV,qBAAC,QAAK,UAAQ,MACX;AAAA;AAAA,gBACA,KAAK,MAAM;AAAA,iBACd;AAAA,eAEJ;AAAA;AAAA,QAEJ;AAAA,QAGF,oBAAC,QAAK,eAAC;AAAA,QACP,qBAAC,QAAK,UAAQ,MACX;AAAA;AAAA,UAAsB;AAAA,UAAW;AAAA,UAAgB;AAAA,UAAO;AAAA,UAAc;AAAA,WACzE;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
import {
|
|
3
3
|
useMeasuredHeight
|
|
4
4
|
} from "./chunk-K77I4XGL.js";
|
|
5
|
-
import {
|
|
6
|
-
CategoryGrid
|
|
7
|
-
} from "./chunk-CKPJTMNC.js";
|
|
8
5
|
import {
|
|
9
6
|
getDomainDisplayName,
|
|
10
7
|
orderDomains
|
|
11
8
|
} from "./chunk-ZYUASJUN.js";
|
|
9
|
+
import {
|
|
10
|
+
CategoryGrid
|
|
11
|
+
} from "./chunk-CKPJTMNC.js";
|
|
12
12
|
import {
|
|
13
13
|
ViewTitle
|
|
14
14
|
} from "./chunk-AQYAVLZK.js";
|
|
15
15
|
import {
|
|
16
16
|
useWizardStore
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-URAXGHF2.js";
|
|
18
18
|
import {
|
|
19
19
|
KEY_LABEL_ENTER,
|
|
20
20
|
KEY_LABEL_ESC
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
getAvailableSkills,
|
|
24
24
|
resolveAlias
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-HMJGSAKV.js";
|
|
26
26
|
import {
|
|
27
27
|
findSkill,
|
|
28
28
|
getMatrix
|
|
@@ -245,4 +245,4 @@ export {
|
|
|
245
245
|
validateBuildStep,
|
|
246
246
|
StepBuild
|
|
247
247
|
};
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
248
|
+
//# sourceMappingURL=chunk-3SLO2QPW.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-7SOPVGDV.js";
|
|
5
5
|
import {
|
|
6
6
|
SearchModal
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2MHSOPIU.js";
|
|
8
8
|
import {
|
|
9
9
|
useFocusedListItem
|
|
10
10
|
} from "./chunk-GG4BSB6S.js";
|
|
@@ -259,4 +259,4 @@ var SourceGrid = ({
|
|
|
259
259
|
export {
|
|
260
260
|
SourceGrid
|
|
261
261
|
};
|
|
262
|
-
//# sourceMappingURL=chunk-
|
|
262
|
+
//# sourceMappingURL=chunk-6YMW4HMX.js.map
|