@atolis-hq/wake 0.1.0 → 0.1.3
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/LICENSE +201 -201
- package/README.md +140 -140
- package/dist/src/adapters/http/ui-assets.js +300 -300
- package/dist/src/version.js +1 -1
- package/docker/Dockerfile +54 -54
- package/docker/setup.sh +0 -0
- package/package.json +56 -52
- package/prompts/implement.md +49 -49
- package/prompts/refine.md +44 -44
- package/dist/src/adapters/claude/prompt-templates.js +0 -57
- package/dist/src/cli/locks-command.js +0 -19
package/README.md
CHANGED
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
# Wake
|
|
2
|
-
|
|
3
|
-
Wake is a local autonomous agent control plane for software development. It
|
|
4
|
-
watches the work channels your team already uses, such as GitHub Issues,
|
|
5
|
-
decides each item's next lifecycle step with deterministic rules, and launches
|
|
6
|
-
local coding-agent CLIs only when agentic execution is actually needed.
|
|
7
|
-
|
|
8
|
-
Wake is the control plane and decision-maker. It launches and manages local
|
|
9
|
-
agent sessions for each unit of agentic work.
|
|
10
|
-
|
|
11
|
-
## The Problem
|
|
12
|
-
|
|
13
|
-
Modern coding agents are powerful, but sustained development work still needs a
|
|
14
|
-
lot of manual orchestration. Agents are usually started by hand, tied to one CLI
|
|
15
|
-
surface, and optimized for interactive sessions instead of managed execution
|
|
16
|
-
over time.
|
|
17
|
-
|
|
18
|
-
That leaves hard operational gaps: deciding what should happen next, choosing
|
|
19
|
-
the right tool and model for each step, preserving state across interruptions,
|
|
20
|
-
running deterministic housekeeping outside the LLM path, and letting a human
|
|
21
|
-
resume the exact local session when direct intervention is fastest.
|
|
22
|
-
|
|
23
|
-
Wake exists to close that gap. It wraps existing agent CLIs in a local control
|
|
24
|
-
plane that can apply scripted routing rules, move work through explicit
|
|
25
|
-
lifecycle steps, resume or hand off sessions, and keep deterministic processes
|
|
26
|
-
out of the token-burning path wherever possible.
|
|
27
|
-
|
|
28
|
-
## Vision
|
|
29
|
-
|
|
30
|
-
Wake should make reliable, resumable, token-aware local agent execution
|
|
31
|
-
practical. The default operating model is asynchronous and channel-driven: work
|
|
32
|
-
enters and progresses through durable external systems, while execution happens
|
|
33
|
-
locally in an inspectable workspace or sandbox.
|
|
34
|
-
|
|
35
|
-
Wake is not trying to replace coding agents, issue trackers, or source control.
|
|
36
|
-
It coordinates across them. Over time it should become the layer that picks
|
|
37
|
-
work, decides the next step, invokes the right local tool or deterministic
|
|
38
|
-
process, persists state, and resumes later without losing context.
|
|
39
|
-
|
|
40
|
-
For more detail, see [docs/vision.md](docs/vision.md) and
|
|
41
|
-
[docs/architecture.md](docs/architecture.md).
|
|
42
|
-
|
|
43
|
-
## Feature Overview
|
|
44
|
-
|
|
45
|
-
- **Wake decides, the agent runs.** Choosing the CLI, model, and lifecycle
|
|
46
|
-
transition is a control-plane decision; agents do the work and report an
|
|
47
|
-
outcome.
|
|
48
|
-
- **Issue-driven by default.** Wake currently integrates with GitHub Issues and
|
|
49
|
-
reports questions, approvals, progress, and results back through the ticket.
|
|
50
|
-
- **Explicit lifecycle stages.** Work can move through configurable stages such
|
|
51
|
-
as refinement and implementation instead of disappearing into one opaque
|
|
52
|
-
session.
|
|
53
|
-
- **Event-sourced and restart-safe.** The durable record is an append-only event
|
|
54
|
-
log; projections can be rebuilt, and the loop can crash and resume without
|
|
55
|
-
losing its place.
|
|
56
|
-
- **Local and inspectable.** Config, events, state, runs, workspaces, and prompts
|
|
57
|
-
live in a plain-file Wake home directory.
|
|
58
|
-
- **Sandbox-oriented execution.** Wake can run from a persistent Docker sandbox
|
|
59
|
-
with durable auth state and mounted Wake home data.
|
|
60
|
-
- **Runner agnostic.** Claude Code, Codex, Cursor, and fake runners sit behind
|
|
61
|
-
runner adapters so Wake owns policy and routing rather than depending on one
|
|
62
|
-
provider.
|
|
63
|
-
- **Human resumption.** A human can pick up the exact local agent session when a
|
|
64
|
-
direct terminal intervention is the best way forward.
|
|
65
|
-
- **Operator correlation escape hatch.** `wake correlate <workItemKey>
|
|
66
|
-
<resourceUri>` lets an operator hand-declare that a resource (a PR, a Slack
|
|
67
|
-
thread, etc.) belongs to an existing work item when nothing detected the
|
|
68
|
-
link automatically. See [docs/configuration.md](docs/configuration.md).
|
|
69
|
-
|
|
70
|
-
Current runner capability differences are documented in
|
|
71
|
-
[docs/runner-comparison.md](docs/runner-comparison.md).
|
|
72
|
-
|
|
73
|
-
## Getting Started
|
|
74
|
-
|
|
75
|
-
Wake is distributed as the `@atolis-hq/wake` npm package. You can run the CLI
|
|
76
|
-
with `npx` or install it globally:
|
|
77
|
-
|
|
78
|
-
```sh
|
|
79
|
-
npx @atolis-hq/wake init ./wake-home
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
```sh
|
|
83
|
-
npm install -g @atolis-hq/wake
|
|
84
|
-
wake init ./wake-home
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
`wake init` creates a Wake home directory with `config.json`, prompt templates,
|
|
88
|
-
Docker sandbox assets, runtime directories, and shell launchers:
|
|
89
|
-
|
|
90
|
-
- `wake.sh` for bash, Git Bash, WSL, and similar shells.
|
|
91
|
-
- `wake.ps1` for PowerShell.
|
|
92
|
-
|
|
93
|
-
Use the generated launcher from the Wake home for day-to-day operation. The
|
|
94
|
-
launcher runs host setup commands locally and forwards runtime commands into the
|
|
95
|
-
sandbox with the correct Wake home mounted at `/wake`.
|
|
96
|
-
|
|
97
|
-
```sh
|
|
98
|
-
cd ./wake-home
|
|
99
|
-
./wake.sh sandbox build
|
|
100
|
-
./wake.sh sandbox up
|
|
101
|
-
./wake.sh sandbox setup
|
|
102
|
-
./wake.sh tick
|
|
103
|
-
./wake.sh start
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
The default sandbox image includes Node, Git, GitHub CLI, Claude Code, Codex,
|
|
107
|
-
Cursor, and the Wake runtime. Treat the generated `docker/Dockerfile` as a
|
|
108
|
-
starting point for your own environment: add the tools your repositories need,
|
|
109
|
-
then rebuild with `./wake.sh sandbox build`. Wake writes the package location to
|
|
110
|
-
`config.json` as `dev.repoRoot` so sandbox rebuilds use the same bundled assets;
|
|
111
|
-
editing your generated Dockerfile or prompts is expected and future package
|
|
112
|
-
upgrades should not overwrite that Wake home.
|
|
113
|
-
|
|
114
|
-
Common commands:
|
|
115
|
-
|
|
116
|
-
```sh
|
|
117
|
-
./wake.sh ui
|
|
118
|
-
./wake.sh tick
|
|
119
|
-
./wake.sh start
|
|
120
|
-
./wake.sh stop
|
|
121
|
-
./wake.sh sandbox resume <session-id> --cwd "/wake/workspaces/<workId>"
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
For a source checkout development workflow, use:
|
|
125
|
-
|
|
126
|
-
- [docs/development.md](docs/development.md)
|
|
127
|
-
|
|
128
|
-
Recommended local practices:
|
|
129
|
-
|
|
130
|
-
- Use a separate git identity for Wake-managed agent work so automated commits
|
|
131
|
-
and human commits are easy to distinguish.
|
|
132
|
-
- Prefer the prebuilt sandbox flow when running real agent work locally.
|
|
133
|
-
- Treat the default Dockerfile as a starting point. It includes common tooling
|
|
134
|
-
such as Node, but it is expected to be edited for the repositories and agents
|
|
135
|
-
you want Wake to operate on.
|
|
136
|
-
|
|
137
|
-
## Development
|
|
138
|
-
|
|
139
|
-
Local setup, commands, sandbox operation, auth setup, UI notes, and GitHub
|
|
140
|
-
polling details are documented in [docs/development.md](docs/development.md).
|
|
1
|
+
# Wake
|
|
2
|
+
|
|
3
|
+
Wake is a local autonomous agent control plane for software development. It
|
|
4
|
+
watches the work channels your team already uses, such as GitHub Issues,
|
|
5
|
+
decides each item's next lifecycle step with deterministic rules, and launches
|
|
6
|
+
local coding-agent CLIs only when agentic execution is actually needed.
|
|
7
|
+
|
|
8
|
+
Wake is the control plane and decision-maker. It launches and manages local
|
|
9
|
+
agent sessions for each unit of agentic work.
|
|
10
|
+
|
|
11
|
+
## The Problem
|
|
12
|
+
|
|
13
|
+
Modern coding agents are powerful, but sustained development work still needs a
|
|
14
|
+
lot of manual orchestration. Agents are usually started by hand, tied to one CLI
|
|
15
|
+
surface, and optimized for interactive sessions instead of managed execution
|
|
16
|
+
over time.
|
|
17
|
+
|
|
18
|
+
That leaves hard operational gaps: deciding what should happen next, choosing
|
|
19
|
+
the right tool and model for each step, preserving state across interruptions,
|
|
20
|
+
running deterministic housekeeping outside the LLM path, and letting a human
|
|
21
|
+
resume the exact local session when direct intervention is fastest.
|
|
22
|
+
|
|
23
|
+
Wake exists to close that gap. It wraps existing agent CLIs in a local control
|
|
24
|
+
plane that can apply scripted routing rules, move work through explicit
|
|
25
|
+
lifecycle steps, resume or hand off sessions, and keep deterministic processes
|
|
26
|
+
out of the token-burning path wherever possible.
|
|
27
|
+
|
|
28
|
+
## Vision
|
|
29
|
+
|
|
30
|
+
Wake should make reliable, resumable, token-aware local agent execution
|
|
31
|
+
practical. The default operating model is asynchronous and channel-driven: work
|
|
32
|
+
enters and progresses through durable external systems, while execution happens
|
|
33
|
+
locally in an inspectable workspace or sandbox.
|
|
34
|
+
|
|
35
|
+
Wake is not trying to replace coding agents, issue trackers, or source control.
|
|
36
|
+
It coordinates across them. Over time it should become the layer that picks
|
|
37
|
+
work, decides the next step, invokes the right local tool or deterministic
|
|
38
|
+
process, persists state, and resumes later without losing context.
|
|
39
|
+
|
|
40
|
+
For more detail, see [docs/vision.md](docs/vision.md) and
|
|
41
|
+
[docs/architecture.md](docs/architecture.md).
|
|
42
|
+
|
|
43
|
+
## Feature Overview
|
|
44
|
+
|
|
45
|
+
- **Wake decides, the agent runs.** Choosing the CLI, model, and lifecycle
|
|
46
|
+
transition is a control-plane decision; agents do the work and report an
|
|
47
|
+
outcome.
|
|
48
|
+
- **Issue-driven by default.** Wake currently integrates with GitHub Issues and
|
|
49
|
+
reports questions, approvals, progress, and results back through the ticket.
|
|
50
|
+
- **Explicit lifecycle stages.** Work can move through configurable stages such
|
|
51
|
+
as refinement and implementation instead of disappearing into one opaque
|
|
52
|
+
session.
|
|
53
|
+
- **Event-sourced and restart-safe.** The durable record is an append-only event
|
|
54
|
+
log; projections can be rebuilt, and the loop can crash and resume without
|
|
55
|
+
losing its place.
|
|
56
|
+
- **Local and inspectable.** Config, events, state, runs, workspaces, and prompts
|
|
57
|
+
live in a plain-file Wake home directory.
|
|
58
|
+
- **Sandbox-oriented execution.** Wake can run from a persistent Docker sandbox
|
|
59
|
+
with durable auth state and mounted Wake home data.
|
|
60
|
+
- **Runner agnostic.** Claude Code, Codex, Cursor, and fake runners sit behind
|
|
61
|
+
runner adapters so Wake owns policy and routing rather than depending on one
|
|
62
|
+
provider.
|
|
63
|
+
- **Human resumption.** A human can pick up the exact local agent session when a
|
|
64
|
+
direct terminal intervention is the best way forward.
|
|
65
|
+
- **Operator correlation escape hatch.** `wake correlate <workItemKey>
|
|
66
|
+
<resourceUri>` lets an operator hand-declare that a resource (a PR, a Slack
|
|
67
|
+
thread, etc.) belongs to an existing work item when nothing detected the
|
|
68
|
+
link automatically. See [docs/configuration.md](docs/configuration.md).
|
|
69
|
+
|
|
70
|
+
Current runner capability differences are documented in
|
|
71
|
+
[docs/runner-comparison.md](docs/runner-comparison.md).
|
|
72
|
+
|
|
73
|
+
## Getting Started
|
|
74
|
+
|
|
75
|
+
Wake is distributed as the `@atolis-hq/wake` npm package. You can run the CLI
|
|
76
|
+
with `npx` or install it globally:
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
npx @atolis-hq/wake init ./wake-home
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
npm install -g @atolis-hq/wake
|
|
84
|
+
wake init ./wake-home
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
`wake init` creates a Wake home directory with `config.json`, prompt templates,
|
|
88
|
+
Docker sandbox assets, runtime directories, and shell launchers:
|
|
89
|
+
|
|
90
|
+
- `wake.sh` for bash, Git Bash, WSL, and similar shells.
|
|
91
|
+
- `wake.ps1` for PowerShell.
|
|
92
|
+
|
|
93
|
+
Use the generated launcher from the Wake home for day-to-day operation. The
|
|
94
|
+
launcher runs host setup commands locally and forwards runtime commands into the
|
|
95
|
+
sandbox with the correct Wake home mounted at `/wake`.
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
cd ./wake-home
|
|
99
|
+
./wake.sh sandbox build
|
|
100
|
+
./wake.sh sandbox up
|
|
101
|
+
./wake.sh sandbox setup
|
|
102
|
+
./wake.sh tick
|
|
103
|
+
./wake.sh start
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The default sandbox image includes Node, Git, GitHub CLI, Claude Code, Codex,
|
|
107
|
+
Cursor, and the Wake runtime. Treat the generated `docker/Dockerfile` as a
|
|
108
|
+
starting point for your own environment: add the tools your repositories need,
|
|
109
|
+
then rebuild with `./wake.sh sandbox build`. Wake writes the package location to
|
|
110
|
+
`config.json` as `dev.repoRoot` so sandbox rebuilds use the same bundled assets;
|
|
111
|
+
editing your generated Dockerfile or prompts is expected and future package
|
|
112
|
+
upgrades should not overwrite that Wake home.
|
|
113
|
+
|
|
114
|
+
Common commands:
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
./wake.sh ui
|
|
118
|
+
./wake.sh tick
|
|
119
|
+
./wake.sh start
|
|
120
|
+
./wake.sh stop
|
|
121
|
+
./wake.sh sandbox resume <session-id> --cwd "/wake/workspaces/<workId>"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
For a source checkout development workflow, use:
|
|
125
|
+
|
|
126
|
+
- [docs/development.md](docs/development.md)
|
|
127
|
+
|
|
128
|
+
Recommended local practices:
|
|
129
|
+
|
|
130
|
+
- Use a separate git identity for Wake-managed agent work so automated commits
|
|
131
|
+
and human commits are easy to distinguish.
|
|
132
|
+
- Prefer the prebuilt sandbox flow when running real agent work locally.
|
|
133
|
+
- Treat the default Dockerfile as a starting point. It includes common tooling
|
|
134
|
+
such as Node, but it is expected to be edited for the repositories and agents
|
|
135
|
+
you want Wake to operate on.
|
|
136
|
+
|
|
137
|
+
## Development
|
|
138
|
+
|
|
139
|
+
Local setup, commands, sandbox operation, auth setup, UI notes, and GitHub
|
|
140
|
+
polling details are documented in [docs/development.md](docs/development.md).
|