@atolis-hq/wake 0.2.6 → 0.2.8

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 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/`, and `workspaces/` at the top level for
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
  ]);
@@ -1 +1 @@
1
- export const wakeVersion = "0.2.6+g29d62c6";
1
+ export const wakeVersion = "0.2.8+g5bab86e";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atolis-hq/wake",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
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
  ],
package/prompts/refine.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  stage: refine
3
3
  permissionMode: default
4
- allowedTools: Read, Glob, Grep, Bash(git fetch), Bash(git status), WebSearch, WebFetch
4
+ allowedTools: Read, Glob, Grep, Bash(git fetch), Bash(git status), Bash(git diff *), Bash(git log *), Bash(gh *), WebSearch, WebFetch
5
5
  extraArgs:
6
6
  maxTurns: 40
7
7
  skipApproval: false
@@ -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