agentwheel 0.2.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 (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +155 -0
  3. package/dist/index.js +1402 -0
  4. package/package.json +57 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 NestDevLab
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,155 @@
1
+ <p align="center">
2
+ <img src="assets/logo.png" alt="agentwheel" width="120">
3
+ </p>
4
+
5
+ <h1 align="center">agentwheel</h1>
6
+
7
+ <p align="center"><strong>One source. Every agent.</strong></p>
8
+
9
+ <p align="center">
10
+ Weave your skills, rules, and instructions across every AI agent you use —
11
+ from any source, kept in sync, with your private tweaks intact.
12
+ </p>
13
+
14
+ ---
15
+
16
+ ## Why agentwheel?
17
+
18
+ Your AI agents are multiplying. Claude here, Codex there, a couple of custom runtimes in the corner — and every one of them wants its skills, its rules, its own little `AGENTS.md`, in its own folder, in its own format.
19
+
20
+ So you copy-paste. You forget which agent has the latest version. You tweak a rule for one and it drifts out of sync with the rest. Multiply that by a team, and "keep the agents aligned" quietly becomes a part-time job.
21
+
22
+ **agentwheel makes it one job, done once.** Point it at your skills and instructions, tell it which agents you run, and it installs everything where each one expects it — then keeps it that way. Update upstream and your agents update. Make a local tweak and it survives the next update. Add a brand-new runtime nobody's ever heard of? Drop in a small config and it's a first-class target too.
23
+
24
+ ```bash
25
+ npm i -g agentwheel
26
+ agentwheel add github:your-org/agent-pack
27
+ agentwheel update --dry-run # show me what would change
28
+ agentwheel update # install into configured agents
29
+ ```
30
+
31
+ No lock-in. No central gatekeeper. Your packages live in plain git repos, your customizations live in your own repo, and anything reachable by a URL just works.
32
+
33
+ ---
34
+
35
+ > **Status: early (v0.2).** The install spine and lifecycle core are real and tested — local/git
36
+ > sources, plan/sync/update/drift/uninstall, overlays, eject/remember, and pluggable adapters.
37
+ > Expect sharp edges.
38
+
39
+ ## What it does
40
+
41
+ - **Installs** skills, rules, and instructions into each runtime's native location.
42
+ - **Keeps them in sync** — re-runnable, idempotent, with a manifest and drift detection so nothing silently clobbers your work.
43
+ - **Pluggable adapters** — each runtime is described by a small config; add your own without forking.
44
+ - **Pluggable sources** — pull packages from local paths, git, or skill ecosystems.
45
+ - **Your customizations are first-class** — layer, extend, override, or take full ownership, and survive updates.
46
+
47
+ ## Quick start
48
+
49
+ ```bash
50
+ npm i -g agentwheel
51
+
52
+ agentwheel init
53
+ agentwheel add github:your-org/agent-pack --adapter openclaw --mode tracking
54
+ agentwheel update --dry-run
55
+ agentwheel update
56
+ ```
57
+
58
+ Prefer pnpm? `pnpm add -g agentwheel` works too.
59
+
60
+ Contributor install from source:
61
+
62
+ ```bash
63
+ git clone https://github.com/NestDevLab/agentwheel
64
+ cd agentwheel
65
+ pnpm install
66
+ pnpm build
67
+ pnpm link --global
68
+ ```
69
+
70
+ `plan`, `sync --dry-run`, and `update --dry-run` show exactly what would change before anything is written. They're the commands to trust.
71
+
72
+ ## Core ideas
73
+
74
+ **Three places, one direction:**
75
+
76
+ | | Where | What |
77
+ |---|---|---|
78
+ | **Author** | the package's git repo | upstream content — never edited in place |
79
+ | **Workspace** | your repo, under `.agentwheel/` | your config, locks, and customizations |
80
+ | **Runtime** | `.openclaw/`, `~/.claude/`, … | generated output — never hand-edited |
81
+
82
+ Flow: **author + your workspace → `sync` → runtime**.
83
+
84
+ ## Packages
85
+
86
+ A package is a git repo (or folder) with a JSON manifest and a canonical layout:
87
+
88
+ ```jsonc
89
+ // agentwheel.json (plain JSON or JSONC — both work)
90
+ {
91
+ "schemaVersion": 1,
92
+ "name": "your-org/agent-pack",
93
+ "version": "0.1.0",
94
+ "provides": [
95
+ { "type": "instructions", "path": "instructions/AGENTS.md" },
96
+ { "type": "rules", "path": "rules" },
97
+ { "type": "skills", "path": "skills" }
98
+ ]
99
+ }
100
+ ```
101
+
102
+ Publish by pushing to any git host. A registry exists only for short names and discovery — it's
103
+ optional, and `agentwheel add <url|path>` always works without it.
104
+
105
+ ## Customizing without getting overwritten
106
+
107
+ Drift detection blocks *accidental* edits to generated files. *Intentional* changes have four channels,
108
+ all stored in your `.agentwheel/` (never in the runtime dir, never in the author's repo):
109
+
110
+ - **Layer** — an editable region in your instructions that updates never touch. (This is how an agent can "remember X durably" without fighting drift.)
111
+ - **Add** — extra rule files composed alongside upstream.
112
+ - **Override** — replace a specific upstream item, visibly, in the plan.
113
+ - **Eject** — take an item into local ownership; updates leave it alone.
114
+
115
+ ## Custom & private runtimes
116
+
117
+ A runtime adapter is just a config (capabilities + paths). Have an internal runtime you can't publish?
118
+ Write a `.jsonc` adapter and point at it — it's a first-class target, and nothing leaves your machine:
119
+
120
+ ```jsonc
121
+ {
122
+ "name": "myco-internal",
123
+ "targets": {
124
+ "instructions": { "dest": ".myco/context/AGENTS.md" },
125
+ "rules": { "dest": ".myco/policy/rules" },
126
+ "skills": { "dest": ".myco/lib/skills" }
127
+ }
128
+ }
129
+ ```
130
+
131
+ ```bash
132
+ agentwheel sync ./my-pack --adapter-config ./myco-internal.jsonc
133
+ ```
134
+
135
+ Built-in adapters ship for common runtimes; declarative adapters need no code and stay private.
136
+ (Programmatic adapters, for logic beyond file placement, are planned behind an explicit opt-in.)
137
+
138
+ Copilot support is intentionally file-drop only: instructions, rules, and prompt/command files are
139
+ placed in GitHub-native locations, while raw `SKILL.md` directories stay disabled until there is a
140
+ clear conversion format.
141
+
142
+ ## Roadmap
143
+
144
+ - [x] **v0.1** — install spine: local sources; openclaw/claude/codex adapters; skills/rules/instructions; `plan` · `sync` · `--dry-run` · `uninstall`; manifest + drift + idempotency.
145
+ - [x] **v0.2** — git source driver; `update` (pinned & tracking); overlays/additive/override/eject; `init`; hermes + copilot adapters; commands/mcp/hooks artifacts; OpenClaw semantic plugin planning.
146
+ - [ ] **v0.3** — registry & federation (skill ecosystems, MCP); profiles; programmatic adapters.
147
+
148
+ ## Design docs
149
+
150
+ - [`DESIGN.md`](DESIGN.md) — architecture & module layout.
151
+ - [`LIFECYCLE.md`](LIFECYCLE.md) — publish / install / update / customize model.
152
+
153
+ ## License
154
+
155
+ See [`LICENSE`](LICENSE).