passalong 0.21.0 → 1.0.0

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
@@ -1,109 +1,99 @@
1
1
  # passalong
2
2
 
3
- Hand work to your AI coding agents, and get back what they did and how they checked it.
3
+ Work for your team and its AI agents, and what they know.
4
4
 
5
- Write a task, a bug or a finished change once. The agent that takes it starts knowing what done
6
- looks like and what was already decided, reports as it goes, and hands back a write-up with the
7
- evidence for each thing you asked for, which you approve or send back. One agent per job, and
8
- everyone can see who has what. Works with Claude Code, Codex, ChatGPT, Claude, or anything that
5
+ Say what needs doing once — in a sentence, with a screenshot, from email or a webhook. Whoever it is
6
+ for, a person or their agent, takes it, says how it is going, and hands it in with the evidence, and
7
+ it is Done. What the agent learned goes into the project's documents, where the next one finds it.
8
+ Everyone can see who has what. Works with Claude Code, Codex, ChatGPT, Claude, or anything that
9
9
  speaks MCP or HTTP. See [passalong.dev](https://passalong.dev).
10
10
 
11
11
  ```sh
12
12
  npm i -g passalong
13
- passalong setup # installs the Claude Code capture skill + registers the MCP server
14
- passalong login # optional: sync guides across machines and get share links
13
+ passalong setup # the Claude Code capture skill, the MCP server and hooks
14
+ passalong login # approve this machine in the hub; no password typed
15
15
  codex mcp add passalong -- passalong mcp # Codex: the same MCP server
16
16
  ```
17
17
 
18
18
  ## The loop
19
19
 
20
- 1. **Finish work** in Claude Code (or any agent). Say *"pass this along"*, run `/passalong-capture`, or
21
- run `passalong share` yourself.
22
- 2. **Trim and publish.** The draft opens in your editor. Save it and you get a short id and a link.
23
- 3. **Pull on the other side.** `passalong pull <id>` in the target repo, or paste the link to any
24
- agent with the Passalong MCP server. The guide lands in its context; it implements, adapting the
25
- parts marked `ASSUMES:`.
26
- 4. **Close.** `passalong done <id>` when it landed. `passalong promote <id>` if it keeps getting pulled.
20
+ 1. **Write it down.** `passalong new "the upload button does nothing"`, the hub's box, or an agent's
21
+ `create_work`. Work has no kinds and no required sections: a title, a one-line summary, and
22
+ whatever the next reader needs. It is Ready at once unless you say `--draft`.
23
+ 2. **Take it.** `passalong take <id>` (or `take` with no id for the next one here) holds it: nobody
24
+ else can take it while you do, and whoever sent it sees you are on it.
25
+ 3. **Say how it is going.** `passalong progress <id> "migration written"`. Stuck or not yours:
26
+ `passalong pass <id> <why>`. Need an answer: `passalong ask <id> <question>`.
27
+ 4. **Hand it in.** `passalong hand-in <id> <note> --evidence "npm test: 42 passing"`. It goes to Done
28
+ with what you showed; a person can `reopen` it with a reason if it is not right.
29
+ 5. **Keep what you learned.** Say *"pass this along"* or run `/passalong-capture`: the skill writes it
30
+ into the project's documents and a line on its Log.
27
31
 
28
32
  ## Commands
29
33
 
30
34
  ```
31
- passalong share [file] [--to team[/handle]] publish a guide → id + link, Ready; --to addresses it
32
- passalong pull <id|link> print a guide; --save also writes ./.passalong/<id>.md (git-ignored)
33
- passalong inbox guides handed to you that you have not pulled yet
34
- passalong board waiting on you, in flight, landed, worth keeping
35
- passalong activity [--all] what happened while you were away; clears unless --all
36
- passalong list [query] your guides and your teams'
37
- passalong open <id> [--print] view a guide in the browser (or the terminal)
38
- passalong hub open your synced guides in the browser
39
- passalong archive <id> off your board and out of the free tier's count (was `done`)
40
- passalong promote <id> deprecated: mark promoted
41
- passalong rm <id> delete a guide locally and from sync
42
- passalong export [dir] dump every guide as plain markdown
43
- passalong login sign in from the browser
44
- passalong login --with-token read a token from stdin instead (CI, scripts)
45
- passalong login --new add another account to this machine
46
- passalong accounts the accounts signed in here, and which is the default
47
- passalong use <name> make one of them the default
48
- passalong logout [name] forget one of them (default: the current one)
35
+ passalong new "<what needs doing>" [--to TARGET] [--parent ID] [--draft] write work down
36
+ passalong new <file.md> [--to TARGET] [--parent ID] [--draft] the same, from a file
37
+ passalong board what needs you, who is on what, and what is ready
38
+ passalong list [query] work you and your teams can see, newest first
39
+ passalong open <id> [--print] view work in the browser (or the terminal)
40
+ passalong take [id] [--save] you are doing it; --save also writes ./.passalong/<id>.md (git-ignored)
41
+ passalong progress <id> <note> still on it, with a one-line note the hub shows
42
+ passalong hand-in <id> <note> --evidence TEXT [--writeup TEXT] [--pr LINK] it is done
43
+ passalong pass <id> <why> not yours, or stuck: hands it back with your reason
44
+ passalong ask <id> <question> ask the person, keep it, and wait for their answer
45
+ passalong reply <id> <text> write to whoever holds it (--file PATH to attach); or leave a note
46
+ passalong assign <id> <to> give it to @handle (or several), a #group, or "team"
47
+ passalong release <id> take work back from whoever holds it
48
+ passalong reopen <id> <why> finished work isn't right: back to To do, with why
49
+ passalong ready <id...|--all> drafts you have read are Ready
50
+ passalong archive <id> off the board and out of the free tier's count
51
+ passalong rm <id> delete it
52
+ passalong attach <file> upload a picture or file and print the markdown that points at it
53
+ passalong work [--once] [--agent CMD] run an agent on each piece of ready work here, in turn
54
+ passalong work --watch the runner: keep taking work a person marked safe to run alone
55
+ passalong now what this worktree holds and what is waiting
56
+ passalong hub open the hub in the browser
57
+ passalong export [dir] every piece of work as plain markdown
58
+ passalong login [--new | --with-token] sign in from the browser, add an account, or read a token
59
+ passalong accounts | use <name> | logout [name] the accounts on this machine
49
60
  passalong me [--handle H] [--name N] [--email E] who you are to teammates
50
- passalong team current team and its members
51
- passalong team create <name> start a team (you become its owner)
52
- passalong team invite [email] make an invite link (mailed when an email is given)
53
- passalong team join <link> accept an invite
54
- passalong team use <slug> switch the current team
55
- passalong setup install the Claude Code capture skill + register the MCP server
61
+ passalong team [create <name> | invite [email] | join <link> | use <slug>] teams
62
+ passalong setup install the capture skill, MCP server and hooks
56
63
  passalong mcp run the MCP server over stdio
57
64
  passalong version print the installed version (also -v, --version)
58
65
  ```
59
66
 
60
67
  ## Teams
61
68
 
62
- A team is the unit of sharing. Members can find, pull, and mark consumed every guide shared to
63
- the team; a guide can also be handed to one person, who sees it in their inbox (and by email
64
- when the server has mail configured).
69
+ A team is where work goes. Everyone in it sees the same board; work can be sent to one person
70
+ (`--to khaime/@ada`), a group (`--to khaime/#frontend`) or the whole team, and whoever it names is
71
+ told — by email too, when the server has mail configured.
65
72
 
66
73
  ```sh
67
74
  passalong me --handle lukman # how teammates address you
68
75
  passalong team create Khaime # you become owner; "khaime" is now current
69
76
  passalong team invite ada@example.com # or no email: prints a link to send yourself
70
- passalong team join <link> # on Ada's machine — or she just opens the link
71
- passalong share --to khaime/ada # hand this guide to Ada
72
- passalong inbox # on Ada's side: what was handed to you
73
- passalong activity # back on your side: it landed, and who pulled it
77
+ passalong new "Fix the upload button" --to khaime/@ada
78
+ passalong board # on Ada's side: what needs her
74
79
  ```
75
80
 
76
- Every guide, whatever its kind, moves the same way: it is Ready when shared (or a draft, with
77
- `status: draft`, until a person runs `passalong ready <id>`), then whoever takes it (`passalong take <id>`) holds it, hands it in with
78
- the evidence, and a person approves it or sends it back with the reason (`passalong approve` /
79
- `passalong reject`).
80
-
81
- Sign in at [the hub](https://passalong.dev/hub) with an email and password, and mint
82
- an API token there for the CLI and MCP servers — named, revocable, and shown once. Your password
83
- never goes near the terminal. `passalong login` with no arguments still makes an account without
84
- any of that; add an email and password later to be able to sign in from a browser and recover it.
85
-
86
- Not everyone who receives a guide implements it. Every guide page has a **Verify** view
87
- (`?view=verify`) that leads with Problem, Verification and Gotchas and folds the implementation
88
- away — for a tester or anyone checking the work rather than doing it. Invites are accepted in the
89
- browser, so a teammate needs no terminal to be part of a team.
90
-
91
- `passalong activity` is the other half of the transfer: it tells you when someone pulled a guide
92
- you handed over, when they marked it consumed, and when an invite was taken up. A handoff
93
- addressed to a person is also emailed; a team-wide share is not, because mail nobody is
94
- named in is the first thing people filter out. Guides that keep getting pulled get a nudge to
95
- promote them into the team's small set of maintained references.
81
+ Invites are accepted in the browser, so a teammate needs no terminal to be part of a team.
96
82
 
97
83
  ## MCP
98
84
 
99
- `passalong setup` registers the server with Claude Code. For other clients, run `passalong mcp` over stdio.
85
+ `passalong setup` registers the server with Claude Code. For other clients, run `passalong mcp` over
86
+ stdio, or add the hosted server at `https://passalong.dev/v1/mcp`.
100
87
 
101
- Tools: `search_guides`, `inbox`, `get_guide`, `publish_guide` (with `to`), `guide_template`, `set_guide_status`.
88
+ Seventeen tools over four nouns. Work: `take`, `progress`, `hand_in`, `pass`, `ask`, `create_work`,
89
+ `find_work`, `update_work`. Projects and their documents: `find_projects`, `save_project`,
90
+ `read_document`, `save_document`, `delete_document`. Files: `add_file`, `read_file`, `delete_file`.
91
+ And `accounts`, for a machine signed in more than once.
102
92
 
103
- ## Guides are plain markdown
93
+ ## Work is plain markdown
104
94
 
105
95
  Plain markdown with frontmatter, held on the server; nothing piles up on your machine. Ask for a
106
- file when you want one: `passalong pull <id> --save`, or `passalong export` for every guide.
96
+ file when you want one: `passalong take <id> --save`, or `passalong export` for everything.
107
97
 
108
98
  Point at a self-hosted server with `PASSALONG_API=https://your-host` before `passalong login`.
109
99
 
@@ -115,6 +105,6 @@ A machine can be signed in to several accounts, say a work one and a personal on
115
105
 
116
106
  An agent has no terminal to be asked at, so with two or more accounts and nothing saying which, it
117
107
  is refused and told to ask you. It puts the question to you in plain words, you answer, and it calls
118
- `use_account` with the name. That lasts for the session and moves nothing on disk. From a shell,
119
- `--as <name>` or `PASSALONG_ACCOUNT=<name>` says the same for one command. The team you work in
120
- (`passalong team use`) belongs to the account, not the machine.
108
+ `accounts` with `use` and the name. That lasts for the session and moves nothing on disk. From a
109
+ shell, `--as <name>` or `PASSALONG_ACCOUNT=<name>` says the same for one command. The team you work
110
+ in (`passalong team use`) belongs to the account, not the machine.