use-agentz 0.1.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/README.md +308 -0
- package/dist/authoring/define.js +132 -0
- package/dist/cli.js +26581 -0
- package/dist/config/define.js +36 -0
- package/dist/ui/web/index.html +16 -0
- package/dist/ui/web/logo.png +0 -0
- package/dist/ui/web/main.tsx +2406 -0
- package/dist/ui/web/styles.css +2338 -0
- package/package.json +54 -0
- package/registry/r/agent.analyst.json +44 -0
- package/registry/r/agent.designer.json +34 -0
- package/registry/r/agent.developer.json +31 -0
- package/registry/r/agent.expert-orchestrator.json +36 -0
- package/registry/r/agent.expert.json +33 -0
- package/registry/r/agent.orchestrator.json +39 -0
- package/registry/r/agent.quick.json +28 -0
- package/registry/r/agent.reviewer-anthropic.json +34 -0
- package/registry/r/agent.reviewer-gpt.json +34 -0
- package/registry/r/agent.scout.json +34 -0
- package/registry/r/command.caveman.json +20 -0
- package/registry/r/command.grill-me.json +20 -0
- package/registry/r/group.cli-bun.json +13 -0
- package/registry/r/group.cli-go.json +13 -0
- package/registry/r/group.database-design.json +12 -0
- package/registry/r/group.design.json +14 -0
- package/registry/r/group.documents.json +13 -0
- package/registry/r/group.engineering-process.json +18 -0
- package/registry/r/group.go.json +21 -0
- package/registry/r/group.python.json +10 -0
- package/registry/r/group.react.json +11 -0
- package/registry/r/group.typescript.json +10 -0
- package/registry/r/lsp.proto.json +41 -0
- package/registry/r/mcp.context7.json +13 -0
- package/registry/r/mcp.playwright.json +50 -0
- package/registry/r/pack.basic.json +78 -0
- package/registry/r/pack.gpt-5-6.json +78 -0
- package/registry/r/pack.optimized.json +78 -0
- package/registry/r/pack.opus-fable.json +78 -0
- package/registry/r/plugin.caveman-compress.json +20 -0
- package/registry/r/preset.caveman-only.json +13 -0
- package/registry/r/preset.cost-aware-trio.json +41 -0
- package/registry/r/preset.cross-model-review.json +34 -0
- package/registry/r/preset.design.json +39 -0
- package/registry/r/preset.fable-pack.json +41 -0
- package/registry/r/preset.full.json +67 -0
- package/registry/r/rule.always-cross-review.json +25 -0
- package/registry/r/rule.always-design.json +25 -0
- package/registry/r/rule.always-qa.json +25 -0
- package/registry/r/rule.always-test.json +25 -0
- package/registry/r/rule.caveman-ultra.json +23 -0
- package/registry/r/rule.never-cross-review.json +25 -0
- package/registry/r/rule.never-design.json +25 -0
- package/registry/r/rule.never-qa.json +25 -0
- package/registry/r/rule.never-test.json +25 -0
- package/registry/r/rule.routing.json +26 -0
- package/registry/r/rule.use-question-tool.json +20 -0
- package/registry/r/skill.bun-cli.json +20 -0
- package/registry/r/skill.bun-tui.json +20 -0
- package/registry/r/skill.caveman-compress.json +17 -0
- package/registry/r/skill.caveman.json +20 -0
- package/registry/r/skill.cli-design.json +15 -0
- package/registry/r/skill.code-review.json +18 -0
- package/registry/r/skill.cost-aware-orchestration.json +14 -0
- package/registry/r/skill.cross-model-review.json +14 -0
- package/registry/r/skill.db-schema-design.json +15 -0
- package/registry/r/skill.design-system.json +19 -0
- package/registry/r/skill.design-taste.json +116 -0
- package/registry/r/skill.diagnosing-bugs.json +23 -0
- package/registry/r/skill.diagrams.json +21 -0
- package/registry/r/skill.docx-create.json +20 -0
- package/registry/r/skill.domain-modeling.json +18 -0
- package/registry/r/skill.frontend-qa.json +19 -0
- package/registry/r/skill.go-architecture.json +21 -0
- package/registry/r/skill.go-ci.json +21 -0
- package/registry/r/skill.go-cli.json +20 -0
- package/registry/r/skill.go-data-structures.json +21 -0
- package/registry/r/skill.go-dependencies.json +21 -0
- package/registry/r/skill.go-dev.json +20 -0
- package/registry/r/skill.go-documentation.json +21 -0
- package/registry/r/skill.go-ecosystem.json +21 -0
- package/registry/r/skill.go-qa.json +21 -0
- package/registry/r/skill.go-quality.json +21 -0
- package/registry/r/skill.go-refactoring.json +21 -0
- package/registry/r/skill.go-tooling.json +21 -0
- package/registry/r/skill.go-tui.json +20 -0
- package/registry/r/skill.go-types.json +21 -0
- package/registry/r/skill.grilling.json +18 -0
- package/registry/r/skill.improve-architecture.json +18 -0
- package/registry/r/skill.pdf-create.json +23 -0
- package/registry/r/skill.pptx-create.json +23 -0
- package/registry/r/skill.product-ui.json +22 -0
- package/registry/r/skill.python-dev.json +20 -0
- package/registry/r/skill.react-dev.json +20 -0
- package/registry/r/skill.resolving-merge-conflicts.json +18 -0
- package/registry/r/skill.scratchpad.json +17 -0
- package/registry/r/skill.skill-authoring.json +17 -0
- package/registry/r/skill.software-design.json +28 -0
- package/registry/r/skill.sql-migrations.json +15 -0
- package/registry/r/skill.tdd.json +28 -0
- package/registry/r/skill.typescript-dev.json +20 -0
- package/registry/r/skill.visual-assets.json +17 -0
- package/registry/r/skill.wayfinder.json +18 -0
- package/registry/r/skill.xlsx-create.json +20 -0
- package/registry/r/tool.a11y-quick.json +24 -0
- package/registry/r/tool.contrast-check.json +24 -0
- package/registry/r/tool.design-lint.json +24 -0
- package/registry/r/tool.design-search.json +23 -0
- package/registry/r/tool.pdf-create.json +23 -0
- package/registry/r/tool.pptx-create.json +23 -0
- package/registry/r/tool.scratchpad.json +68 -0
- package/registry/r/tool.token-validate.json +24 -0
- package/registry/registry.json +676 -0
- package/schema/agentz.schema.json +330 -0
package/README.md
ADDED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
# AgentZ
|
|
2
|
+
|
|
3
|
+
AgentZ is a Bun-native installer for portable AI-agent configuration. It resolves typed registry items, writes target-native files, records ownership in a lock file, and preserves user-owned configuration.
|
|
4
|
+
|
|
5
|
+
One catalog supports six targets: OpenCode, GitHub Copilot, Claude Code, Codex CLI, KiloCode, and Hermes.
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
- Bun `>=1.3.8`.
|
|
10
|
+
- A target is optional until selected.
|
|
11
|
+
- Bun runs the CLI, build, package, registry, and local verification commands.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
Install `use-agentz` from npm:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
bun add --dev use-agentz
|
|
19
|
+
agentz --version
|
|
20
|
+
agentz --help
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Build and link a checkout for local use:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
bun install
|
|
27
|
+
bun run codegen
|
|
28
|
+
bun run registry
|
|
29
|
+
bun run build
|
|
30
|
+
bun link
|
|
31
|
+
|
|
32
|
+
# In another project
|
|
33
|
+
bun link use-agentz
|
|
34
|
+
agentz --help
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Build a local package instead of linking:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
bun pm pack --destination /tmp/use-agentz-pack
|
|
41
|
+
bun add --dev /tmp/use-agentz-pack/use-agentz-*.tgz
|
|
42
|
+
agentz catalog
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Quick start
|
|
46
|
+
|
|
47
|
+
Interactive setup detects installed targets when possible, otherwise starts with OpenCode:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
agentz init
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Non-interactive setup requires a preset:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
agentz init --yes --preset cost-aware-trio --model-pack optimized --target opencode
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Manage items later:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
agentz add skill:typescript-dev skill:db-schema-design
|
|
63
|
+
agentz list --type skill
|
|
64
|
+
agentz update --dry-run
|
|
65
|
+
agentz remove skill:db-schema-design --yes
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`init`, `add`, `update`, `remove`, and `prune` show plans before changing files. Use `--dry-run` to print the plan without writes.
|
|
69
|
+
|
|
70
|
+
## Command grammar
|
|
71
|
+
|
|
72
|
+
Flags may appear before or after a command. `--` is not a separator.
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
agentz [global flags] init [init flags]
|
|
76
|
+
agentz --version
|
|
77
|
+
agentz [global flags] ui [--port <0..65535>]
|
|
78
|
+
agentz [global flags] add <ref>... [add flags]
|
|
79
|
+
agentz [global flags] catalog [--type <type>] [--registry <namespace>]
|
|
80
|
+
agentz [global flags] list [--type <type>] [--registry <namespace>]
|
|
81
|
+
agentz [global flags] update [ref...] [update flags]
|
|
82
|
+
agentz [global flags] remove <ref>... [--dry-run] [--yes]
|
|
83
|
+
agentz [global flags] prune [--dry-run] [--yes]
|
|
84
|
+
agentz registry [build|scaffold] [--write]
|
|
85
|
+
agentz help
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
No command, `--help`, or `-h` prints the reference. `--version` prints the package version. `install` remains an `init` compatibility alias. `registry build` is the default registry subcommand. `catalog` writes a short advisory to stderr, then emits the same grouped listing as `list` to stdout.
|
|
89
|
+
|
|
90
|
+
### Commands
|
|
91
|
+
|
|
92
|
+
| Command | Behavior |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `init` | Terminal wizard. Writes `agentz.json`, saves install preferences, then installs selected preset closure. `--yes` or `--dry-run` needs one or more `--preset` values. |
|
|
95
|
+
| `ui` | Starts a local setup UI on `127.0.0.1`. `--port 0` or omitted picks a free port. |
|
|
96
|
+
| `add <ref...>` | Resolves refs and typed dependencies, installs them, then updates `agentz.lock`. |
|
|
97
|
+
| `catalog`, `list` | Lists registry items. Installed items show `●`; group-only skills stay hidden from an unfiltered skill listing. |
|
|
98
|
+
| `update [ref...]` | Re-resolves locked refs. No ref updates all lock-backed refs. Detects drift before reapplying. |
|
|
99
|
+
| `remove <ref...>` | Removes only lock-owned files, JSON entries, and marker blocks. Refuses unowned refs. |
|
|
100
|
+
| `prune` | Plans removal of `*.bak` files and retired singular `agent/`, `skill/`, and `tool/` directories under selected target roots. Warns before deleting an unmirrored entry. |
|
|
101
|
+
| `registry build` | Authoring command. Builds static registry JSON from `catalog/`. Requires a source checkout and Bun. |
|
|
102
|
+
| `registry scaffold` | Reports discovered content without matching config. `--write` appends generated stubs to catalog config. |
|
|
103
|
+
|
|
104
|
+
### Flags
|
|
105
|
+
|
|
106
|
+
| Flag | Applies to | Meaning |
|
|
107
|
+
| --- | --- | --- |
|
|
108
|
+
| `--target <opencode|copilot|claude|codex|kilocode|hermes>` | `init`, `add`, `update`, `prune` | Repeatable target override. Otherwise configured targets apply. |
|
|
109
|
+
| `--scope <project|global>` | all target-planning commands | Target file scope. Default `project`. `global` writes into target user directories. |
|
|
110
|
+
| `--dir <path>` | all commands | Project directory. Defaults to current directory. Missing paths are created. |
|
|
111
|
+
| `--dry-run` | `init`, `add`, `update`, `remove`, `prune` | Print plan and make no writes. |
|
|
112
|
+
| `--yes`, `-y` | `init`, `add`, `update`, `remove`, `prune` | Skip normal confirmation. Does not bypass local command trust gates. |
|
|
113
|
+
| `--preset <ref>` | `init --yes`, `init --dry-run` | Repeatable. Comma-separated values are also accepted. |
|
|
114
|
+
| `--model-pack <basic|opus-fable|gpt-5-6|optimized>` | `init` | Model pack. Default `optimized`. |
|
|
115
|
+
| `--overwrite` | `add` | Unconditionally replace managed-file writes. |
|
|
116
|
+
| `--force` | `update` | Proceed after on-disk drift. A user file without a managed header still remains preserved. |
|
|
117
|
+
| `--prune` | `update` | Confirm removal of lock refs proven absent from their owning registry. |
|
|
118
|
+
| `--skip-deps` | `init`, `add`, `update` | Skip host-level MCP and LSP dependency installation. |
|
|
119
|
+
| `--yes-deps` | `init`, `add`, `update` | Approve host-level dependency commands after they are shown. |
|
|
120
|
+
| `--type <skill|group|agent|tool|mcp|lsp|pack|plugin|command|preset|rule>` | `catalog`, `list` | Item-type filter. |
|
|
121
|
+
| `--registry <namespace>` | `catalog`, `list` | Registry namespace filter. |
|
|
122
|
+
| `--port <0..65535>` | `ui` | Local UI port. Omit or use `0` for a free port. |
|
|
123
|
+
| `--write` | `registry scaffold` | Write generated catalog-config stubs. |
|
|
124
|
+
|
|
125
|
+
Normal mutations need an interactive TTY or `--yes`; dry runs do not. Parser and ordinary command failures exit `1`. A wizard usage failure exits `2`.
|
|
126
|
+
|
|
127
|
+
## Reference grammar
|
|
128
|
+
|
|
129
|
+
Every item identity is `(type, name)`. Typed refs are safest:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
skill:caveman typed builtin ref
|
|
133
|
+
lsp:proto typed language-server ref
|
|
134
|
+
caveman bare ref; must be unique across item types
|
|
135
|
+
@team/skill:caveman namespace declared in agentz.json
|
|
136
|
+
https://host/r/x.json direct remote manifest; warning and confirmation
|
|
137
|
+
file:./local/x.json direct local manifest; warning and confirmation
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Item types are `skill`, `group`, `agent`, `tool`, `mcp`, `lsp`, `pack`, `plugin`, `command`, `preset`, and `rule`. Dependencies in manifests are typed refs and resolve before their dependents.
|
|
141
|
+
|
|
142
|
+
## Project configuration and state
|
|
143
|
+
|
|
144
|
+
`agentz.json` is committed project configuration. `agentz.lock` is committed ownership and integrity state.
|
|
145
|
+
|
|
146
|
+
```jsonc
|
|
147
|
+
{
|
|
148
|
+
"$schema": "./node_modules/use-agentz/schema/agentz.schema.json",
|
|
149
|
+
"schemaVersion": 2,
|
|
150
|
+
"targets": ["opencode", "claude"],
|
|
151
|
+
"scope": "project",
|
|
152
|
+
"modelPack": "optimized",
|
|
153
|
+
"registries": {
|
|
154
|
+
"@official": "builtin:",
|
|
155
|
+
"@team": "https://agents.example.invalid/registry"
|
|
156
|
+
},
|
|
157
|
+
"vars": {
|
|
158
|
+
"scratchpad": true,
|
|
159
|
+
"model.normal": "github-copilot/claude-opus-4.8"
|
|
160
|
+
},
|
|
161
|
+
"tierThinking": {
|
|
162
|
+
"normal": { "reasoningEffort": "high" }
|
|
163
|
+
},
|
|
164
|
+
"agents": {
|
|
165
|
+
"developer": {
|
|
166
|
+
"thinking": { "textVerbosity": "low" },
|
|
167
|
+
"pinModel": true
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"mcps": {
|
|
171
|
+
"playwright": { "options": { "headless": true } }
|
|
172
|
+
},
|
|
173
|
+
"options": { "backup": true }
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
`schemaVersion` is `1` or `2`. `targets` must contain at least one of the six target ids. `registries` must declare `@official`; `builtin:` is the packaged catalog. `vars` values are strings or booleans for template substitution. `tierThinking` has `cheap`, `normal`, and `expert` entries. Agent overrides support model, pinning, sampling fields, permission values, thinking, and provider options. MCP overrides currently choose declarative option booleans.
|
|
178
|
+
|
|
179
|
+
The command-line `--scope global` maps to `"scope": "user"` in `agentz.json`. Project config uses `project|user`; command planning uses `project|global`.
|
|
180
|
+
|
|
181
|
+
### Config and state paths
|
|
182
|
+
|
|
183
|
+
| Purpose | Paths |
|
|
184
|
+
| --- | --- |
|
|
185
|
+
| Project config | `agentz.json`, `agentz.jsonc`, `agentz.yaml`, `agentz.yml`, `agentz.toml`, `agentz.config.ts`, `agentz.config.js`, or `agentz.config.mjs`. Keep exactly one. `init` writes only `agentz.json`. |
|
|
186
|
+
| Project lock | `agentz.lock` |
|
|
187
|
+
| Project user settings | `agentz.config.yaml`, `agentz.config.yml`, `agentz.config.toml`, `agentz.config.jsonc`, or `agentz.config.json` |
|
|
188
|
+
| Global user settings | `$XDG_CONFIG_HOME/agentz/config.<format>`; default root is `~/.config/agentz/` |
|
|
189
|
+
| Schema in installed package | `schema/agentz.schema.json` |
|
|
190
|
+
| Migration journal | `.agentz/state-migration.json` |
|
|
191
|
+
|
|
192
|
+
User settings layer global first, then project, then `AGENTZ_*` environment variables. Useful variables:
|
|
193
|
+
|
|
194
|
+
```text
|
|
195
|
+
AGENTZ_MODEL_CHEAP=<model>
|
|
196
|
+
AGENTZ_MODEL_NORMAL_<TARGET>=<model>
|
|
197
|
+
AGENTZ_MODEL_EXPERT_<TARGET>=<model>
|
|
198
|
+
AGENTZ_<TARGET>_PROJECT_DIR=<path>
|
|
199
|
+
AGENTZ_<TARGET>_GLOBAL_DIR=<path>
|
|
200
|
+
AGENTZ_<TARGET>_AGENTS_MD=<path>
|
|
201
|
+
AGENTZ_MODELS_CACHE=<path>
|
|
202
|
+
AGENTZ_AUTH_JSON=<path>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
`<TARGET>` is one of `OPENCODE`, `COPILOT`, `CLAUDE`, `CODEX`, `KILOCODE`, or `HERMES`. Project state and user configuration from an earlier state family are read-only until an explicit, confirmed migration creates verified backups and a journal.
|
|
206
|
+
|
|
207
|
+
The lock records each item ref, source, version, SHA-256 hashes for files it owns, marker blocks, selected JSON entries, and host dependency command hashes. `remove` therefore deletes only owned output. `update` reports missing or modified locked files. The installer preserves unowned target configuration and user values during merges.
|
|
208
|
+
|
|
209
|
+
## Security and ownership
|
|
210
|
+
|
|
211
|
+
- Registry manifests are strict. Executable fields exist only for MCP and LSP item shapes.
|
|
212
|
+
- Registered remote registries require HTTPS; loopback HTTP is reserved for local development.
|
|
213
|
+
- `agentz.json` registries are an allowlist. Direct `https:` and `file:` refs show an extra warning and need confirmation.
|
|
214
|
+
- A non-builtin MCP or LSP local command is printed verbatim and needs an explicit confirmation. `--yes` cannot bypass this. Non-interactive execution fails closed.
|
|
215
|
+
- Host-level MCP and LSP dependencies run only after the file plan succeeds. AgentZ shows exact argument vectors, never shells them, and requires confirmation or `--yes-deps`. `--skip-deps` leaves them untouched.
|
|
216
|
+
- Content changing at the same locked version triggers a trust-on-first-use warning.
|
|
217
|
+
- `update --prune` removes only refs proven gone from their owning registry. `prune` prints every candidate before removal.
|
|
218
|
+
- Managed files keep a header. Replacing it with user content protects that file from normal refreshes.
|
|
219
|
+
|
|
220
|
+
## Targets and degradation
|
|
221
|
+
|
|
222
|
+
All targets get selected skills, supported tools, MCP configuration where available, and lock ownership. Target-native gaps are reported as install notes.
|
|
223
|
+
|
|
224
|
+
| Target | Project output | Global output and behavior |
|
|
225
|
+
| --- | --- | --- |
|
|
226
|
+
| OpenCode | `.opencode/opencode.json`, `agents/`, `skills/`, `tools/`, `plugins/`, `commands/`, `rules/`, and managed `AGENTS.md` | `~/.config/opencode/`. Full support for agent thinking, plugins, commands, LSPs, and default-agent configuration. Restart OpenCode after installation. |
|
|
227
|
+
| GitHub Copilot | `.github/agents/`, `skills/`, `tools/`, `copilot-instructions.md` | `~/.copilot/`. MCP servers are global at `~/.copilot/mcp-config.json`. Orchestrator text becomes instructions. |
|
|
228
|
+
| Claude Code | `.claude/agents/`, `skills/`, `tools/`, root `CLAUDE.md`, and `.mcp.json` | `~/.claude/`. Orchestrator text becomes `CLAUDE.md`. Project tools become MCP servers; global tool registration is shown for manual use. |
|
|
229
|
+
| Codex CLI | root `AGENTS.md`, `.codex/skills/`, `.codex/tools/` | `~/.codex/`. Agent roles become cards in `AGENTS.md`; profiles and MCP entries are global `~/.codex/config.toml` blocks. |
|
|
230
|
+
| KiloCode | `.kilocode/skills/`, `tools/`, `rules/agentz.md`, `mcp.json`, and project `.kilocodemodes` | `~/.kilocode/`. Custom modes are project-only; global installs report this limitation. |
|
|
231
|
+
| Hermes | `.hermes/agents/`, `skills/`, `tools/`, `mcp.json`, and `AGENTS.md` | `~/.hermes/`. Layout is convention-based and can be redirected through settings paths or `AGENTZ_HERMES_*_DIR`. |
|
|
232
|
+
|
|
233
|
+
Agent thinking, plugins, custom commands, and language servers are OpenCode-only. Other targets drop those selected items with a note. Disabling a target's built-in agents is also OpenCode-only. A tool without a source for a selected target is not emitted for that target.
|
|
234
|
+
|
|
235
|
+
## UI
|
|
236
|
+
|
|
237
|
+
`agentz ui` serves a local React interface only on `127.0.0.1`, prints the URL, and best-effort opens it in a browser. Ctrl-C stops the server.
|
|
238
|
+
|
|
239
|
+
The UI uses the same wizard resolution and install pipeline as `init`. It can browse catalog items, select multiple presets, select a model pack, preview plans and selected OpenCode files, set template variables and per-agent overrides, add extra items, inspect a bounded monorepo project list, and install into the chosen project. Discovery recognizes AgentZ config files and `agentz.lock`; legacy state remains visible for migration. Its API stays loopback-only. Local model cache and authentication paths can be overridden with `AGENTZ_MODELS_CACHE` and `AGENTZ_AUTH_JSON`.
|
|
240
|
+
|
|
241
|
+
## Portable catalog
|
|
242
|
+
|
|
243
|
+
The builtin catalog contains 102 portable items:
|
|
244
|
+
|
|
245
|
+
| Type | Count |
|
|
246
|
+
| --- | ---: |
|
|
247
|
+
| Agents | 10 |
|
|
248
|
+
| Skills | 47 |
|
|
249
|
+
| Skill groups | 10 |
|
|
250
|
+
| Tools | 8 |
|
|
251
|
+
| MCP servers | 2 |
|
|
252
|
+
| Language servers | 1 |
|
|
253
|
+
| Model packs | 4 |
|
|
254
|
+
| Plugins | 1 |
|
|
255
|
+
| Commands | 2 |
|
|
256
|
+
| Presets | 6 |
|
|
257
|
+
| Rules | 11 |
|
|
258
|
+
|
|
259
|
+
Model packs are `basic`, `opus-fable`, `gpt-5-6`, and `optimized`. Presets are `cost-aware-trio`, `full`, `design`, `fable-pack`, `cross-model-review`, and `caveman-only`. The catalog contains portable engineering, design, document, language, and CLI material only; no organization-specific platform bundle is shipped.
|
|
260
|
+
|
|
261
|
+
## Registry authoring
|
|
262
|
+
|
|
263
|
+
`catalog/config/*.ts` defines typed catalog records. `catalog/content/**` contains prompts, skills, rules, commands, providers, and tool content. `registry.config.ts` composes the builtin registry.
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
# After catalog additions, removals, or identifier changes
|
|
267
|
+
bun run codegen
|
|
268
|
+
bun run registry
|
|
269
|
+
|
|
270
|
+
# Inspect missing config entries
|
|
271
|
+
bun run src/cli.ts registry scaffold
|
|
272
|
+
|
|
273
|
+
# Append scaffold stubs intentionally
|
|
274
|
+
bun run src/cli.ts registry scaffold --write
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
`registry build` writes:
|
|
278
|
+
|
|
279
|
+
```text
|
|
280
|
+
registry/registry.json
|
|
281
|
+
registry/r/<type>.<name>.json
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
The directory is static-hostable. Consumers declare a namespace in `agentz.json`:
|
|
285
|
+
|
|
286
|
+
```jsonc
|
|
287
|
+
{
|
|
288
|
+
"registries": {
|
|
289
|
+
"@official": "builtin:",
|
|
290
|
+
"@team": "https://agents.example.invalid/registry"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
AgentZ reads `<base>/registry.json` and `<base>/r/<type>.<name>.json` by default. Custom registries must preserve strict manifest shapes and typed dependency refs.
|
|
296
|
+
|
|
297
|
+
## Develop and package locally
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
bun install
|
|
301
|
+
bun run typecheck
|
|
302
|
+
bun run codegen
|
|
303
|
+
bun run registry
|
|
304
|
+
bun run build
|
|
305
|
+
bun run verify-pack
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
`build` creates Bun-targeted `dist/cli.js`, copies UI web assets, and generates `schema/agentz.schema.json`. The package includes only `dist/`, `registry/`, `schema/`, `README.md`, and package metadata. `verify-pack` creates a temporary tarball, checks its contents, installs it into an isolated Bun project, and verifies `agentz --version`, `agentz --help`, and `agentz catalog`.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
19
|
+
var __export = (target, all) => {
|
|
20
|
+
for (var name in all)
|
|
21
|
+
__defProp(target, name, {
|
|
22
|
+
get: all[name],
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
29
|
+
|
|
30
|
+
// src/authoring/define.ts
|
|
31
|
+
function defineRegistry(input) {
|
|
32
|
+
return input;
|
|
33
|
+
}
|
|
34
|
+
function defineTier(input) {
|
|
35
|
+
return input;
|
|
36
|
+
}
|
|
37
|
+
function defineTiers(input) {
|
|
38
|
+
return input;
|
|
39
|
+
}
|
|
40
|
+
function defineModelPack(input) {
|
|
41
|
+
return input;
|
|
42
|
+
}
|
|
43
|
+
function defineModelPacks(input) {
|
|
44
|
+
return input;
|
|
45
|
+
}
|
|
46
|
+
function definePlugin(input) {
|
|
47
|
+
return input;
|
|
48
|
+
}
|
|
49
|
+
function definePlugins(input) {
|
|
50
|
+
return input;
|
|
51
|
+
}
|
|
52
|
+
function defineCommand(input) {
|
|
53
|
+
return input;
|
|
54
|
+
}
|
|
55
|
+
function defineCommands(input) {
|
|
56
|
+
return input;
|
|
57
|
+
}
|
|
58
|
+
function defineSkill(input) {
|
|
59
|
+
return input;
|
|
60
|
+
}
|
|
61
|
+
function defineSkills(input) {
|
|
62
|
+
return input;
|
|
63
|
+
}
|
|
64
|
+
function defineSkillGroup(input) {
|
|
65
|
+
return input;
|
|
66
|
+
}
|
|
67
|
+
function defineSkillGroups(input) {
|
|
68
|
+
return input;
|
|
69
|
+
}
|
|
70
|
+
function defineAgent(input) {
|
|
71
|
+
return input;
|
|
72
|
+
}
|
|
73
|
+
function defineAgents(input) {
|
|
74
|
+
return input;
|
|
75
|
+
}
|
|
76
|
+
function defineTool(input) {
|
|
77
|
+
return input;
|
|
78
|
+
}
|
|
79
|
+
function defineTools(input) {
|
|
80
|
+
return input;
|
|
81
|
+
}
|
|
82
|
+
function defineMcp(input) {
|
|
83
|
+
return input;
|
|
84
|
+
}
|
|
85
|
+
function defineMcps(input) {
|
|
86
|
+
return input;
|
|
87
|
+
}
|
|
88
|
+
function defineLsp(input) {
|
|
89
|
+
return input;
|
|
90
|
+
}
|
|
91
|
+
function defineLsps(input) {
|
|
92
|
+
return input;
|
|
93
|
+
}
|
|
94
|
+
function definePreset(input) {
|
|
95
|
+
return input;
|
|
96
|
+
}
|
|
97
|
+
function definePresets(input) {
|
|
98
|
+
return input;
|
|
99
|
+
}
|
|
100
|
+
function defineRule(input) {
|
|
101
|
+
return input;
|
|
102
|
+
}
|
|
103
|
+
function defineRules(input) {
|
|
104
|
+
return input;
|
|
105
|
+
}
|
|
106
|
+
export {
|
|
107
|
+
defineTools,
|
|
108
|
+
defineTool,
|
|
109
|
+
defineTiers,
|
|
110
|
+
defineTier,
|
|
111
|
+
defineSkills,
|
|
112
|
+
defineSkillGroups,
|
|
113
|
+
defineSkillGroup,
|
|
114
|
+
defineSkill,
|
|
115
|
+
defineRules,
|
|
116
|
+
defineRule,
|
|
117
|
+
defineRegistry,
|
|
118
|
+
definePresets,
|
|
119
|
+
definePreset,
|
|
120
|
+
definePlugins,
|
|
121
|
+
definePlugin,
|
|
122
|
+
defineModelPacks,
|
|
123
|
+
defineModelPack,
|
|
124
|
+
defineMcps,
|
|
125
|
+
defineMcp,
|
|
126
|
+
defineLsps,
|
|
127
|
+
defineLsp,
|
|
128
|
+
defineCommands,
|
|
129
|
+
defineCommand,
|
|
130
|
+
defineAgents,
|
|
131
|
+
defineAgent
|
|
132
|
+
};
|