agentikit 0.0.13 → 0.0.15
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/LICENSE +385 -0
- package/README.md +187 -110
- package/dist/{src/asset-spec.js → asset-spec.js} +11 -2
- package/dist/{src/asset-type-handler.js → asset-type-handler.js} +4 -3
- package/dist/cli.js +709 -0
- package/dist/common.js +192 -0
- package/dist/{src/config-cli.js → config-cli.js} +36 -30
- package/dist/{src/config.js → config.js} +95 -25
- package/dist/{src/db.js → db.js} +123 -51
- package/dist/{src/embedder.js → embedder.js} +57 -2
- package/dist/errors.js +28 -0
- package/dist/file-context.js +188 -0
- package/dist/{src/frontmatter.js → frontmatter.js} +1 -1
- package/dist/{src/github.js → github.js} +1 -3
- package/dist/handlers/agent-handler.js +19 -0
- package/dist/handlers/command-handler.js +20 -0
- package/dist/handlers/handler-bridge.js +51 -0
- package/dist/handlers/index.js +19 -0
- package/dist/handlers/knowledge-handler.js +32 -0
- package/dist/handlers/script-handler.js +42 -0
- package/dist/{src/handlers → handlers}/skill-handler.js +5 -6
- package/dist/{src/handlers → handlers}/tool-handler.js +8 -24
- package/dist/{src/indexer.js → indexer.js} +50 -26
- package/dist/init.js +43 -0
- package/dist/{src/llm.js → llm.js} +6 -11
- package/dist/lockfile.js +60 -0
- package/dist/matchers.js +163 -0
- package/dist/{src/metadata.js → metadata.js} +36 -16
- package/dist/{src/origin-resolve.js → origin-resolve.js} +10 -9
- package/dist/paths.js +83 -0
- package/dist/{src/registry-install.js → registry-install.js} +151 -19
- package/dist/{src/registry-resolve.js → registry-resolve.js} +190 -26
- package/dist/{src/registry-search.js → registry-search.js} +13 -21
- package/dist/renderers.js +286 -0
- package/dist/{src/ripgrep-install.js → ripgrep-install.js} +8 -27
- package/dist/{src/ripgrep-resolve.js → ripgrep-resolve.js} +21 -11
- package/dist/ripgrep.js +2 -0
- package/dist/self-update.js +226 -0
- package/dist/{src/stash-add.js → stash-add.js} +14 -4
- package/dist/stash-clone.js +115 -0
- package/dist/{src/stash-ref.js → stash-ref.js} +10 -9
- package/dist/{src/stash-registry.js → stash-registry.js} +21 -46
- package/dist/{src/stash-resolve.js → stash-resolve.js} +10 -9
- package/dist/{src/stash-search.js → stash-search.js} +89 -74
- package/dist/stash-show.js +74 -0
- package/dist/stash-source.js +127 -0
- package/dist/submit.js +557 -0
- package/dist/{src/tool-runner.js → tool-runner.js} +1 -5
- package/dist/{src/walker.js → walker.js} +38 -0
- package/dist/warn.js +20 -0
- package/package.json +13 -18
- package/dist/index.d.ts +0 -28
- package/dist/index.js +0 -15
- package/dist/src/asset-spec.d.ts +0 -16
- package/dist/src/asset-type-handler.d.ts +0 -27
- package/dist/src/cli.d.ts +0 -2
- package/dist/src/cli.js +0 -399
- package/dist/src/common.d.ts +0 -13
- package/dist/src/common.js +0 -60
- package/dist/src/config-cli.d.ts +0 -9
- package/dist/src/config.d.ts +0 -50
- package/dist/src/db.d.ts +0 -46
- package/dist/src/embedder.d.ts +0 -10
- package/dist/src/frontmatter.d.ts +0 -30
- package/dist/src/github.d.ts +0 -4
- package/dist/src/handlers/agent-handler.d.ts +0 -2
- package/dist/src/handlers/agent-handler.js +0 -26
- package/dist/src/handlers/command-handler.d.ts +0 -2
- package/dist/src/handlers/command-handler.js +0 -23
- package/dist/src/handlers/index.d.ts +0 -6
- package/dist/src/handlers/index.js +0 -23
- package/dist/src/handlers/knowledge-handler.d.ts +0 -2
- package/dist/src/handlers/knowledge-handler.js +0 -56
- package/dist/src/handlers/markdown-helpers.d.ts +0 -7
- package/dist/src/handlers/script-handler.d.ts +0 -2
- package/dist/src/handlers/script-handler.js +0 -78
- package/dist/src/handlers/skill-handler.d.ts +0 -2
- package/dist/src/handlers/tool-handler.d.ts +0 -2
- package/dist/src/indexer.d.ts +0 -22
- package/dist/src/init.d.ts +0 -19
- package/dist/src/init.js +0 -99
- package/dist/src/llm.d.ts +0 -15
- package/dist/src/markdown.d.ts +0 -18
- package/dist/src/metadata.d.ts +0 -41
- package/dist/src/origin-resolve.d.ts +0 -19
- package/dist/src/registry-install.d.ts +0 -11
- package/dist/src/registry-resolve.d.ts +0 -3
- package/dist/src/registry-search.d.ts +0 -27
- package/dist/src/registry-types.d.ts +0 -62
- package/dist/src/ripgrep-install.d.ts +0 -12
- package/dist/src/ripgrep-resolve.d.ts +0 -13
- package/dist/src/ripgrep.d.ts +0 -3
- package/dist/src/ripgrep.js +0 -2
- package/dist/src/stash-add.d.ts +0 -4
- package/dist/src/stash-clone.d.ts +0 -22
- package/dist/src/stash-clone.js +0 -83
- package/dist/src/stash-ref.d.ts +0 -31
- package/dist/src/stash-registry.d.ts +0 -18
- package/dist/src/stash-resolve.d.ts +0 -2
- package/dist/src/stash-search.d.ts +0 -8
- package/dist/src/stash-show.d.ts +0 -5
- package/dist/src/stash-show.js +0 -46
- package/dist/src/stash-source.d.ts +0 -24
- package/dist/src/stash-source.js +0 -81
- package/dist/src/stash-types.d.ts +0 -227
- package/dist/src/stash.d.ts +0 -16
- package/dist/src/stash.js +0 -9
- package/dist/src/tool-runner.d.ts +0 -35
- package/dist/src/walker.d.ts +0 -19
- package/src/asset-spec.ts +0 -85
- package/src/asset-type-handler.ts +0 -77
- package/src/cli.ts +0 -427
- package/src/common.ts +0 -76
- package/src/config-cli.ts +0 -499
- package/src/config.ts +0 -305
- package/src/db.ts +0 -411
- package/src/embedder.ts +0 -128
- package/src/frontmatter.ts +0 -95
- package/src/github.ts +0 -21
- package/src/handlers/agent-handler.ts +0 -32
- package/src/handlers/command-handler.ts +0 -29
- package/src/handlers/index.ts +0 -25
- package/src/handlers/knowledge-handler.ts +0 -62
- package/src/handlers/markdown-helpers.ts +0 -19
- package/src/handlers/script-handler.ts +0 -92
- package/src/handlers/skill-handler.ts +0 -37
- package/src/handlers/tool-handler.ts +0 -71
- package/src/indexer.ts +0 -392
- package/src/init.ts +0 -114
- package/src/llm.ts +0 -125
- package/src/markdown.ts +0 -106
- package/src/metadata.ts +0 -333
- package/src/origin-resolve.ts +0 -67
- package/src/registry-install.ts +0 -361
- package/src/registry-resolve.ts +0 -341
- package/src/registry-search.ts +0 -335
- package/src/registry-types.ts +0 -72
- package/src/ripgrep-install.ts +0 -200
- package/src/ripgrep-resolve.ts +0 -72
- package/src/ripgrep.ts +0 -3
- package/src/stash-add.ts +0 -63
- package/src/stash-clone.ts +0 -127
- package/src/stash-ref.ts +0 -99
- package/src/stash-registry.ts +0 -259
- package/src/stash-resolve.ts +0 -50
- package/src/stash-search.ts +0 -613
- package/src/stash-show.ts +0 -55
- package/src/stash-source.ts +0 -103
- package/src/stash-types.ts +0 -231
- package/src/stash.ts +0 -39
- package/src/tool-runner.ts +0 -142
- package/src/walker.ts +0 -53
- /package/dist/{src/handlers → handlers}/markdown-helpers.js +0 -0
- /package/dist/{src/markdown.js → markdown.js} +0 -0
- /package/dist/{src/registry-types.js → registry-types.js} +0 -0
- /package/dist/{src/stash-types.js → stash-types.js} +0 -0
package/README.md
CHANGED
|
@@ -1,91 +1,162 @@
|
|
|
1
1
|
# Agent-i-Kit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
`akm` (Agent Kit Manager).
|
|
3
|
+
[](https://www.npmjs.com/package/agentikit)
|
|
4
|
+
[](https://github.com/itlackey/agentikit/actions/workflows/ci.yml)
|
|
5
|
+
[](LICENSE)
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
A package manager for AI agent capabilities — tools, skills, commands, agents,
|
|
8
|
+
knowledge, and scripts — that works with any AI coding assistant that can run
|
|
9
|
+
shell commands.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
You build up useful scripts, prompts, and agent configs. Agent-i-Kit lets you
|
|
12
|
+
organize them into a searchable **stash**, share them as installable **kits**,
|
|
13
|
+
and give any model a way to discover and use them through `akm` (Agent Kit
|
|
14
|
+
Manager). No plugins required — just CLI output any tool-calling model can read.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
## Requirements
|
|
17
|
+
|
|
18
|
+
Agent-i-Kit requires [Bun](https://bun.sh) v1.0+ as its runtime. It uses
|
|
19
|
+
Bun-specific APIs (`bun:sqlite`) that are **not available in Node.js**.
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
# Install (requires Bun v1.0+)
|
|
25
|
+
bun install -g agentikit
|
|
26
|
+
|
|
27
|
+
# Initialize your stash
|
|
28
|
+
akm init
|
|
29
|
+
|
|
30
|
+
# Add a kit from GitHub
|
|
31
|
+
akm add github:owner/repo
|
|
32
|
+
|
|
33
|
+
# Search for assets
|
|
34
|
+
akm search "deploy"
|
|
35
|
+
|
|
36
|
+
# Show an asset
|
|
37
|
+
akm show script:deploy.sh
|
|
21
38
|
```
|
|
22
39
|
|
|
23
|
-
|
|
24
|
-
|
|
40
|
+
> **Don't want Bun?** Use the [standalone binary](#standalone-binary) instead — it
|
|
41
|
+
> bundles everything and has no runtime dependencies.
|
|
25
42
|
|
|
26
|
-
##
|
|
43
|
+
## Using With Any AI Agent
|
|
27
44
|
|
|
28
|
-
|
|
45
|
+
Agent-i-Kit is platform agnostic. Any model that can execute shell commands can
|
|
46
|
+
search your stash and use what it finds. The workflow is three commands:
|
|
29
47
|
|
|
30
|
-
1.
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
48
|
+
1. `akm search "what you need"` — find relevant assets (returns JSON)
|
|
49
|
+
2. `akm show <openRef>` — get the details (run command, instructions, prompt, etc.)
|
|
50
|
+
3. Use the asset — execute the `runCmd`, follow the skill instructions, fill in the template
|
|
33
51
|
|
|
34
|
-
|
|
35
|
-
means you can install a kit and override individual assets by cloning them
|
|
36
|
-
into your working stash.
|
|
52
|
+
### Drop-in prompt snippet
|
|
37
53
|
|
|
38
|
-
|
|
54
|
+
Add this to your `AGENTS.md`, `CLAUDE.md`, system prompt, or any instruction
|
|
55
|
+
file to give your agent access to your stash without any additional setup:
|
|
39
56
|
|
|
40
|
-
|
|
41
|
-
Bun-specific APIs (`bun:sqlite`) that are not available in Node.js.
|
|
57
|
+
~~~markdown
|
|
42
58
|
|
|
59
|
+
You have access to a searchable library of tools, skills, commands, agents,
|
|
60
|
+
and knowledge documents via `akm`. Use it to find and
|
|
61
|
+
use capabilities before writing something from scratch.
|
|
62
|
+
|
|
63
|
+
**Finding assets:**
|
|
43
64
|
```sh
|
|
44
|
-
|
|
45
|
-
|
|
65
|
+
akm search "<query>" # Search by keyword
|
|
66
|
+
akm search "<query>" --type tool # Filter by type (tool, skill, command, agent, knowledge, script)
|
|
46
67
|
```
|
|
47
68
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
## Quick Start
|
|
69
|
+
Search returns JSON with scored results. Each hit includes an `openRef` you
|
|
70
|
+
use to retrieve the full asset.
|
|
52
71
|
|
|
72
|
+
**Using assets:**
|
|
53
73
|
```sh
|
|
54
|
-
#
|
|
55
|
-
|
|
74
|
+
akm show <openRef> # Get full asset details
|
|
75
|
+
```
|
|
56
76
|
|
|
57
|
-
|
|
58
|
-
|
|
77
|
+
What you get back depends on the asset type:
|
|
78
|
+
- **script/tool** — A `runCmd` you can execute directly
|
|
79
|
+
- **skill** — Instructions to follow (read the full content)
|
|
80
|
+
- **command** — A prompt template with placeholders to fill in
|
|
81
|
+
- **agent** — A system prompt with model and tool hints
|
|
82
|
+
- **knowledge** — A reference doc (use `--view toc` or `--view section --heading "..."` to navigate)
|
|
59
83
|
|
|
60
|
-
|
|
61
|
-
|
|
84
|
+
Always search the stash first when you need a capability. Prefer existing
|
|
85
|
+
assets over writing new code.
|
|
86
|
+
~~~
|
|
62
87
|
|
|
63
|
-
|
|
64
|
-
akm
|
|
88
|
+
That's it. No plugin, no SDK, no integration code. The model reads the JSON
|
|
89
|
+
output from `akm` and acts on it.
|
|
90
|
+
|
|
91
|
+
### Platform plugins (optional)
|
|
65
92
|
|
|
66
|
-
|
|
67
|
-
|
|
93
|
+
For tighter integration, plugins are available for some platforms. These add
|
|
94
|
+
native tool bindings so the agent doesn't need to shell out, but they're
|
|
95
|
+
purely optional — the CLI works everywhere.
|
|
68
96
|
|
|
69
|
-
|
|
70
|
-
|
|
97
|
+
**OpenCode** — Add the [OpenCode plugin](https://github.com/itlackey/agentikit-plugins?tab=readme-ov-file#agentikit-opencode) to your `opencode.json`:
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"plugin": ["agentikit-opencode"]
|
|
102
|
+
}
|
|
71
103
|
```
|
|
72
104
|
|
|
73
|
-
|
|
105
|
+
**Claude Code** — Add the prompt snippet above to your `CLAUDE.md` or
|
|
106
|
+
project instructions. Claude Code can run `akm` commands directly.
|
|
74
107
|
|
|
75
|
-
|
|
76
|
-
|
|
108
|
+
**Everything else** — If your agent can run shell commands, it can use `akm`.
|
|
109
|
+
Add the prompt snippet to whatever instruction mechanism your platform uses.
|
|
77
110
|
|
|
78
|
-
|
|
79
|
-
# macOS / Linux
|
|
80
|
-
curl -fsSL https://raw.githubusercontent.com/itlackey/agentikit/main/install.sh | bash
|
|
111
|
+
## What's In a Kit?
|
|
81
112
|
|
|
82
|
-
|
|
83
|
-
|
|
113
|
+
A kit is a directory of assets you can share and install. There's no required
|
|
114
|
+
structure — agentikit classifies assets by **file extension and content**, not
|
|
115
|
+
by directory name. A `.sh` file is a script whether it lives in `scripts/`,
|
|
116
|
+
`deploy/`, or at the root. A `.md` file with `tools` in its frontmatter is an
|
|
117
|
+
agent definition wherever you put it.
|
|
118
|
+
|
|
119
|
+
That said, using these directory names as an opt-in convention improves
|
|
120
|
+
indexing confidence:
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
my-kit/
|
|
124
|
+
scripts/ # Executable scripts (.sh, .ts, .js, .py, .rb, .go, etc.)
|
|
125
|
+
skills/ # Skill definitions (directories with SKILL.md)
|
|
126
|
+
commands/ # Slash commands (.md with $ARGUMENTS or agent frontmatter)
|
|
127
|
+
agents/ # Agent definitions (.md with model/tools frontmatter)
|
|
128
|
+
knowledge/ # Reference documents (.md)
|
|
84
129
|
```
|
|
85
130
|
|
|
131
|
+
### Asset types
|
|
132
|
+
|
|
133
|
+
| Type | What it is | What the agent gets |
|
|
134
|
+
| --- | --- | --- |
|
|
135
|
+
| **script** | An executable script | A `runCmd` the agent can execute, or source for unsupported runtimes |
|
|
136
|
+
| **skill** | A set of instructions | Step-by-step guidance the agent follows |
|
|
137
|
+
| **command** | A prompt template | A template with placeholders to fill in |
|
|
138
|
+
| **agent** | An agent definition | A system prompt, model hint, and tool policy |
|
|
139
|
+
| **knowledge** | A reference document | Navigable content with TOC and section views |
|
|
140
|
+
|
|
141
|
+
Assets are referenced by type and name (e.g. `script:deploy.sh`,
|
|
142
|
+
`knowledge:api-guide.md`). See [Concepts](docs/concepts.md) for details on
|
|
143
|
+
how classification works.
|
|
144
|
+
|
|
145
|
+
## The Stash
|
|
146
|
+
|
|
147
|
+
Your stash is the local library where assets live. It combines three sources
|
|
148
|
+
in priority order:
|
|
149
|
+
|
|
150
|
+
1. **Primary stash** — Your personal assets (`AKM_STASH_DIR`), created by `akm init`
|
|
151
|
+
2. **Search paths** — Additional directories (team shares, project dirs, etc.)
|
|
152
|
+
3. **Installed kits** — Kits from npm, GitHub, or git via `akm add` (cache-managed)
|
|
153
|
+
|
|
154
|
+
The first match wins, so local assets always override installed ones. Use
|
|
155
|
+
`akm clone` to fork an installed asset into your stash for editing.
|
|
156
|
+
|
|
86
157
|
## Searching and Showing Assets
|
|
87
158
|
|
|
88
|
-
Search returns scored results with
|
|
159
|
+
Search returns scored results with explainability:
|
|
89
160
|
|
|
90
161
|
```sh
|
|
91
162
|
akm search "docker" --type tool
|
|
@@ -106,7 +177,7 @@ akm search "docker" --type tool
|
|
|
106
177
|
}
|
|
107
178
|
```
|
|
108
179
|
|
|
109
|
-
|
|
180
|
+
Show returns everything the agent needs to act:
|
|
110
181
|
|
|
111
182
|
```sh
|
|
112
183
|
akm show tool:docker-build.sh
|
|
@@ -121,97 +192,103 @@ akm show tool:docker-build.sh
|
|
|
121
192
|
}
|
|
122
193
|
```
|
|
123
194
|
|
|
124
|
-
For knowledge assets,
|
|
195
|
+
For knowledge assets, navigate without loading the entire document:
|
|
125
196
|
|
|
126
197
|
```sh
|
|
127
198
|
akm show knowledge:api-guide.md --view toc
|
|
128
199
|
akm show knowledge:api-guide.md --view section --heading "Authentication"
|
|
129
200
|
```
|
|
130
201
|
|
|
131
|
-
##
|
|
132
|
-
|
|
133
|
-
Agent-i-Kit is designed to be called by AI coding agents. The agent searches
|
|
134
|
-
for capabilities, reads the results, and acts on them.
|
|
135
|
-
|
|
136
|
-
### OpenCode
|
|
202
|
+
## Installing and Sharing Kits
|
|
137
203
|
|
|
138
|
-
|
|
139
|
-
can then search the stash and run tools directly:
|
|
204
|
+
Install kits from npm, GitHub, any git host, or local directories:
|
|
140
205
|
|
|
141
|
-
```
|
|
142
|
-
|
|
206
|
+
```sh
|
|
207
|
+
akm add @scope/my-kit # npm
|
|
208
|
+
akm add github:owner/repo#v1.2.3 # GitHub with tag
|
|
209
|
+
akm add git+https://gitlab.com/org/kit # Any git repo
|
|
210
|
+
akm add ./path/to/local/kit # Local directory
|
|
143
211
|
```
|
|
144
212
|
|
|
145
|
-
|
|
146
|
-
reads its `runCmd` from `akm show`, and executes it.
|
|
213
|
+
Search the registry for community kits:
|
|
147
214
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
215
|
+
```sh
|
|
216
|
+
akm search "code review" --source registry
|
|
217
|
+
```
|
|
151
218
|
|
|
152
|
-
|
|
153
|
-
## Available Tools
|
|
219
|
+
Manage installed kits:
|
|
154
220
|
|
|
155
|
-
|
|
156
|
-
|
|
221
|
+
```sh
|
|
222
|
+
akm list # Show installed kits with status
|
|
223
|
+
akm update --all # Update all (reports version changes)
|
|
224
|
+
akm remove owner/repo # Remove and reindex
|
|
225
|
+
akm clone tool:deploy.sh # Fork an asset into your stash for editing
|
|
157
226
|
```
|
|
158
227
|
|
|
159
|
-
###
|
|
228
|
+
### Publishing your own kit
|
|
160
229
|
|
|
161
|
-
|
|
162
|
-
|
|
230
|
+
1. Organize your assets (directory conventions are optional)
|
|
231
|
+
2. Add `"akm"` to `keywords` in `package.json` or add the `akm` topic to your GitHub repo
|
|
232
|
+
3. Optionally add `agentikit.include` to control what gets installed
|
|
233
|
+
4. Publish to npm or push to GitHub
|
|
234
|
+
5. Submit to the registry with `akm submit` to appear in `akm search --source registry`
|
|
163
235
|
|
|
164
|
-
|
|
165
|
-
2. `akm show <openRef>` -- Get the details
|
|
166
|
-
3. Use the asset (run the `runCmd`, follow the skill instructions, etc.)
|
|
236
|
+
See the [Kit Maker's Guide](docs/kit-makers.md) for a full walkthrough.
|
|
167
237
|
|
|
168
|
-
##
|
|
238
|
+
## Installation
|
|
169
239
|
|
|
170
|
-
|
|
240
|
+
Agent-i-Kit requires [Bun](https://bun.sh) v1.0+ as its runtime. It uses
|
|
241
|
+
Bun-specific APIs (`bun:sqlite`) that are not available in Node.js.
|
|
171
242
|
|
|
172
243
|
```sh
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
244
|
+
# Install Bun if you don't have it
|
|
245
|
+
curl -fsSL https://bun.sh/install | bash
|
|
246
|
+
|
|
247
|
+
# Install agentikit
|
|
248
|
+
bun install -g agentikit
|
|
176
249
|
```
|
|
177
250
|
|
|
178
|
-
|
|
251
|
+
### Standalone binary
|
|
252
|
+
|
|
253
|
+
The standalone binary bundles everything and has **no runtime dependencies** —
|
|
254
|
+
no Bun, no Node.js.
|
|
179
255
|
|
|
180
256
|
```sh
|
|
181
|
-
|
|
182
|
-
|
|
257
|
+
# macOS / Linux
|
|
258
|
+
curl -fsSL https://raw.githubusercontent.com/itlackey/agentikit/main/install.sh | bash
|
|
183
259
|
|
|
184
|
-
|
|
185
|
-
|
|
260
|
+
# Windows (PowerShell)
|
|
261
|
+
irm https://raw.githubusercontent.com/itlackey/agentikit/main/install.ps1 -OutFile install.ps1; ./install.ps1
|
|
262
|
+
```
|
|
186
263
|
|
|
187
|
-
|
|
264
|
+
The shell installer verifies the binary against release checksums.
|
|
188
265
|
|
|
189
|
-
|
|
190
|
-
2. Add `"akm"` to `keywords` in `package.json` (for npm) or add the `akm`
|
|
191
|
-
topic to your GitHub repo
|
|
192
|
-
3. Optionally add an `agentikit.include` array in `package.json` to control
|
|
193
|
-
which paths are included when installed
|
|
266
|
+
Upgrade the binary in place:
|
|
194
267
|
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
"keywords": ["akm"],
|
|
199
|
-
"agentikit": {
|
|
200
|
-
"include": ["tools", "skills", "commands"]
|
|
201
|
-
}
|
|
202
|
-
}
|
|
268
|
+
```sh
|
|
269
|
+
akm upgrade # Download and replace the running binary
|
|
270
|
+
akm upgrade --check # Check for updates without installing
|
|
203
271
|
```
|
|
204
272
|
|
|
205
273
|
## Documentation
|
|
206
274
|
|
|
207
275
|
| Doc | Description |
|
|
208
276
|
| --- | --- |
|
|
209
|
-
| [Concepts](docs/concepts.md) | Asset types, stash sources, metadata
|
|
210
|
-
| [CLI Reference](docs/cli.md) | All akm commands and flags |
|
|
211
|
-
| [Kit Maker's Guide](docs/kit-makers.md) |
|
|
277
|
+
| [Concepts](docs/concepts.md) | Asset types, classification, stash sources, metadata |
|
|
278
|
+
| [CLI Reference](docs/cli.md) | All `akm` commands and flags |
|
|
279
|
+
| [Kit Maker's Guide](docs/kit-makers.md) | Build and share a kit on GitHub, npm, or a network share |
|
|
212
280
|
| [Registry](docs/registry.md) | Finding, installing, and publishing kits |
|
|
213
281
|
| [Search](docs/search.md) | Hybrid search architecture and scoring |
|
|
214
282
|
| [Indexing](docs/indexing.md) | How the search index is built |
|
|
215
283
|
| [Filesystem](docs/filesystem.md) | Directory layout and `.stash.json` schema |
|
|
216
284
|
| [Configuration](docs/configuration.md) | Providers, settings, and Ollama setup |
|
|
217
|
-
|
|
285
|
+
|
|
286
|
+
## Status
|
|
287
|
+
|
|
288
|
+
Agent-i-Kit is approaching v1.0. The core CLI, stash model, and registry are
|
|
289
|
+
stable and in daily use. Feedback, issues, and PRs welcome — especially around
|
|
290
|
+
real-world usage patterns and integrations with different AI coding assistants.
|
|
291
|
+
|
|
292
|
+
## License
|
|
293
|
+
|
|
294
|
+
[MPL-2.0](LICENSE)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { toPosix } from "./common";
|
|
3
2
|
import { tryGetHandler } from "./asset-type-handler";
|
|
3
|
+
import { toPosix } from "./common";
|
|
4
4
|
export const SCRIPT_EXTENSIONS = new Set([".sh", ".ts", ".js", ".ps1", ".cmd", ".bat"]);
|
|
5
5
|
const markdownSpec = {
|
|
6
6
|
isRelevantFile: (fileName) => path.extname(fileName).toLowerCase() === ".md",
|
|
@@ -10,7 +10,16 @@ const markdownSpec = {
|
|
|
10
10
|
/** Extended set of script extensions for the script asset type */
|
|
11
11
|
export const SCRIPT_EXTENSIONS_BROAD = new Set([
|
|
12
12
|
...SCRIPT_EXTENSIONS,
|
|
13
|
-
".py",
|
|
13
|
+
".py",
|
|
14
|
+
".rb",
|
|
15
|
+
".go",
|
|
16
|
+
".pl",
|
|
17
|
+
".php",
|
|
18
|
+
".lua",
|
|
19
|
+
".r",
|
|
20
|
+
".swift",
|
|
21
|
+
".kt",
|
|
22
|
+
".kts",
|
|
14
23
|
]);
|
|
15
24
|
export const ASSET_SPECS = {
|
|
16
25
|
tool: {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { UsageError } from "./errors";
|
|
2
|
+
import { registerBuiltinHandlers } from "./handlers/index";
|
|
1
3
|
// ── Registry ─────────────────────────────────────────────────────────────────
|
|
2
4
|
const handlers = new Map();
|
|
3
5
|
let handlersInitialized = false;
|
|
@@ -5,8 +7,7 @@ function ensureHandlersRegistered() {
|
|
|
5
7
|
if (handlersInitialized)
|
|
6
8
|
return;
|
|
7
9
|
handlersInitialized = true;
|
|
8
|
-
|
|
9
|
-
require("./handlers/index");
|
|
10
|
+
registerBuiltinHandlers();
|
|
10
11
|
}
|
|
11
12
|
export function registerAssetType(handler) {
|
|
12
13
|
handlers.set(handler.typeName, handler);
|
|
@@ -15,7 +16,7 @@ export function getHandler(type) {
|
|
|
15
16
|
ensureHandlersRegistered();
|
|
16
17
|
const handler = handlers.get(type);
|
|
17
18
|
if (!handler) {
|
|
18
|
-
throw new
|
|
19
|
+
throw new UsageError(`Unknown asset type: "${type}"`);
|
|
19
20
|
}
|
|
20
21
|
return handler;
|
|
21
22
|
}
|