@shadowclone/cli 0.0.30 → 0.0.32
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/.claude-plugin/marketplace.json +2 -2
- package/PRIVACY.md +4 -4
- package/README.md +81 -55
- package/dist/_.._/_.._/web/src/client/index.html +4 -5
- package/dist/shadowclone.js +555 -653
- package/dist/web/{index-t330dg8e.css → index-2g0ykt7d.css} +1 -1
- package/dist/web/index-4effche5.js +133 -0
- package/evals.md +2 -2
- package/package.json +1 -1
- package/plugins/shadowclone/.claude-plugin/plugin.json +2 -2
- package/plugins/shadowclone/.codex-plugin/plugin.json +7 -7
- package/plugins/shadowclone/README.md +4 -4
- package/plugins/shadowclone/plugin.json +7 -7
- package/plugins/shadowclone/skills/setup-shadowclone/SKILL.md +6 -6
- package/dist/web/index-cmzs0t91.js +0 -135
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shadowclone",
|
|
3
3
|
"owner": {
|
|
4
|
-
"name": "
|
|
4
|
+
"name": "shadowclone"
|
|
5
5
|
},
|
|
6
|
-
"description": "Install
|
|
6
|
+
"description": "Install shadowclone with agent-led local setup and explicit consent.",
|
|
7
7
|
"plugins": [
|
|
8
8
|
{
|
|
9
9
|
"name": "shadowclone",
|
package/PRIVACY.md
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
# Privacy
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
shadowclone runs on your machine. It has no collection service and no telemetry.
|
|
4
4
|
|
|
5
|
-
Each session, memory, repository, and skill source is off until you consent to it. Setup asks three separate questions: session learning, skill maintenance, and background learning. Learning excludes tool results, tool-returned file contents, thinking blocks, and data-access results.
|
|
5
|
+
Each session, memory, repository, and skill source is off until you consent to it. Setup asks three separate questions: session learning, skill maintenance, and background learning. Learning excludes tool results, tool-returned file contents, thinking blocks, and data-access results. shadowclone redacts eligible text before any model work. Redaction does not guarantee anonymity, so send only material that you may send.
|
|
6
6
|
|
|
7
7
|
## What leaves your machine
|
|
8
8
|
|
|
9
|
-
The wizard and the local MCP server send nothing to
|
|
9
|
+
The wizard and the local MCP server send nothing to shadowclone. These features send data to the provider that you choose:
|
|
10
10
|
|
|
11
11
|
- **Learning, skill maintenance, and build naming:** selected redacted text, or skill titles and redacted summaries.
|
|
12
12
|
- **Voice capture:** your redacted GitHub writing, after you turn on `github-writing`.
|
|
13
13
|
- **Pull request review:** the pull request, its diff, and related files. `--offline` stops web search and the OSV lookup of lockfile package names.
|
|
14
|
-
- **Cloud bot:** your reviewed skills, the repository, and the task. You enter tokens on GitHub, and
|
|
14
|
+
- **Cloud bot:** your reviewed skills, the repository, and the task. You enter tokens on GitHub, and shadowclone never reads them.
|
|
15
15
|
|
|
16
16
|
The provider and GitHub govern retention of what they receive. [Data handling](docs/data-handling.md) lists every source, request, and file.
|
|
17
17
|
|
package/README.md
CHANGED
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="docs/assets/shadowclone-banner.png" alt="
|
|
3
|
+
<img src="docs/assets/shadowclone-banner.png" alt="shadowclone: Your engineering taste, in every coding agent." width="1280">
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@shadowclone/cli)
|
|
6
6
|
[](https://github.com/theonly1me/shadowclone/actions/workflows/ci.yml)
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
[](https://hol.org/registry/plugins/theonly1me%2Fshadowclone)
|
|
9
9
|
|
|
10
|
-
[Quick start](#quick-start) · [What
|
|
10
|
+
[Quick start](#quick-start) · [What shadowclone offers](#what-shadowclone-offers) · [Compare](#how-shadowclone-compares-to-other-tools) · [How it works](#how-it-works) · [Eval and Results](#eval-and-results) · [Docs](#docs)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
-
**
|
|
14
|
+
**shadowclone keeps your engineering preferences the same in every coding agent.** It maintains one set of skills and instructions for Claude Code, Codex, Cursor, Pi, and Antigravity. You do not copy rules from one tool to the next. shadowclone can also learn new preferences from the sessions that you allow.
|
|
15
|
+
|
|
16
|
+
**The same skills reach your cloud agent.** A GitHub bot runs Claude Code, Codex, or Cursor with your selected skills. So the bot writes and reviews code with the preferences that your local agents use. shadowclone is not a separate agent. It equips the agent that you already use. See [how it compares to other tools](#how-shadowclone-compares-to-other-tools).
|
|
15
17
|
|
|
16
18
|
## Quick start
|
|
17
19
|
|
|
18
20
|
Paste this into Claude Code, Codex, Cursor, Pi, or Antigravity:
|
|
19
21
|
|
|
20
22
|
```text
|
|
21
|
-
Set up
|
|
23
|
+
Set up shadowclone: https://raw.githubusercontent.com/theonly1me/shadowclone/main/plugins/shadowclone/skills/setup-shadowclone/SKILL.md
|
|
22
24
|
```
|
|
23
25
|
|
|
24
|
-
The agent
|
|
26
|
+
The agent handles installation and configuration in about 5 minutes. You answer the consent questions and pick skills in the browser:
|
|
25
27
|
|
|
26
28
|
1. It installs the CLI, and the plugin in Claude Code or Codex.
|
|
27
|
-
2. It asks if
|
|
29
|
+
2. It asks if shadowclone can learn from your past sessions, keep skills in sync, and keep learning in the background.
|
|
28
30
|
3. It opens the skill wizard, where you pick skills and select **Equip**.
|
|
29
31
|
4. It learns from your past sessions while you pick skills, if you agreed.
|
|
30
32
|
|
|
@@ -41,56 +43,70 @@ To add the plugin, run `/plugin install shadowclone@shadowclone` after `/plugin
|
|
|
41
43
|
|
|
42
44
|
</details>
|
|
43
45
|
|
|
44
|
-
## What
|
|
46
|
+
## What shadowclone offers
|
|
47
|
+
|
|
48
|
+
### Preferences that evolve with your work
|
|
49
|
+
|
|
50
|
+
**Learn from corrections.** shadowclone reads the sessions you allow and turns reusable instructions into skills and short native guidance. It keeps repository-specific rules in their scope. Rules remain readable, editable, and reversible.
|
|
51
|
+
|
|
52
|
+
**Keep guidance current.** Background learning reviews new rules after each session. It applies durable guidance when automatic maintenance is on and discards rules that existing guidance covers. You can review and undo each change. See the [learning guide](docs/guides/learning.md).
|
|
53
|
+
|
|
54
|
+
### Skills and builds you can configure
|
|
45
55
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- **Cloud bot.** A GitHub account that you name runs in GitHub Actions with your Claude Code or Codex token. It works on issues, answers mentions, and reviews pull requests. You merge each pull request. [Cloud bot guide](docs/guides/cloud-bot.md).
|
|
50
|
-
- **Reviews and delegated work.** `shadowclone review 123` reviews a pull request on your machine. The `shadowclone-work` skill takes a change to ready for review.
|
|
56
|
+
**Start with a build.** shadowclone includes 15 workflow skills for planning, debugging, implementation, verification, and review. New users can pick skills immediately. Learning from past sessions is optional. Browse the skills in [`skills/`](skills/), or [install them without the CLI](docs/guides/skills.md#install-skills-without-shadowclone).
|
|
57
|
+
|
|
58
|
+
**Choose where skills apply.** The browser wizard supports a personal build, a private build for one repository, or a shared build that a team commits. The same skills reach all five agents. Pi can use any model it supports. See [Agent builds](docs/guides/agent-builds.md).
|
|
51
59
|
|
|
52
60
|

|
|
53
61
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
Shadowclone bundles 15 workflow skills. Pick them in the wizard.
|
|
57
|
-
|
|
58
|
-
| Skill | Loads when |
|
|
59
|
-
| ----------------------------- | --------------------------------------- |
|
|
60
|
-
| `choose-by-consequence` | A change adds a skip or fallback |
|
|
61
|
-
| `guided-pr-review` | You want a guided PR walkthrough |
|
|
62
|
-
| `design-deep-modules` | You design a module |
|
|
63
|
-
| `diagnose-before-editing` | The cause of a failure is unknown |
|
|
64
|
-
| `plan-with-review-page` | A change has many steps |
|
|
65
|
-
| `research-primary-sources` | A decision needs outside facts |
|
|
66
|
-
| `resolve-conflicts-by-intent` | A merge or rebase has conflicts |
|
|
67
|
-
| `scope-confirmed-changes` | You fix a bug or review finding |
|
|
68
|
-
| `shadowclone-review` | A pull request needs a review |
|
|
69
|
-
| `shadowclone-work` | You take a change to ready for review |
|
|
70
|
-
| `tests-that-catch-bugs` | You add or change a test |
|
|
71
|
-
| `typescript-type-safety` | You change TypeScript types |
|
|
72
|
-
| `verify-and-review` | Before you say that work is done |
|
|
73
|
-
| `verify-review-findings` | A pull request has review comments |
|
|
74
|
-
| `write-plain-english` | You write text for a person (always on) |
|
|
75
|
-
|
|
76
|
-
To pick skills without the CLI, run `npx skills add theonly1me/shadowclone`.
|
|
77
|
-
Use `--skill guided-pr-review shadowclone-review` to install guided review and its local reviewer.
|
|
78
|
-
The separate `@shadowclone/skills` npm artifact contains the same portable skills and supporting files.
|
|
79
|
-
See [manual installation](docs/guides/skills.md#install-skills-without-shadowclone).
|
|
80
|
-
|
|
81
|
-
The guided review skill creates an HTML reading route with real diffs, behaviour traces, and inline notes.
|
|
82
|
-
It connects related changes across PRs and identifies each change's PR.
|
|
83
|
-
See [guided reviews](docs/guides/reviews.md#guided-review-with-your-agent).
|
|
84
|
-
|
|
85
|
-
## Results
|
|
86
|
-
|
|
87
|
-
Across 24 fixed tasks, Shadowclone learning scored above existing user skills on all four models. Scores measure preference adherence on synthetic tasks. See [setups, methods, and limits](evals.md).
|
|
62
|
+
### Reviews on your machine and on GitHub
|
|
88
63
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
64
|
+
**Review a pull request.** Run a local review with your Claude subscription:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
shadowclone review 123
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The reviewer combines repository standards, mechanical checks, and code analysis. Findings include evidence checked against the source. The result stays in a local file. Run `shadowclone review --base main` to review committed branch changes before opening a PR.
|
|
71
|
+
|
|
72
|
+
**Read a guided review.** Equip `guided-pr-review` and `shadowclone-review`, then ask your agent:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
Use guided-pr-review to review PRs 1, 2, and 3.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The agent creates an HTML guide with actual diffs, behavior traces, and a reading order across the PRs. It supports inline notes and lets the reader reveal agent findings after forming a review. The guide stays local. See [reviews](docs/guides/reviews.md).
|
|
79
|
+
|
|
80
|
+
**Review in the cloud.** Comment `@<bot> review` on a pull request, also on one from a fork. The cloud bot posts its findings on GitHub under its own identity. See [cloud review](docs/guides/reviews.md#review-in-the-cloud).
|
|
81
|
+
|
|
82
|
+
### A cloud bot with your skills
|
|
83
|
+
|
|
84
|
+
**Delegate GitHub work.** A bot runs in GitHub Actions with your selected skills and one provider API key: Anthropic, OpenAI, an OpenAI-compatible endpoint, or Cursor. Anyone with write access can tag it. It works on issues, opens pull requests, and follows checks and review feedback. You decide when to merge.
|
|
85
|
+
|
|
86
|
+
**Ask the agent to configure it.** After local setup, ask:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
Set up shadowclone cloud here with the bot octo-shadow.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The agent prepares the skills repository and workflows. Then it gives you one link where you add the bot token and the API key on GitHub. Merge the setup PR, and the agent runs a check. The [cloud bot guide](docs/guides/cloud-bot.md) covers providers, setup, and pausing work to continue locally.
|
|
93
|
+
|
|
94
|
+
**Keep your key on GitHub.** The bot reads the API key from a GitHub environment, and shadowclone never sees it. Anyone with write access can tag the bot, so set a spending limit in your provider console.
|
|
95
|
+
|
|
96
|
+
## How shadowclone compares to other tools
|
|
97
|
+
|
|
98
|
+
shadowclone gives one set of skills to the agents that you already use, on your machine and on GitHub. The table uses each project's own pages, checked on 12 October 2026. "Not stated" means that those pages do not answer the question.
|
|
99
|
+
|
|
100
|
+
| Tool | What it is | Agents | Learns from your sessions | Same guidance in the cloud | Reviews pull requests |
|
|
101
|
+
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------- | -------------------------------------- | ------------------------------- | ------------------------------------- |
|
|
102
|
+
| shadowclone | Skills, instructions, learning, and a GitHub cloud bot for the agents that you already use | Claude Code, Codex, Cursor, Pi, Antigravity | Yes, from the sessions that you allow | Yes, a GitHub Actions bot | Yes, locally, guided, and on GitHub |
|
|
103
|
+
| [pstack](https://github.com/cursor/plugins/tree/main/pstack) | A skill and principle pack | Cursor | No. You run `/reflect` to edit a skill | Not stated | Yes, `/interrogate` and Comment Sicko |
|
|
104
|
+
| [Hermes Agent](https://github.com/NousResearch/hermes-agent) | Its own agent with a learning loop | Hermes only | Yes, it writes skills after tasks | Yes, on a server with chat apps | Not stated |
|
|
105
|
+
| [Claude Code auto memory](https://code.claude.com/docs/en/memory) | Built-in notes from corrections | Claude Code | Yes, notes from your corrections | No. Memory stays on one machine | No |
|
|
106
|
+
| [Claude Subconscious](https://github.com/letta-ai/claude-subconscious) | A background Letta agent | Claude Code | Yes, through a Letta agent | Not stated | No |
|
|
107
|
+
| [imprint](https://github.com/n33kos/imprint) | A plugin that trains one profile | Claude Code | Yes, when you run `/imprint:train` | Not stated | No |
|
|
108
|
+
|
|
109
|
+
Claude Code loads its auto memory beside shadowclone skills, so you can use both. See the [comparison guide](docs/guides/comparison.md) for each tool and its sources.
|
|
94
110
|
|
|
95
111
|
## How it works
|
|
96
112
|
|
|
@@ -102,7 +118,17 @@ flowchart LR
|
|
|
102
118
|
C --> E[Cloud bot on GitHub]
|
|
103
119
|
```
|
|
104
120
|
|
|
105
|
-
|
|
121
|
+
shadowclone indexes references to enabled sessions and copies no transcript. It redacts text and learns rules. One session can give an explicit rule, and an inferred pattern needs three independent sessions. Rules become skills that you can read, edit, and undo. shadowclone changes the guidance, not the model. See the [architecture](docs/architecture/README.md).
|
|
122
|
+
|
|
123
|
+
## Eval and Results
|
|
124
|
+
|
|
125
|
+
Across 24 fixed tasks, shadowclone learning scored above existing user skills on all four models. Scores measure preference adherence on synthetic tasks. See [setups, methods, and limits](evals.md).
|
|
126
|
+
|
|
127
|
+
| Setup | GPT 6.1 Sol | GPT 6 Luna | Claude Sonnet 5.5 | Claude Opus 5.5 |
|
|
128
|
+
| -------------------------------------- | ----------: | ---------: | ----------------: | --------------: |
|
|
129
|
+
| Agent alone | 77.3% | 59.0% | 56.5% | 53.2% |
|
|
130
|
+
| Existing user skills | 85.2% | 80.6% | 76.4% | 73.6% |
|
|
131
|
+
| Existing skills + shadowclone learning | 89.4% | 83.3% | 90.0% | 82.9% |
|
|
106
132
|
|
|
107
133
|
## Privacy
|
|
108
134
|
|
|
@@ -127,11 +153,11 @@ Read the [privacy policy](PRIVACY.md) and [data handling](docs/data-handling.md)
|
|
|
127
153
|
| [Reviews](docs/guides/reviews.md) | Review a pull request |
|
|
128
154
|
| [MCP server](docs/guides/mcp.md) | Give agents the tools |
|
|
129
155
|
| [Command reference](docs/guides/commands.md) | Find every command |
|
|
130
|
-
| [Migration](docs/guides/migration.md) | Move to skills |
|
|
131
156
|
| [Enterprise controls](docs/guides/enterprise.md) | Set scope and policy |
|
|
157
|
+
| [Comparison](docs/guides/comparison.md) | Compare related tools |
|
|
132
158
|
|
|
133
|
-
More: [documentation index](docs/README.md), [motivation](docs/motivation.md), [design
|
|
159
|
+
More: [documentation index](docs/README.md), [motivation](docs/motivation.md), [design records](docs/design/README.md), [security](SECURITY.md).
|
|
134
160
|
|
|
135
161
|
## Contributing
|
|
136
162
|
|
|
137
|
-
Read [CONTRIBUTING.md](CONTRIBUTING.md) before you open a pull request.
|
|
163
|
+
Read [CONTRIBUTING.md](CONTRIBUTING.md) before you open a pull request. shadowclone uses the MIT license. If shadowclone saves you a correction, star the repository.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
http-equiv="Content-Security-Policy"
|
|
9
9
|
content="default-src 'self'; connect-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; object-src 'none'; base-uri 'none'; form-action https://github.com"
|
|
10
10
|
/>
|
|
11
|
-
<title>Your agent build ·
|
|
11
|
+
<title>Your agent build · shadowclone</title>
|
|
12
12
|
<link rel="icon" type="image/svg+xml" href="../../../../../web/shadowclone-mark-w6a76wqy.svg" />
|
|
13
13
|
|
|
14
14
|
|
|
@@ -22,12 +22,11 @@
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
<link rel="stylesheet" crossorigin href="../../../../../web/index-t330dg8e.css"><script type="module" crossorigin src="../../../../../web/index-cmzs0t91.js"></script></head>
|
|
25
|
+
<link rel="stylesheet" crossorigin href="../../../../../web/index-2g0ykt7d.css"><script type="module" crossorigin src="../../../../../web/index-4effche5.js"></script></head>
|
|
27
26
|
<body>
|
|
28
27
|
<div class="frame">
|
|
29
28
|
<header class="masthead">
|
|
30
|
-
<a class="brand" href="/" aria-label="
|
|
29
|
+
<a class="brand" href="/" aria-label="shadowclone agent builder">
|
|
31
30
|
<img class="brand-mark" src="../../../../../web/shadowclone-mark-w6a76wqy.svg" alt="" />
|
|
32
31
|
shadowclone
|
|
33
32
|
</a>
|
|
@@ -63,7 +62,7 @@
|
|
|
63
62
|
<p id="scope-note" class="scope-note"></p>
|
|
64
63
|
<details id="library-note" class="library-note" hidden>
|
|
65
64
|
<summary>Built-in library · add your own</summary>
|
|
66
|
-
<p>Include your installed skills by choosing the folders
|
|
65
|
+
<p>Include your installed skills by choosing the folders shadowclone can read.</p>
|
|
67
66
|
<code>shadowclone skills configure</code>
|
|
68
67
|
</details>
|
|
69
68
|
</div>
|