@atolis-hq/wake 0.2.6 → 0.2.7
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/README.md +4 -1
- package/dist/src/cli/scaffold-assets.js +1 -0
- package/dist/src/version.js +1 -1
- package/package.json +2 -1
- package/templates/SETUP.md +115 -0
package/README.md
CHANGED
|
@@ -97,7 +97,8 @@ For more detail, see [docs/vision.md](docs/vision.md) and
|
|
|
97
97
|
log; projections can be rebuilt, and the loop can crash and resume without
|
|
98
98
|
losing its place.
|
|
99
99
|
- **Local and inspectable.** Everything lives in a plain-file Wake home
|
|
100
|
-
directory: `config.yaml`, `config.workflows.yaml`, `prompts/`,
|
|
100
|
+
directory: `config.yaml`, `config.workflows.yaml`, `prompts/`, `SETUP.md`, and
|
|
101
|
+
`workspaces/` at the top level for
|
|
101
102
|
what you edit or browse day-to-day, with durable/internal state (events,
|
|
102
103
|
projections, runs, logs, sandbox auth) nested under a hidden `.wake/`.
|
|
103
104
|
- **Sandbox-oriented execution.** Wake can run from a persistent Docker sandbox
|
|
@@ -150,6 +151,8 @@ npm install -g @atolis-hq/wake
|
|
|
150
151
|
cd ~/
|
|
151
152
|
wake init ./wake-home
|
|
152
153
|
cd ./wake-home
|
|
154
|
+
# point your agent CLI at the scaffolded SETUP.md to finish configuring
|
|
155
|
+
# (e.g. "read SETUP.md and help me configure this")
|
|
153
156
|
wake sandbox build
|
|
154
157
|
wake sandbox up
|
|
155
158
|
wake sandbox setup
|
|
@@ -93,6 +93,7 @@ export async function scaffoldWakeHome(input) {
|
|
|
93
93
|
const promptFileNames = await listPromptFileNames(repoRoot);
|
|
94
94
|
await Promise.all([
|
|
95
95
|
copyAssets(repoRoot, 'prompts', join(wakeRoot, 'prompts'), promptFileNames),
|
|
96
|
+
copyFile(join(repoRoot, 'templates', 'SETUP.md'), join(wakeRoot, 'SETUP.md')),
|
|
96
97
|
writeYamlFile(join(wakeRoot, 'config.yaml'), infra),
|
|
97
98
|
writeYamlFile(join(wakeRoot, 'config.workflows.yaml'), workflow),
|
|
98
99
|
]);
|
package/dist/src/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const wakeVersion = "0.2.
|
|
1
|
+
export const wakeVersion = "0.2.7+gd91da24";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atolis-hq/wake",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Local autonomous agent control plane for software development",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"dist/src",
|
|
18
18
|
"docker",
|
|
19
19
|
"prompts",
|
|
20
|
+
"templates",
|
|
20
21
|
"README.md",
|
|
21
22
|
"LICENSE"
|
|
22
23
|
],
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Wake Setup Guide (for the assisting agent)
|
|
2
|
+
|
|
3
|
+
You are reading this because a human just ran `wake init` and asked you to
|
|
4
|
+
help finish configuring this Wake home. This file is written as instructions
|
|
5
|
+
to you, the assisting agent — not as prose for a human to read top to bottom.
|
|
6
|
+
|
|
7
|
+
Read `config.yaml` and `config.workflows.yaml` in this directory now — both
|
|
8
|
+
already exist with working defaults from `wake init`. Everything below tells
|
|
9
|
+
you which fields in those two files to change. Edit them directly; don't
|
|
10
|
+
create a new `config.<label>.yaml` split unless the user asks for one.
|
|
11
|
+
|
|
12
|
+
Work through the three sections below in order, asking the user only what's
|
|
13
|
+
asked in each section. Each section links the relevant part of the hosted
|
|
14
|
+
`docs/configuration.md` for full field-by-field reference beyond what's
|
|
15
|
+
summarized here.
|
|
16
|
+
|
|
17
|
+
## 1. GitHub source
|
|
18
|
+
|
|
19
|
+
Ask the user:
|
|
20
|
+
|
|
21
|
+
- Which GitHub repo(s) should Wake monitor for issues? (`owner/repo` format)
|
|
22
|
+
- Should polling start immediately, or stay off until they're ready?
|
|
23
|
+
|
|
24
|
+
Edit in `config.yaml`:
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
sources:
|
|
28
|
+
github:
|
|
29
|
+
enabled: true # or leave false to configure now, enable later
|
|
30
|
+
repos: [owner/repo] # one or more, owner/repo format
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Tell the user: once enabled, Wake adds/removes a
|
|
34
|
+
`wake:status.pending|working|failed|completed` label on issues it works, and
|
|
35
|
+
preserves any other labels already on the issue.
|
|
36
|
+
|
|
37
|
+
Full reference:
|
|
38
|
+
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#sourcesgithub
|
|
39
|
+
|
|
40
|
+
## 2. Runner and tier
|
|
41
|
+
|
|
42
|
+
Ask the user which agent CLI(s) they have authenticated on this host:
|
|
43
|
+
Claude, Codex, and/or Cursor.
|
|
44
|
+
|
|
45
|
+
`config.workflows.yaml` already has example `runners` entries for
|
|
46
|
+
`claude-haiku`, `claude-opus`, `codex-mini`, `codex-flagship`, and
|
|
47
|
+
`cursor-composer`, but every tier (`light`/`standard`/`deep`, with
|
|
48
|
+
`defaultTier: standard`) still points at the placeholder `fake` runner — none
|
|
49
|
+
of them route to a real runner yet. Don't rewrite this from scratch — pick
|
|
50
|
+
which runner(s) the user actually has access to, and either:
|
|
51
|
+
|
|
52
|
+
- repoint `tiers` so each tier lists the real named runner(s) the user can
|
|
53
|
+
actually use instead of `fake`, or
|
|
54
|
+
- if the user has a runner not already listed (a different model, a
|
|
55
|
+
different CLI), add a new named entry under `runners` following the
|
|
56
|
+
existing pattern, then reference it from `tiers`.
|
|
57
|
+
- remove entries which are not needed.
|
|
58
|
+
|
|
59
|
+
Full reference:
|
|
60
|
+
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#runners
|
|
61
|
+
and
|
|
62
|
+
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#tiers
|
|
63
|
+
|
|
64
|
+
## 3. Credential mounts (check before asking)
|
|
65
|
+
|
|
66
|
+
Do not start by asking the user where their credentials are. First check the
|
|
67
|
+
host filesystem yourself for the files below, matching whichever runner(s)
|
|
68
|
+
were chosen in step 2:
|
|
69
|
+
|
|
70
|
+
- Claude: `~/.claude/.credentials.json` and `~/.claude/settings.json`
|
|
71
|
+
- Codex: `~/.codex/config.toml` and `~/.codex/auth.json`
|
|
72
|
+
- Cursor: `~/.config/cursor/auth.json`
|
|
73
|
+
|
|
74
|
+
For each file that exists, propose adding it to `sandbox.extraMounts` in
|
|
75
|
+
`config.yaml`, for example:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
sandbox:
|
|
79
|
+
extraMounts:
|
|
80
|
+
- source: /home/alice/.claude/.credentials.json
|
|
81
|
+
target: /home/wake/.claude/.credentials.json
|
|
82
|
+
readOnly: true
|
|
83
|
+
- source: /home/alice/.claude/settings.json
|
|
84
|
+
target: /home/wake/.claude/settings.json
|
|
85
|
+
readOnly: false
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`.credentials.json`/`auth.json` should be `readOnly: true` unless the user
|
|
89
|
+
wants the sandbox able to refresh tokens on the host's behalf. `settings.json`
|
|
90
|
+
must stay `readOnly: false` — Claude plugin commands write to it. Use the
|
|
91
|
+
actual host home directory path (resolve `~` yourself; don't write a literal
|
|
92
|
+
tilde into YAML).
|
|
93
|
+
|
|
94
|
+
Never mount the whole `~/.claude`, `~/.codex`, or `~/.cursor` directory —
|
|
95
|
+
only the specific files listed above. Mounting the whole directory leaks
|
|
96
|
+
OS-specific absolute paths (e.g. Windows plugin cache paths) into the Linux
|
|
97
|
+
sandbox and can cause the sandbox to overwrite the host's plugin bookkeeping.
|
|
98
|
+
|
|
99
|
+
Only if none of the expected files exist for the runner the user chose, ask
|
|
100
|
+
them directly where their credentials live (e.g. a custom `CODEX_HOME`).
|
|
101
|
+
|
|
102
|
+
Full reference:
|
|
103
|
+
https://github.com/atolis-hq/wake/blob/main/docs/configuration.md#sandbox
|
|
104
|
+
|
|
105
|
+
## After config looks right
|
|
106
|
+
|
|
107
|
+
Don't try to explain the sandbox lifecycle yourself — point the user at (or
|
|
108
|
+
fetch, if you have web access):
|
|
109
|
+
|
|
110
|
+
- https://github.com/atolis-hq/wake/blob/main/docs/getting-started.md —
|
|
111
|
+
`wake sandbox build` / `up` / `setup` / `exec` / `down`
|
|
112
|
+
- https://github.com/atolis-hq/wake/blob/main/docs/runner-comparison.md —
|
|
113
|
+
deeper comparison of runner tradeoffs if the user asks which to pick
|
|
114
|
+
- https://github.com/atolis-hq/wake/blob/main/docs/configuration.md — every
|
|
115
|
+
config field, if something here doesn't cover their situation
|