@lesscap/baton-cli 0.8.3 → 0.9.4

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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 bencode
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -4,7 +4,7 @@ The baton CLI: register/run a **worker** on a machine and manage
4
4
  workspaces/projects/requirements/tasks/sessions against a baton server.
5
5
 
6
6
  A worker is the thing that actually runs agent sessions: it listens to the
7
- server's command stream and, per session, spawns `claude` in a git worktree.
7
+ server's command stream and, per session, runs Claude or Codex in the worker’s working directory.
8
8
 
9
9
  ## Install
10
10
 
@@ -19,17 +19,16 @@ in (the worker spawns it to run each turn). Override the path with
19
19
  ## Run a worker
20
20
 
21
21
  ```sh
22
- # 1. cd into the git repo the agent should work in
23
- # (each session gets its own worktree branched off it)
22
+ # 1. cd into the directory the agent should work in
23
+ # (sessions share files; Agent conversations remain independent)
24
24
  cd /path/to/your-repo
25
25
 
26
26
  # 2. register this machine as a worker for a project
27
27
  baton worker register \
28
28
  --url https://baton.fmap.dev/api \
29
29
  --project <projectId> \
30
- --name my-machine \
31
- --baseBranch main
32
- # → generates ./.baton.json with server, project, base branch, and worker token
30
+ --name my-machine
31
+ # → generates ./.baton.json with server, project, and worker token
33
32
 
34
33
  # 3. run the worker daemon (foreground; Ctrl-C to stop)
35
34
  baton worker run
@@ -40,17 +39,33 @@ running, it shows up (alive) under the project's workers in the web back-office;
40
39
  new sessions / inbound DingTalk messages are then executed by it.
41
40
 
42
41
  `.baton.json` is per-directory local state (gitignored by convention) and is
43
- generated by `baton worker register`; `baton init` is optional. `--baseBranch`
44
- wins over `BATON_BASE_BRANCH`, then an existing saved value. If none is set,
45
- registration records the repo's current branch, falling back to `main`.
46
-
47
- Before creating each new session worktree, the worker fetches that branch and
48
- forks from the updated `origin/<branch>` ref without moving the source checkout.
49
- Repositories without an `origin` use their local branch. Environments that keep
50
- Git credentials in a separate broker can set `BATON_GIT_SYNC_BIN` to a trusted
51
- executable; Baton invokes it as `<executable> <repo> <branch>`, then verifies the
52
- updated remote-tracking ref before creating the worktree. The helper must print
53
- the synced commit hash to stdout.
42
+ generated by `baton worker register`; `baton init` is optional. Session startup
43
+ never rewrites this project configuration, fetches Git branches, or creates a
44
+ worktree. Existing directories, including non-Git and empty Git repositories,
45
+ can host sessions. Development skills may manage worktrees explicitly.
46
+
47
+ Agent subprocesses inherit `BATON_SERVER`, `BATON_PROJECT_ID`, `BATON_WORKER_ID`,
48
+ and `BATON_WORKER_TOKEN`, so Baton commands keep their context from subdirectories.
49
+ Server resolution is `--url > BATON_SERVER > .baton.json.server > BATON_URL > localhost`;
50
+ project resolution is `--project > BATON_PROJECT_ID > .baton.json.project`.
51
+
52
+ Baton runner records and attachments live under
53
+ `${XDG_DATA_HOME:-~/.local/share}/baton/runtime/<server-hash>/worker-<id>/sessions/<id>`.
54
+ Deleting a session removes its Baton runtime files and preserves project files.
55
+
56
+ ## Development services
57
+
58
+ ```sh
59
+ baton service run web --cwd /absolute/project/path -- pnpm dev
60
+ baton service ls
61
+ baton service stop web
62
+ ```
63
+
64
+ `--cwd` is required; relative paths resolve from the CLI's current directory.
65
+ Services belong to the worker and continue after a session stops or is deleted.
66
+ They stop when explicitly stopped, when the application exits, or when the worker
67
+ exits. Restarting the worker does not restart services. Logs live in the worker's
68
+ runtime `services/` directory; the run result prints their path.
54
69
 
55
70
  ## Other commands
56
71