@siriuslan/team-discuss 0.0.0-stage → 0.1.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.
Files changed (4) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +148 -2
  3. package/dist/main.js +6000 -0
  4. package/package.json +51 -4
package/LICENSE ADDED
@@ -0,0 +1,28 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 blan
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.
22
+
23
+ ---
24
+
25
+ This license covers the original text of this package only. The ideas it
26
+ summarizes come from "A Philosophy of Software Design" by John Ousterhout
27
+ (Yaknyam Press, 2018). That book is copyrighted by its author and is not
28
+ included in or licensed by this package.
package/README.md CHANGED
@@ -1,3 +1,149 @@
1
- # Temporary Holding Version
1
+ # team-discuss
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ A terminal app for moderated discussions between AI agents. **The app is the
4
+ moderator**: it decides who speaks, pauses when a participant needs you, and has a
5
+ moderator agent write the summary. You watch live and can join in at any time.
6
+
7
+ - **Reusable participants.** A participant is a saved profile: an agent, model,
8
+ thinking level and either a **project folder** (it reads your code) or a **role**
9
+ (instructions plus its own reference folder).
10
+ - **Teams.** Save an ordered set of participants and load it when starting.
11
+ - **Global history.** One dashboard lists every discussion on this machine. Opening
12
+ old history never spends tokens: it always opens **paused**.
13
+ - **Guided start.** Topic → Participants → Review & start. Agents only run after you
14
+ choose **Start discussion** on the final Review step.
15
+
16
+ It is the standalone sibling of the
17
+ [`discuss` pi extension](https://www.npmjs.com/package/@siriuslan/discuss). The two do
18
+ not share data.
19
+
20
+ ## Status: 0.1.0 (early release)
21
+
22
+ - **Only [pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) is
23
+ offered** for participants and the moderator. Claude Code and Codex seats stay
24
+ disabled, because their read-only/no-tools behavior could not be verified: Claude
25
+ Code's startup writes project settings into the workspace, and the tested Codex
26
+ setup needs a disabled feature. The app shows the reason instead of weakening the
27
+ limits.
28
+ - Tested on **macOS (Apple Silicon) with Node 26**. Node 22 and Linux are supported
29
+ targets but have **not** been re-tested against this release. Desktop clipboard
30
+ paste and IME (input method) typing have not been verified by hand.
31
+ - The terminal layout follows the approved design within terminal limits; spacing
32
+ differs slightly in places.
33
+
34
+ Please report problems on
35
+ [GitHub](https://github.com/siriuslan/pi-packages/issues).
36
+
37
+ ## Requirements
38
+
39
+ - macOS or Linux (no Windows).
40
+ - Node.js **22.19 or newer**.
41
+ - An interactive terminal. `team-discuss --help` and `--version` work without one.
42
+ - To run discussions: [pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent)
43
+ installed on `PATH` and logged in to a model provider. Browsing history needs no
44
+ agent at all.
45
+
46
+ ## Install
47
+
48
+ ```bash
49
+ npm install -g @siriuslan/team-discuss
50
+ team-discuss
51
+ ```
52
+
53
+ Uninstall with `npm uninstall -g @siriuslan/team-discuss`. Your data in
54
+ `~/.team-discuss` is kept; delete that folder yourself if you want it gone.
55
+
56
+ ## Quick start
57
+
58
+ 1. Run `team-discuss`. Use **Tab** to move between Discussions, Participants and
59
+ Teams.
60
+ 2. On Participants press **n** and create a profile. The default model is
61
+ `anthropic/claude-opus-5-5` with `xhigh` thinking; type any model/thinking value pi
62
+ accepts, or press **Ctrl+G** for suggestions. **Ctrl+S** saves.
63
+ 3. On Discussions press **n**: write the topic, pick participants (Space adds,
64
+ Alt+↑/↓ reorders, Alt+T loads a team), review the cost warning, then **Start
65
+ discussion** (or Ctrl+Enter).
66
+ 4. Watch. Type a comment and press **Enter** to join in. **Esc** pauses after the
67
+ current turn, **Ctrl+X** stops the current response, **F1** lists every control.
68
+
69
+ When everyone is satisfied, the moderator writes a summary. Checkpoints (by default
70
+ every *participants × 3* turns) pause the discussion so you can steer it.
71
+
72
+ ### When does a participant stop for you?
73
+
74
+ Ordinary mentions of `@Human` do **not** pause anything. A participant blocks for
75
+ your answer only by starting a line with:
76
+
77
+ ```text
78
+ HUMAN INPUT REQUIRED: <the question>
79
+ ```
80
+
81
+ The discussion then waits; **Ctrl+Q** jumps to the question and your reply resumes it.
82
+
83
+ ## Controls
84
+
85
+ | Where | Keys |
86
+ |---|---|
87
+ | Everywhere | Tab / Shift+Tab: next/previous section or field · Ctrl+C: quit |
88
+ | Lists | ↑/↓ select · Enter open · n new · r refresh · q quit · / filter (Discussions) · e edit, d delete (Participants, Teams; asks first) |
89
+ | Forms | Ctrl+S save · Ctrl+G suggestions · Esc cancel |
90
+ | New discussion | Alt+→ / Alt+← next/previous step · Alt+N add participant · Alt+T load team · Ctrl+Enter start (Review only) |
91
+ | Discussion | Enter send · Shift+Enter or Alt+Enter newline · Esc or `/pause` pause after turn · `/resume` · Ctrl+X stop response · Ctrl+Q question · Ctrl+B latest · F1 help · F2 details |
92
+ | Discussion commands | `/next @name [note]` · `/mute @name` · `/unmute @name` · `/reset @name` · `/wrap` · `/retry` · `/back` |
93
+
94
+ Destructive confirmations (delete, take over, leave while an agent is speaking)
95
+ always default to **Cancel**; you have to move to the named action deliberately.
96
+
97
+ ## What it runs, and what leaves your machine
98
+
99
+ - **Model providers receive the discussion.** Every turn sends the topic, the
100
+ discussion so far, the participant's instructions and **any files the participant
101
+ reads** to that participant's model provider. Do not include secrets.
102
+ - **Participants are read-only.** pi runs with only `read`, `grep`, `find` and `ls`
103
+ tools, no MCP (`--tools read,grep,find,ls --exclude-tools mcp__* --no-mcp`), in the
104
+ profile's project folder or role folder. They cannot edit files or run commands.
105
+ Project folders are never changed by the app.
106
+ - **The moderator has no tools** (`--no-tools --no-mcp`). It only writes summaries.
107
+ - pi otherwise uses your normal pi login and settings, so its own configuration and
108
+ extensions still apply. `TEAM_DISCUSS_PI_BIN` can point at a specific `pi` binary.
109
+ - **Nothing runs in the background.** A discussion only runs while its view is open.
110
+ Leaving or quitting stops the current turn and waits for the agent processes to
111
+ exit.
112
+ - **Costs.** Displayed costs and tokens are for **completed, recorded turns only**.
113
+ Stopped, failed or interrupted turns can still be billed by your provider. The
114
+ default model and thinking level are expensive; choose cheaper ones per profile if
115
+ you like.
116
+
117
+ ## Your data
118
+
119
+ Everything is stored locally in `~/.team-discuss` (override with
120
+ `TEAM_DISCUSS_HOME`). Keep it on a **local disk**, not a network or cloud-synced
121
+ folder. Folders are private (`0700`) and files `0600`.
122
+
123
+ | Path | Contents |
124
+ |---|---|
125
+ | `config.json` | Default moderator agent/model/thinking and checkpoint factor |
126
+ | `participants/<name>/` | Profile, and for roles a `workspace/` reference folder shared by that role's discussions |
127
+ | `teams/<name>.json` | Team name and ordered member names |
128
+ | `discussions/<id>/` | `events/` (the authoritative record) and a generated `transcript.md` |
129
+
130
+ - Discussions keep a frozen copy of their participants, so editing or deleting a
131
+ profile never changes old history.
132
+ - Deleting a profile deletes its role reference folder and removes it from teams;
133
+ it never touches project folders or history. The app always shows what will be
134
+ removed and asks first.
135
+ - `transcript.md` is regenerated from `events/`; manual edits to it are overwritten.
136
+ - Opening a discussion takes a lock. A second window opens it read-only and can
137
+ take over after a warning.
138
+
139
+ ## More
140
+
141
+ - [Design](https://github.com/siriuslan/pi-packages/blob/main/apps/team-discuss/DESIGN.md)
142
+ and [development notes](https://github.com/siriuslan/pi-packages/blob/main/apps/team-discuss/docs/DEVELOPMENT.md)
143
+ (building, tests, verification record).
144
+ - [Agent capability probes](https://github.com/siriuslan/pi-packages/blob/main/apps/team-discuss/PROBES.md).
145
+ - [Release checklist](https://github.com/siriuslan/pi-packages/blob/main/apps/team-discuss/docs/RELEASE.md).
146
+
147
+ ## License
148
+
149
+ MIT