@shadowclone/cli 0.0.25 → 0.0.26
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/PRIVACY.md +14 -13
- package/README.md +89 -64
- package/bin/shadowclone.mjs +0 -0
- package/dist/_.._/{web → _.._/web/src}/client/index.html +3 -3
- package/dist/shadowclone.js +831 -740
- package/dist/web/index-cmzs0t91.js +135 -0
- package/evals.md +72 -86
- package/package.json +12 -37
- package/plugins/shadowclone/.claude-plugin/plugin.json +1 -1
- package/plugins/shadowclone/.codex-plugin/plugin.json +1 -1
- package/plugins/shadowclone/README.md +9 -5
- package/plugins/shadowclone/SECURITY.md +2 -2
- package/plugins/shadowclone/plugin.json +1 -1
- package/plugins/shadowclone/skills/setup-shadowclone/SKILL.md +43 -31
- package/skills/write-plain-english/SKILL.md +15 -4
- package/dist/web/index-xsq72pnc.js +0 -134
package/PRIVACY.md
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
# Privacy
|
|
2
2
|
|
|
3
|
-
Shadowclone runs on your machine. It
|
|
3
|
+
Shadowclone runs on your machine. It has no collection service and no telemetry.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Each session, memory, repository, and skill source is disabled until you consent to that source. Setup asks separately about session learning, skill maintenance, and background learning. You can use the browser build editor without enabling learning.
|
|
8
|
-
|
|
9
|
-
Shadowclone excludes tool results, tool-returned file contents, thinking blocks, and data-access results from learning. It resolves eligible text through its redaction boundary before model work. Redaction reduces exposure but does not guarantee anonymity, so use only material you are authorized to send.
|
|
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.
|
|
10
6
|
|
|
11
7
|
## What leaves your machine
|
|
12
8
|
|
|
13
|
-
|
|
9
|
+
The wizard and the local MCP server send nothing to Shadowclone. These features send data to the provider that you choose:
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
- **Learning, skill maintenance, and build naming:** selected redacted text, or skill titles and redacted summaries.
|
|
12
|
+
- **Voice capture:** your redacted GitHub writing, after you turn on `github-writing`.
|
|
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 Shadowclone never reads them.
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
The provider and GitHub govern retention of what they receive. [Data handling](docs/data-handling.md) lists every source, request, and file.
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
## Removal
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
- `shadowclone learning disable` stops background learning.
|
|
21
|
+
- `shadowclone skills automatic off` stops automatic skill edits.
|
|
22
|
+
- `shadowclone forget --all` removes the recorded state.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
Local state stays in the state folder. Uninstalling the plugin removes only its setup workflow.
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
Ask privacy questions that hold no sensitive data in [GitHub issues](https://github.com/theonly1me/shadowclone/issues). Report private material under the [security policy](SECURITY.md).
|
package/README.md
CHANGED
|
@@ -1,102 +1,127 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<img src="docs/assets/shadowclone-banner.png" alt="Shadowclone: Your engineering taste, in every coding agent." width="1280">
|
|
4
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/@shadowclone/cli)
|
|
6
|
+
[](https://github.com/theonly1me/shadowclone/actions/workflows/ci.yml)
|
|
7
|
+
[](LICENSE)
|
|
5
8
|
[](https://hol.org/registry/plugins/theonly1me%2Fshadowclone)
|
|
6
|
-
[](https://hol.org/registry/plugins/shadowclone%2Fshadowclone)
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
[Quick start](#quick-start) · [What you get](#what-you-get) · [Skills](#skills-in-the-box) · [Cloud bot](docs/guides/cloud-bot.md) · [Docs](#docs)
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
</div>
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
**Shadowclone makes coding agents follow your engineering taste, or any rules you configure, whatever the harness, agent, or model.** It works in Claude Code, Codex, Cursor, Pi, and Antigravity on your machine. It also runs on GitHub as a cloud bot with your Claude Code or Codex token. The bot works on issues, answers mentions, and reviews pull requests, like an agent with your engineering taste.
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
## Quick start
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
/plugin marketplace add theonly1me/shadowclone
|
|
18
|
-
/plugin install shadowclone@shadowclone
|
|
19
|
-
```
|
|
18
|
+
Paste this into Claude Code, Codex, Cursor, Pi, or Antigravity:
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
codex plugin marketplace add theonly1me/shadowclone
|
|
25
|
-
codex plugin add shadowclone@shadowclone
|
|
20
|
+
```text
|
|
21
|
+
Set up Shadowclone: https://raw.githubusercontent.com/theonly1me/shadowclone/main/plugins/shadowclone/skills/setup-shadowclone/SKILL.md
|
|
26
22
|
```
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Cursor, Antigravity, and other skill-compatible agents can use the portable [`setup-shadowclone` skill](plugins/shadowclone/skills/setup-shadowclone/SKILL.md). Once any supported agent completes setup, Shadowclone synchronizes native guidance across the detected agents on your machine.
|
|
24
|
+
The agent does the setup in about 5 minutes:
|
|
31
25
|
|
|
32
|
-
|
|
26
|
+
1. It installs the CLI, and the plugin in Claude Code or Codex.
|
|
27
|
+
2. It asks if Shadowclone can learn from your past sessions, keep skills in sync, and keep learning in the background.
|
|
28
|
+
3. It opens the skill wizard, where you pick skills and select **Equip**.
|
|
29
|
+
4. It learns from your past sessions while you pick skills, if you agreed.
|
|
33
30
|
|
|
34
|
-
|
|
31
|
+
<details>
|
|
32
|
+
<summary>Install by hand</summary>
|
|
35
33
|
|
|
36
34
|
```bash
|
|
37
35
|
npm install -g @shadowclone/cli
|
|
36
|
+
shadowclone init
|
|
37
|
+
shadowclone wizard
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
| ---- | --------------------------------------------------------------- | ------------------------------------------------------------------- | ----------------------: |
|
|
42
|
-
| 1 | `shadowclone init` | Answer three questions about learning and skill maintenance | About 1 minute |
|
|
43
|
-
| 2 | `shadowclone learn --deep` | Learn from enabled past sessions; repeat if more history remains | Up to 5 minutes per run |
|
|
44
|
-
| 3 | `shadowclone learning pending` and `shadowclone skills pending` | Review learned rules, scope, and publication before relying on them | About 1 minute |
|
|
40
|
+
To add the plugin, run `/plugin install shadowclone@shadowclone` after `/plugin marketplace add theonly1me/shadowclone` in Claude Code. In Codex, run `codex plugin marketplace add theonly1me/shadowclone` and then `codex plugin add shadowclone@shadowclone`.
|
|
45
41
|
|
|
46
|
-
|
|
42
|
+
</details>
|
|
47
43
|
|
|
48
|
-
|
|
44
|
+
## What you get
|
|
49
45
|
|
|
50
|
-
|
|
46
|
+
- **Learning from your corrections.** Rules that you repeat in allowed sessions become skills and short native instructions.
|
|
47
|
+
- **One setup for every agent and model.** The same skills reach all five agents. Pi can use any model that you configure.
|
|
48
|
+
- **Agent builds.** Pick workflow skills on a browser skill map. Equip a personal build, a private build for one repository, or a shared build that your team commits. [Agent builds guide](docs/guides/agent-builds.md).
|
|
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.
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+

|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
## Skills in the box
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Shadowclone bundles 14 workflow skills. Pick them in the wizard.
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
| Skill | Loads when |
|
|
59
|
+
| ----------------------------- | --------------------------------------- |
|
|
60
|
+
| `choose-by-consequence` | A change adds a skip or fallback |
|
|
61
|
+
| `design-deep-modules` | You design a module |
|
|
62
|
+
| `diagnose-before-editing` | The cause of a failure is unknown |
|
|
63
|
+
| `plan-with-review-page` | A change has many steps |
|
|
64
|
+
| `research-primary-sources` | A decision needs outside facts |
|
|
65
|
+
| `resolve-conflicts-by-intent` | A merge or rebase has conflicts |
|
|
66
|
+
| `scope-confirmed-changes` | You fix a bug or review finding |
|
|
67
|
+
| `shadowclone-review` | A pull request needs a review |
|
|
68
|
+
| `shadowclone-work` | You take a change to ready for review |
|
|
69
|
+
| `tests-that-catch-bugs` | You add or change a test |
|
|
70
|
+
| `typescript-type-safety` | You change TypeScript types |
|
|
71
|
+
| `verify-and-review` | Before you say that work is done |
|
|
72
|
+
| `verify-review-findings` | A pull request has review comments |
|
|
73
|
+
| `write-plain-english` | You write text for a person (always on) |
|
|
59
74
|
|
|
60
|
-
|
|
61
|
-
| ----------------------------------------- | ----------: | ---------: | ----------------: | --------------: |
|
|
62
|
-
| Agent alone | 77.3% | 59.0% | 56.5% | 53.2% |
|
|
63
|
-
| Existing user skills | 85.2% | 80.6% | 76.4% | 73.6% |
|
|
64
|
-
| Existing skills + Shadowclone routing | 86.1% | 72.7% | 76.9% | 75.9% |
|
|
65
|
-
| Existing skills + handwritten preferences | 92.4% | 81.2% | 91.7% | 86.1% |
|
|
66
|
-
| Existing skills + Shadowclone learning | 89.4% | 83.3% | 90.0% | 82.9% |
|
|
75
|
+
## Results
|
|
67
76
|
|
|
68
|
-
Shadowclone learning
|
|
77
|
+
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).
|
|
69
78
|
|
|
70
|
-
|
|
79
|
+
| Setup | GPT 6.1 Sol | GPT 6 Luna | Claude Sonnet 5.5 | Claude Opus 5.5 |
|
|
80
|
+
| -------------------------------------- | ----------: | ---------: | ----------------: | --------------: |
|
|
81
|
+
| Agent alone | 77.3% | 59.0% | 56.5% | 53.2% |
|
|
82
|
+
| Existing user skills | 85.2% | 80.6% | 76.4% | 73.6% |
|
|
83
|
+
| Existing skills + Shadowclone learning | 89.4% | 83.3% | 90.0% | 82.9% |
|
|
71
84
|
|
|
72
|
-
##
|
|
85
|
+
## How it works
|
|
86
|
+
|
|
87
|
+
```mermaid
|
|
88
|
+
flowchart LR
|
|
89
|
+
A[Consented sessions] --> B[Learning]
|
|
90
|
+
B --> C[Skills and native instructions]
|
|
91
|
+
C --> D[Agents on your machine]
|
|
92
|
+
C --> E[Cloud bot on GitHub]
|
|
93
|
+
```
|
|
73
94
|
|
|
74
|
-
|
|
95
|
+
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).
|
|
75
96
|
|
|
76
|
-
|
|
97
|
+
## Privacy
|
|
77
98
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| Browser editor | Nothing merely from opening it; optional AI drafting sends reviewed form fields |
|
|
83
|
-
| Evaluation | Synthetic prompts, the tested setup's guidance, and generated code |
|
|
99
|
+
- **No collection service.** No telemetry. Model work uses the agent CLI that you choose.
|
|
100
|
+
- **Consent.** Every source is off by default and has its own setting.
|
|
101
|
+
- **Redaction.** Tool results, tool-returned file contents, and thinking blocks never enter learning.
|
|
102
|
+
- **Removal.** Run `shadowclone learning disable`, `shadowclone skills automatic off`, or `shadowclone forget --all`.
|
|
84
103
|
|
|
85
|
-
|
|
104
|
+
Read the [privacy policy](PRIVACY.md) and [data handling](docs/data-handling.md).
|
|
86
105
|
|
|
87
|
-
|
|
106
|
+
## Docs
|
|
88
107
|
|
|
89
|
-
|
|
108
|
+
| Guide | Use it to |
|
|
109
|
+
| ------------------------------------------------ | --------------------- |
|
|
110
|
+
| [Agent builds](docs/guides/agent-builds.md) | Pick skills and scope |
|
|
111
|
+
| [Learning](docs/guides/learning.md) | Learn from sessions |
|
|
112
|
+
| [Skill maintenance](docs/guides/skills.md) | Review updates, undo |
|
|
113
|
+
| [Repository setup](docs/guides/repositories.md) | Share checks |
|
|
114
|
+
| [Pi setup](docs/guides/pi.md) | Use Pi models |
|
|
115
|
+
| [Delegated work](docs/guides/delegated-work.md) | Ready a pull request |
|
|
116
|
+
| [Cloud bot](docs/guides/cloud-bot.md) | Set up the GitHub bot |
|
|
117
|
+
| [Reviews](docs/guides/reviews.md) | Review a pull request |
|
|
118
|
+
| [MCP server](docs/guides/mcp.md) | Give agents the tools |
|
|
119
|
+
| [Command reference](docs/guides/commands.md) | Find every command |
|
|
120
|
+
| [Migration](docs/guides/migration.md) | Move to skills |
|
|
121
|
+
| [Enterprise controls](docs/guides/enterprise.md) | Set scope and policy |
|
|
90
122
|
|
|
91
|
-
|
|
92
|
-
| ----------------------------------------------- | -------------------------------------------------------------- |
|
|
93
|
-
| [Agent builds](docs/guides/agent-builds.md) | Choose, create, and equip skills |
|
|
94
|
-
| [Learning](docs/guides/learning.md) | Run deep learning, background learning, or record a preference |
|
|
95
|
-
| [Skill maintenance](docs/guides/skills.md) | Review updates, conflicts, history, and undo |
|
|
96
|
-
| [Repository setup](docs/guides/repositories.md) | Share checks and skills with a repository |
|
|
97
|
-
| [How it works](docs/guides/how-it-works.md) | Follow guidance from consented evidence to coding agents |
|
|
98
|
-
| [Command reference](docs/guides/commands.md) | Find everyday and advanced commands |
|
|
123
|
+
More: [documentation index](docs/README.md), [motivation](docs/motivation.md), [design history](docs/design/README.md), [security](SECURITY.md).
|
|
99
124
|
|
|
100
|
-
|
|
125
|
+
## Contributing
|
|
101
126
|
|
|
102
|
-
Shadowclone
|
|
127
|
+
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.
|
package/bin/shadowclone.mjs
CHANGED
|
File without changes
|
|
@@ -9,7 +9,7 @@
|
|
|
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
11
|
<title>Your agent build · Shadowclone</title>
|
|
12
|
-
<link rel="icon" type="image/svg+xml" href="
|
|
12
|
+
<link rel="icon" type="image/svg+xml" href="../../../../../web/shadowclone-mark-w6a76wqy.svg" />
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
<link rel="stylesheet" crossorigin href="
|
|
26
|
+
<link rel="stylesheet" crossorigin href="../../../../../web/index-t330dg8e.css"><script type="module" crossorigin src="../../../../../web/index-cmzs0t91.js"></script></head>
|
|
27
27
|
<body>
|
|
28
28
|
<div class="frame">
|
|
29
29
|
<header class="masthead">
|
|
30
30
|
<a class="brand" href="/" aria-label="Shadowclone agent builder">
|
|
31
|
-
<img class="brand-mark" src="
|
|
31
|
+
<img class="brand-mark" src="../../../../../web/shadowclone-mark-w6a76wqy.svg" alt="" />
|
|
32
32
|
shadowclone
|
|
33
33
|
</a>
|
|
34
34
|
<span class="local-badge"><span></span> LOCAL WORKSPACE</span>
|