@shadowclone/cli 0.0.11 → 0.0.13
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 +4 -2
- package/PRIVACY.md +25 -0
- package/README.md +44 -159
- package/dist/_.._/web/client/index.html +23 -13
- package/dist/shadowclone.js +448 -426
- package/dist/web/index-dzztba9n.css +1 -0
- package/dist/web/index-pty3xg03.js +134 -0
- package/evals.md +235 -53
- package/package.json +10 -2
- package/plugins/shadowclone/.claude-plugin/plugin.json +17 -0
- package/plugins/shadowclone/.codex-plugin/plugin.json +46 -0
- package/plugins/shadowclone/.codexignore +4 -0
- package/plugins/shadowclone/.mcp.json +8 -0
- package/plugins/shadowclone/LICENSE +21 -0
- package/plugins/shadowclone/README.md +17 -0
- package/plugins/shadowclone/SECURITY.md +5 -0
- package/plugins/shadowclone/assets/agent-builds.jpg +0 -0
- package/plugins/shadowclone/assets/shadowclone-mark.svg +42 -0
- package/plugins/shadowclone/mcp.json +10 -0
- package/plugins/shadowclone/plugin.json +49 -0
- package/plugins/shadowclone/skills/setup-shadowclone/SKILL.md +53 -0
- package/plugins/shadowclone/skills/setup-shadowclone/scripts/check-cli.mjs +37 -0
- package/skills/verify-and-review/SKILL.md +1 -1
- package/.claude-plugin/hooks/hooks.json +0 -35
- package/.claude-plugin/plugin.json +0 -5
- package/dist/web/index-174jt7gq.css +0 -1
- package/dist/web/index-1ezbn24z.js +0 -133
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
"owner": {
|
|
4
4
|
"name": "Shadowclone"
|
|
5
5
|
},
|
|
6
|
+
"description": "Install Shadowclone with agent-led local setup and explicit consent.",
|
|
6
7
|
"plugins": [
|
|
7
8
|
{
|
|
8
9
|
"name": "shadowclone",
|
|
9
|
-
"source": "
|
|
10
|
-
"
|
|
10
|
+
"source": "./plugins/shadowclone",
|
|
11
|
+
"strict": true,
|
|
12
|
+
"description": "Set up and maintain portable coding-agent skills with explicit local consent"
|
|
11
13
|
}
|
|
12
14
|
]
|
|
13
15
|
}
|
package/PRIVACY.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Privacy
|
|
2
|
+
|
|
3
|
+
Shadowclone runs on your machine. It does not operate a collection service and does not add telemetry.
|
|
4
|
+
|
|
5
|
+
## What it reads
|
|
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.
|
|
10
|
+
|
|
11
|
+
## What leaves your machine
|
|
12
|
+
|
|
13
|
+
Opening the browser editor and using the local MCP server do not send data to Shadowclone. Optional learning, skill drafting, build descriptions, and delegated runs use an agent CLI you choose. Consented, redacted inputs go directly through that provider and are governed by its terms.
|
|
14
|
+
|
|
15
|
+
The build description action sends selected skill titles and redacted summaries. It does not send skill bodies, file paths, repository names, or ownership metadata.
|
|
16
|
+
|
|
17
|
+
## Local storage and removal
|
|
18
|
+
|
|
19
|
+
Configuration, evidence, revisions, generated skills, and installation records stay in Shadowclone's local state directory or in files you review before applying. Disable background learning with `shadowclone learning disable`, stop automatic skill edits with `shadowclone skills automatic off`, or remove recorded state with `shadowclone forget --all`.
|
|
20
|
+
|
|
21
|
+
Uninstalling the plugin removes its packaged setup workflow. Use the CLI removal commands for locally installed guidance and state.
|
|
22
|
+
|
|
23
|
+
## Questions and reports
|
|
24
|
+
|
|
25
|
+
Use [GitHub issues](https://github.com/theonly1me/shadowclone/issues) for privacy questions that contain no sensitive data. Follow [the security policy](SECURITY.md) when a report needs private material.
|
package/README.md
CHANGED
|
@@ -2,203 +2,88 @@
|
|
|
2
2
|
|
|
3
3
|
# Shadowclone
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Keep working in your usual agent. Equip workflows, add your own, and let useful corrections improve future sessions. Shadowclone learns from the sessions and memory you enable. You control what it reads, which guidance applies, and what it may change. [Why I built it](docs/motivation.md).
|
|
8
|
-
|
|
9
|
-
[Get started](#get-started) · [Agent builds](#agent-builds) · [Learning](#learn-from-your-work) · [Skills](#maintain-your-skills) · [How it works](#how-it-works) · [Privacy](#privacy-comes-first) · [Evaluations](#evaluations)
|
|
5
|
+
Shadowclone maintains the skills, instructions, and checks that help **Claude Code, Codex, Cursor, and Antigravity** follow your engineering preferences. It works with the coding agents you already use and keeps you in control of what it reads and changes.
|
|
10
6
|
|
|
11
7
|
## Get started
|
|
12
8
|
|
|
13
|
-
|
|
14
|
-
npm install -g @shadowclone/cli
|
|
15
|
-
shadowclone init
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
For model-assisted learning, you need an installed and authenticated `claude`, `codex`, or `cursor-agent` CLI. Shadowclone uses that account and its quota, with no separate API key or Shadowclone account. Antigravity supports capture and native guidance; learning needs one of the other CLIs.
|
|
19
|
-
|
|
20
|
-
Setup shows the sources it found and asks what it may read, whether it may maintain your skills, and whether to learn in the background. You can decline any of these. Use `shadowclone init --advanced` to choose sources individually.
|
|
21
|
-
|
|
22
|
-
With background learning enabled, setup makes a bounded first pass through recent sessions. Open a new coding-agent session to use the installed guidance. Run `shadowclone doctor` to check the installation and `shadowclone context --explain` from your repository to see which guidance applies.
|
|
23
|
-
|
|
24
|
-
## Agent builds
|
|
25
|
-
|
|
26
|
-
Choose and equip skills like putting together a character’s kit in an RPG. Open the browser wizard:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
shadowclone wizard
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-

|
|
33
|
-
|
|
34
|
-
Select a skill to read its instructions and decide whether to equip it. Keep a personal build across agents, tailor a private build to a repository, or choose shared repository standards. **Review your build** shows the files that will change before you apply it. You can return and adjust your build at any time.
|
|
9
|
+
### Let your agent set it up
|
|
35
10
|
|
|
36
|
-
|
|
11
|
+
In Claude Code, add and install the plugin:
|
|
37
12
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## Learn from your work
|
|
43
|
-
|
|
44
|
-
Run a model-assisted learning pass over your enabled session history:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
shadowclone learn --deep
|
|
13
|
+
```text
|
|
14
|
+
/plugin marketplace add theonly1me/shadowclone
|
|
15
|
+
/plugin install shadowclone@shadowclone
|
|
48
16
|
```
|
|
49
17
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Add **`--apply`** to accept proposed learning without the confirmation prompt. Use **`--dry-run`** to preview without applying it; this still calls the model. Deep learning requires your consent and an authenticated agent CLI. Plain `shadowclone learn` indexes and reports locally after setup. A first-time interactive run offers initialization, which can include an authorized first learning pass.
|
|
53
|
-
|
|
54
|
-
**Keep learning as you work.** Background learning has its own consent. When enabled, sessions containing reusable guidance can improve future sessions. A temporary exception or an interruption alone does not become a standing preference. Use `shadowclone learning status` to inspect it and `shadowclone learning enable` or `disable` to control it.
|
|
55
|
-
|
|
56
|
-
**Record a preference directly** with `shadowclone remember --repo "Use complete variable names."`. Use `--global` for guidance intended for every repository. Recording a preference and publishing it into skills are separate steps; `shadowclone skills pending` and `shadowclone context --explain` show what is active.
|
|
57
|
-
|
|
58
|
-
## Maintain your skills
|
|
59
|
-
|
|
60
|
-
Skills are ordinary files you can inspect and edit. Shadowclone reviews the consented library, updates a relevant workflow, or creates a skill when one is missing. Supporting files, unrelated instructions, and invocation settings are preserved.
|
|
18
|
+
In Codex, add the marketplace and install **Shadowclone** from the Plugins Directory:
|
|
61
19
|
|
|
62
20
|
```bash
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
shadowclone skills pending
|
|
21
|
+
codex plugin marketplace add theonly1me/shadowclone
|
|
22
|
+
codex plugin add shadowclone@shadowclone
|
|
66
23
|
```
|
|
67
24
|
|
|
68
|
-
|
|
25
|
+
Then tell the agent: **Set up Shadowclone.** The packaged setup skill checks the CLI version, offers installation or an upgrade when needed, asks you for three separate consent choices, installs native guidance for detected agents, and prints the local build URL. This setup flow requires CLI 0.0.13 or newer. It never uses elevated privileges or chooses data access for you.
|
|
69
26
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Every publication has a revision covering its skills, resources, native instructions, and learning decisions. Inspect or undo it with `shadowclone history`, `shadowclone history <revision>`, and `shadowclone undo <revision>`. Undo refuses to overwrite later edits. Existing profile-based installations first need [skills migration](docs/migration.md).
|
|
73
|
-
|
|
74
|
-
| Command | What it does |
|
|
75
|
-
| --- | --- |
|
|
76
|
-
| `shadowclone skills` | List bundled preferences and starter skills |
|
|
77
|
-
| `shadowclone skills configure --global` / `--repo` | Configure personal or repository skill roots |
|
|
78
|
-
| `shadowclone skills automatic on` / `off` | Allow or stop automatic edits without deleting published files |
|
|
79
|
-
| `shadowclone skills disable` | Stop library access |
|
|
80
|
-
| `shadowclone skills retry <learning-key>` | Queue a record again after resolving its conflict |
|
|
81
|
-
| `shadowclone skills exclude <learning-key> "This was a temporary exception."` | Record why guidance should stay unpublished |
|
|
27
|
+
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.
|
|
82
28
|
|
|
83
|
-
|
|
29
|
+
### Set it up manually
|
|
84
30
|
|
|
85
|
-
|
|
31
|
+
Install the CLI:
|
|
86
32
|
|
|
87
33
|
```bash
|
|
88
|
-
|
|
34
|
+
npm install -g @shadowclone/cli
|
|
89
35
|
```
|
|
90
36
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
| `
|
|
96
|
-
| `CLAUDE.md` | Import of the shared instructions |
|
|
97
|
-
| `.agents/skills/` and `.claude/skills/` | Repository workflows and selected personal skills |
|
|
98
|
-
| `.shadowclone/harness.json` | Configured checks, conventions, and file fingerprints |
|
|
37
|
+
| Step | Command | What happens | Time |
|
|
38
|
+
| --- | --- | --- | ---: |
|
|
39
|
+
| 1 | `shadowclone init` | Answer three questions about learning and skill maintenance | About 1 minute |
|
|
40
|
+
| 2 | `shadowclone learn --deep` | Learn from enabled past sessions; repeat if more history remains | Up to 5 minutes per run |
|
|
41
|
+
| 3 | `shadowclone learning pending` and `shadowclone skills pending` | Review learned rules, scope, and publication before relying on them | About 1 minute |
|
|
99
42
|
|
|
100
|
-
|
|
43
|
+
Setup takes about two to three minutes, excluding learning. Deep learning needs an installed and authenticated `claude`, `codex`, or `cursor-agent` CLI. Claude Code learning on Linux needs `bwrap` and `socat` for its sandbox.
|
|
101
44
|
|
|
102
|
-
|
|
45
|
+
**Skip learning.** Run `shadowclone wizard` by itself if you do not want Shadowclone to read sessions or call a model. It starts from an empty active environment and lets you choose a build locally.
|
|
103
46
|
|
|
104
|
-
|
|
47
|
+
Run `shadowclone` to see the current result and next action. Use `shadowclone wizard` to browse optional workflow skills in a browser.
|
|
105
48
|
|
|
106
|
-
|
|
107
|
-
enabled sessions and memory -> redacted learning -> local evidence records
|
|
108
|
-
-> maintain or create skills
|
|
109
|
-
skills + small native instructions -> coding agents -> new feedback
|
|
110
|
-
```
|
|
49
|
+
## Evaluations
|
|
111
50
|
|
|
112
|
-
|
|
113
|
-
2. **Decide what is durable.** Explicit reusable guidance can qualify from one session. Inferred patterns need three independent sessions. Existing instructions, manual edits, rejected proposals, and scope constrain what can change.
|
|
114
|
-
3. **Improve the right workflow.** Learning updates a matching skill or creates a missing one. Supported edits follow your write permissions; conflicts and uncertain changes stay pending. Evidence survives even when publication cannot finish.
|
|
115
|
-
4. **Use it in the next session.** A small baseline skill carries shared preferences. Task skills hold detailed procedures, and native agent instructions explain which skills to read. Hooks, MCP, optional subagents, and delegated runs use the same delivery path.
|
|
51
|
+
The preference study compared agent alone, existing user skills, those skills plus Shadowclone setup, and setup plus deep learning on GPT-6 Sol, GPT-6 Luna, Sonnet 5.5, and Opus 5.5. After corrected scoring, deep learning over existing skills was +10.0, -2.5, +9.7, and +7.3 percentage points respectively, with every 95% interval including zero. It recovered a concrete review-reply preference across all four models. The study covers one participant and one synthetic repository. [Read all four setups, corrected results, and limitations](evals.md).
|
|
116
52
|
|
|
117
|
-
|
|
53
|
+
| Preferences followed | Sol | Luna | Sonnet | Opus |
|
|
54
|
+
| --- | ---: | ---: | ---: | ---: |
|
|
55
|
+
| Agent alone | 72% | 73% | 59% | 59% |
|
|
56
|
+
| Existing user skills | 87% | 91% | 70% | 79% |
|
|
57
|
+
| Existing skills plus Shadowclone setup | 84% | 83% | 72% | 72% |
|
|
58
|
+
| Setup plus deep learning | 97% | 88% | 80% | 86% |
|
|
118
59
|
|
|
119
60
|
## Privacy comes first
|
|
120
61
|
|
|
121
|
-
**There is no Shadowclone collection service or telemetry.** Learning records, revisions, and original-library snapshots stay on your machine. Model work goes through
|
|
62
|
+
**There is no Shadowclone collection service or telemetry.** Learning records, revisions, and original-library snapshots stay on your machine. Model work goes through the authenticated agent CLI you select and is subject to that provider's terms.
|
|
122
63
|
|
|
123
|
-
**You choose what it reads.**
|
|
124
|
-
|
|
125
|
-
| Source | What access can include |
|
|
126
|
-
| --- | --- |
|
|
127
|
-
| Agent sessions | Claude Code sessions and prompt history, Codex sessions, Cursor chats, and Antigravity logs and workspace attribution |
|
|
128
|
-
| Memory | Read-only Claude memory for registered repositories; selected native memory can also be frozen for evaluation |
|
|
129
|
-
| Instructions and skills | Native agent instructions, repository rules, and consented personal, repository, custom, or third-party skills |
|
|
130
|
-
| Shell history | Separately enabled `.zsh_history` and `.bash_history` |
|
|
131
|
-
| Git metadata | Remote names used to keep guidance scoped to its repository and owner |
|
|
132
|
-
| Repository setup | Known manifests, scripts, dependency names, Makefile targets, workflow files, and top-level entry names |
|
|
133
|
-
|
|
134
|
-
The [source inventory](docs/data-handling.md#sources) lists exact paths and settings. Tool-result payloads, tool-returned file contents, thinking blocks, and data-access results are excluded from learning. Enabled transcript parsers can still encounter their bytes while reading the source file.
|
|
135
|
-
|
|
136
|
-
**What leaves your machine:**
|
|
64
|
+
**You choose what it reads.** Every capture source is off by default and has its own consent setting. Reading sessions does not silently enable memory, repository metadata, or skill editing.
|
|
137
65
|
|
|
138
66
|
| Operation | What the selected provider can receive |
|
|
139
67
|
| --- | --- |
|
|
140
68
|
| Learning and skill maintenance | Selected redacted instructions, steering, and supporting context |
|
|
141
|
-
| Browser editor | Nothing merely from opening it; optional AI drafting sends reviewed form fields
|
|
69
|
+
| Browser editor | Nothing merely from opening it; optional AI drafting sends reviewed form fields |
|
|
142
70
|
| Delegated `run` | The authorized task worktree and guidance |
|
|
143
|
-
| Evaluation |
|
|
144
|
-
|
|
145
|
-
Redaction catches known secret, host, path, and entropy patterns. It can miss sensitive prose or unusual secrets. Use sources and repositories you are authorized to send to the chosen provider. Native memory stays read-only, third-party packages stay unchanged, and automatic skill edits need separate permission.
|
|
146
|
-
|
|
147
|
-
### Controls for teams and enterprises
|
|
148
|
-
|
|
149
|
-
Project guidance stays with its registered repository and verified identity. Organization scope follows the remote owner; global guidance requires an explicit global instruction or decision. Unknown origins stay isolated. A remote-owner identity is a technical boundary and does not prove a legal employer boundary.
|
|
150
|
-
|
|
151
|
-
Administrators can install a root-owned managed policy to restrict sources, providers, repository origins, hosted learning, and action tiers, or disable Shadowclone. User settings cannot widen those limits. `shadowclone doctor` reports the effective policy. Policies live at `/Library/Application Support/shadowclone/managed.json` on macOS or `/etc/shadowclone/managed.json` on Linux. See the [policy example](docs/architecture/07-enterprise.md#managed-policy).
|
|
152
|
-
|
|
153
|
-
The browser editor binds only to loopback, serves local assets, checks request origins, and authenticates its API with an ephemeral token. Learning requests have no tools and use shared call, time, and supported spending limits. Delegated work uses an isolated worktree; local verification has no network or provider credentials. Required isolation must be available before the affected workflow runs.
|
|
71
|
+
| Evaluation | Synthetic prompts, the tested setup's guidance, and generated code |
|
|
154
72
|
|
|
155
|
-
|
|
73
|
+
**Redaction is a boundary, not an anonymity guarantee.** Tool results, tool-returned file contents, thinking blocks, and data-access results are excluded from learning. Use only sources and repositories you are authorized to send to the selected provider.
|
|
156
74
|
|
|
157
|
-
**
|
|
75
|
+
**Removal stays in your control.** Disable background learning with `shadowclone learning disable`, stop automatic skill edits with `shadowclone skills automatic off`, or remove recorded state with `shadowclone forget --all`. See the [privacy policy](PRIVACY.md), [data handling](docs/data-handling.md), and [enterprise controls](docs/architecture/07-enterprise.md) for sources, storage, managed policy, and removal details.
|
|
158
76
|
|
|
159
|
-
|
|
77
|
+
## Guides
|
|
160
78
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
We measure whether guidance changes an agent’s behavior on the same tasks, keeping preference adherence, correctness, and safety separate. The results below come from the earlier profile-based system. Current skills evaluations compare **Bare**, **original Skills**, **original Skills + Memory**, and **maintained Skills + native routing**, preserving the original library as a baseline.
|
|
164
|
-
|
|
165
|
-
**Early preference comparison.** GPT-5.6 Sol at medium reasoning effort completed four TypeScript tasks, once per setup. Each implementation was judged against the same 17 preference checks, with three model votes per check. Bare received repository guidance; Skills added existing personal skills and context; Clone added the Shadowclone profile.
|
|
166
|
-
|
|
167
|
-
| Task | Bare | Skills | Clone |
|
|
168
|
-
| --- | ---: | ---: | ---: |
|
|
169
|
-
| Byte quantities | 11/17 | 14/17 | 15/17 |
|
|
170
|
-
| Integer ranges | 15/17 | 14/17 | 16/17 |
|
|
171
|
-
| Ordered query parameters | 15/17 | 16/17 | 16/17 |
|
|
172
|
-
| Bounded undo/redo | 14/17 | 15/17 | 15/17 |
|
|
173
|
-
| Total | 55/68 (80.9%) | 59/68 (86.8%) | 62/68 (91.2%) |
|
|
174
|
-
|
|
175
|
-
Clone exceeded Skills on two tasks and tied on two, an aggregate difference of 4.4 percentage points. These are guideline checks, not correctness or productivity scores. Candidate tests were not executed. The sample was small, the personal skills were not optimized for the comparison, and judges made documented mistakes around assertions and test setup. The recorded scores have not been silently corrected.
|
|
176
|
-
|
|
177
|
-
Later guidance-and-memory comparisons were mixed. After one explicitly directed reference correction, Shadowclone scored 9/10 on preferences and 8/8 on shared-memory checks; native memory scored 10/10 and 6/8. Shadowclone still used a prohibited cast and changed files outside the task. The conditions had different reference content, and runtime correctness remained unverified. These results do not establish autonomous repair or general superiority. [Later comparison details](docs/design/021-guidance-evaluation.md#recorded-comparisons).
|
|
178
|
-
|
|
179
|
-
**Repository setup pilot.** Claude Code ran the same task with and without repository setup on two synthetic projects. Both arms passed held-out acceptance checks and the project gate, and neither committed. On the Python project, the baseline skipped a test while the configured agent added one. This was one run per arm per project, so it demonstrates a working practice in that sample, not a general improvement.
|
|
180
|
-
|
|
181
|
-
Read [the full methods, task specifications, scores, and known judging issues](evals.md). The [evaluation guide](docs/architecture/09-evaluation.md) explains running your own comparison, isolation, explicit spending limits, and recovery. Successful migration or skill publication alone is not evidence of improved behavior.
|
|
182
|
-
|
|
183
|
-
## Built with agents
|
|
184
|
-
|
|
185
|
-
I built Shadowclone without writing code by hand. Agents wrote the implementation; I set the requirements, engineering preferences, and guardrails. To me, that is still engineering. This repository has more than 800 source and test files. Ask your agent to review its architecture, code quality, and tests, then judge the result for yourself. [Why I built it and what it solves](docs/motivation.md).
|
|
186
|
-
|
|
187
|
-
<details><summary>More commands</summary>
|
|
188
|
-
|
|
189
|
-
| Command | Purpose |
|
|
79
|
+
| Guide | Use it to |
|
|
190
80
|
| --- | --- |
|
|
191
|
-
|
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
| `shadowclone mcp` | Serve context and maintenance tools to a connected agent |
|
|
198
|
-
|
|
199
|
-
Supported agent identifiers are `claude-code`, `codex`, `cursor`, and `antigravity`. Optional local Claude subagents use `--subagent`; automatic delegation is a separate `--auto-delegate` choice. Run `shadowclone --help` for the command reference.
|
|
200
|
-
|
|
201
|
-
</details>
|
|
81
|
+
| [Agent builds](docs/guides/agent-builds.md) | Choose, create, and equip skills |
|
|
82
|
+
| [Learning](docs/guides/learning.md) | Run deep learning, background learning, or record a preference |
|
|
83
|
+
| [Skill maintenance](docs/guides/skills.md) | Review updates, conflicts, history, and undo |
|
|
84
|
+
| [Repository setup](docs/guides/repositories.md) | Share checks and skills with a repository |
|
|
85
|
+
| [How it works](docs/guides/how-it-works.md) | Follow guidance from consented evidence to coding agents |
|
|
86
|
+
| [Command reference](docs/guides/commands.md) | Find everyday and advanced commands |
|
|
202
87
|
|
|
203
88
|
**Further reading:** [Documentation index](docs/README.md) · [Architecture](docs/architecture/README.md) · [Design history](docs/design/README.md) · [Migration](docs/migration.md) · [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md)
|
|
204
89
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
<link rel="stylesheet" crossorigin href="../../../web/index-
|
|
25
|
+
<link rel="stylesheet" crossorigin href="../../../web/index-dzztba9n.css"><script type="module" crossorigin src="../../../web/index-pty3xg03.js"></script></head>
|
|
26
26
|
<body>
|
|
27
27
|
<div class="frame">
|
|
28
28
|
<header class="masthead">
|
|
@@ -76,26 +76,36 @@
|
|
|
76
76
|
<section
|
|
77
77
|
id="constellation"
|
|
78
78
|
class="constellation"
|
|
79
|
-
aria-label="Skill
|
|
79
|
+
aria-label="Skill constellation"
|
|
80
80
|
>
|
|
81
|
+
<div id="constellation-status" class="constellation-status" role="status">
|
|
82
|
+
<p id="constellation-status-text">Loading your skills…</p>
|
|
83
|
+
<button id="retry-build" class="quiet-button" hidden>Retry loading skills</button>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="constellation-controls" aria-label="Constellation controls">
|
|
86
|
+
<button id="fit-constellation" class="quiet-button">Fit</button>
|
|
87
|
+
<button id="reset-constellation" class="quiet-button">Reset</button>
|
|
88
|
+
<button
|
|
89
|
+
id="toggle-constellation-view"
|
|
90
|
+
class="quiet-button"
|
|
91
|
+
aria-controls="constellation-map constellation-list"
|
|
92
|
+
aria-pressed="false"
|
|
93
|
+
>
|
|
94
|
+
Map / list
|
|
95
|
+
</button>
|
|
96
|
+
</div>
|
|
81
97
|
<svg
|
|
82
98
|
id="starfield"
|
|
83
99
|
class="starfield"
|
|
84
|
-
viewBox="0 0 600 900"
|
|
85
|
-
preserveAspectRatio="none"
|
|
86
100
|
aria-hidden="true"
|
|
87
101
|
></svg>
|
|
88
102
|
<svg
|
|
89
|
-
id="
|
|
90
|
-
class="
|
|
91
|
-
aria-
|
|
103
|
+
id="constellation-map"
|
|
104
|
+
class="constellation-map"
|
|
105
|
+
aria-label="Skills grouped into navigable hubs"
|
|
92
106
|
></svg>
|
|
93
|
-
<div id="
|
|
94
|
-
<
|
|
95
|
-
<span id="tree-origin"
|
|
96
|
-
><img src="../../../web/shadowclone-mark-w6a76wqy.svg" alt="" /></span>
|
|
97
|
-
</div>
|
|
98
|
-
<p class="tree-hint">Select a star to inspect its skill.</p>
|
|
107
|
+
<div id="constellation-list" class="constellation-list"></div>
|
|
108
|
+
<p class="tree-hint">Select a category to expand it or a skill to inspect it. Drag to pan and scroll to zoom.</p>
|
|
99
109
|
</section>
|
|
100
110
|
|
|
101
111
|
<aside class="build-panel" aria-label="Your character build">
|