comitia 0.3.0 → 0.4.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 +87 -63
- package/index.js +154 -144
- package/package.json +8 -3
- package/plugin/.claude-plugin/plugin.json +8 -2
- package/plugin/skills/ingest/SKILL.md +51 -43
- package/plugin/skills/problem/SKILL.md +311 -0
- package/plugin/skills/read/SKILL.md +43 -37
- package/plugin/skills/slack/SKILL.md +65 -54
- package/plugin/skills/sync/SKILL.md +24 -18
package/README.md
CHANGED
|
@@ -1,93 +1,117 @@
|
|
|
1
1
|
# comitia
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Ask anything about your company. Get the answer **and its source** — from the AI you already use.
|
|
4
|
+
|
|
5
|
+
Comitia turns scattered company records (Slack, meeting notes, docs, email) into a linked wiki.
|
|
6
|
+
This CLI puts that wiki inside Claude Code, Cursor, Codex, Gemini CLI — anything that can run a
|
|
7
|
+
shell command. No per-app config, and the connection doesn't expire.
|
|
4
8
|
|
|
5
9
|
```bash
|
|
6
10
|
npm i -g comitia
|
|
7
|
-
comitia init
|
|
11
|
+
comitia init -g
|
|
8
12
|
```
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
Node.js 18 or later. No dependencies.
|
|
15
|
+
|
|
16
|
+
## What `init` does
|
|
17
|
+
|
|
18
|
+
Three things at once — **sign in · pick a workspace · tell your AI that comitia exists.**
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
1. Your browser opens Comitia's **"Connection request"** screen. Pick a workspace and a
|
|
21
|
+
permission level, click **Allow**, and the terminal says "connected". You never handle a
|
|
22
|
+
raw token.
|
|
23
|
+
2. If you only have one workspace, it's chosen for you. If you have several, you pick — the
|
|
24
|
+
CLI won't guess, because writing to the wrong workspace is the worse mistake.
|
|
25
|
+
3. It writes usage notes into your **AI rules files**.
|
|
14
26
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
27
|
+
That last step is the one that matters. Installing a command isn't enough: **your AI has no
|
|
28
|
+
idea it's there.** One note in the rules file and it reaches for comitia on its own. Run `init`
|
|
29
|
+
again and the block is replaced in place — never duplicated, and the rest of the file is left
|
|
30
|
+
alone.
|
|
18
31
|
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
It writes to whichever rules files you already have — `CLAUDE.md`, `AGENTS.md`, `GEMINI.md` —
|
|
33
|
+
and creates `AGENTS.md` and `CLAUDE.md` if you have none. Using a different tool? Create its
|
|
34
|
+
rules file and run `comitia init` again.
|
|
21
35
|
|
|
22
|
-
|
|
23
|
-
|
|
36
|
+
**`comitia init -g`** writes to each tool's global location (`~/.claude/CLAUDE.md` and friends)
|
|
37
|
+
so it works in **every** folder instead of per project. It only touches tools you actually have
|
|
38
|
+
installed.
|
|
39
|
+
|
|
40
|
+
> The rules file is a convenience, not a requirement. The CLI works from any AI with a shell —
|
|
41
|
+
> saying "look it up with comitia" once is enough.
|
|
24
42
|
|
|
25
43
|
```bash
|
|
26
|
-
comitia recent #
|
|
27
|
-
comitia find
|
|
44
|
+
comitia recent # Slack and email, as they came in
|
|
45
|
+
comitia find contract # search the raw sources
|
|
28
46
|
```
|
|
29
47
|
|
|
30
|
-
Claude Code
|
|
31
|
-
MCP 와 달리 앱마다 연동 설정이 필요 없고, 토큰이 만료되지 않아 한 번 연결해 두면 계속 이어진다.
|
|
32
|
-
|
|
33
|
-
## Claude Code 스킬 — `/comitia:read` · `/comitia:ingest` · `/comitia:slack` · `/comitia:sync`
|
|
48
|
+
## Claude Code skills
|
|
34
49
|
|
|
35
|
-
`init`
|
|
50
|
+
If Claude Code is installed, `init` also puts a skill set in `~/.claude/skills/comitia/`.
|
|
36
51
|
|
|
37
|
-
| |
|
|
52
|
+
| | When |
|
|
38
53
|
|---|---|
|
|
39
|
-
| `/comitia:read` |
|
|
40
|
-
| `/comitia:ingest` |
|
|
41
|
-
| `/comitia:
|
|
42
|
-
| `/comitia:
|
|
54
|
+
| `/comitia:read` | Answering from company context — Slack, meeting notes, the wiki |
|
|
55
|
+
| `/comitia:ingest` | Adding material to the wiki — add → build the base → revise the related summaries |
|
|
56
|
+
| `/comitia:problem` | Picking out what the records don't explain, and opening it in the Lab |
|
|
57
|
+
| `/comitia:slack` | Posting to Slack — shows you the draft and posts **only once you approve** |
|
|
58
|
+
| `/comitia:sync` | Pulling in right now rather than waiting for the hourly sync. The "sync status" line at the top of `recent`/`find` shows how fresh things are |
|
|
59
|
+
|
|
60
|
+
Call them by name, or just say "organize this into the wiki" and Claude will reach for them.
|
|
61
|
+
A skill carries only its one-line description (about 90 tokens) until it's actually used.
|
|
43
62
|
|
|
44
|
-
|
|
45
|
-
평소에는 설명 한 줄(약 90토큰)만 들고 있다가 쓸 때 본문을 읽는다.
|
|
46
|
-
새 판으로 올린 뒤에는 `comitia skills` 로 스킬만 바꿔 끼운다.
|
|
63
|
+
After upgrading the package, run `comitia skills` to update the skills alone.
|
|
47
64
|
|
|
48
|
-
##
|
|
65
|
+
## Commands
|
|
49
66
|
|
|
50
67
|
| | |
|
|
51
68
|
|---|---|
|
|
52
|
-
| `comitia init [
|
|
53
|
-
| `comitia init -g` |
|
|
54
|
-
| `comitia login
|
|
55
|
-
| `comitia
|
|
56
|
-
| `comitia
|
|
57
|
-
| `comitia
|
|
58
|
-
| `comitia
|
|
59
|
-
| `comitia
|
|
60
|
-
| `comitia
|
|
61
|
-
| `comitia
|
|
62
|
-
| `comitia
|
|
63
|
-
| `comitia
|
|
64
|
-
| `comitia
|
|
65
|
-
| `comitia
|
|
66
|
-
| `comitia
|
|
67
|
-
| `comitia
|
|
68
|
-
| `comitia
|
|
69
|
-
| `comitia
|
|
70
|
-
| `comitia
|
|
71
|
-
| `comitia
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
| `comitia init [token]` | Connect in one go — sign-in + workspace + AI rules files |
|
|
70
|
+
| `comitia init -g` | Put the rules in **every folder** (`~/.claude` and friends) |
|
|
71
|
+
| `comitia login` | Connect by clicking Allow in the browser |
|
|
72
|
+
| `comitia login --paste` | For a remote machine — paste the code shown in your browser |
|
|
73
|
+
| `comitia login <token>` | Use an issued token directly (CI, scripts) |
|
|
74
|
+
| `comitia logout` | Forget the stored token (`~/.comitia/config.json`, mode 0600) |
|
|
75
|
+
| `comitia whoami` | How you're connected right now |
|
|
76
|
+
| `comitia companies` | List your workspaces |
|
|
77
|
+
| `comitia use <id or name>` | Set the default workspace |
|
|
78
|
+
| `comitia list [prefix]` | List wiki documents (filter like `docs/`, `ledger/`) |
|
|
79
|
+
| `comitia search <word>` | Search the wiki body text |
|
|
80
|
+
| `comitia read <path...>` | Read documents |
|
|
81
|
+
| `comitia graph` | How the documents link to each other |
|
|
82
|
+
| `comitia recent [count]` | **Raw sources** — Slack and email exactly as they arrived |
|
|
83
|
+
| `comitia find <word>` | Search the raw sources |
|
|
84
|
+
| `comitia raw <id...>` | Full text of a source |
|
|
85
|
+
| `comitia rules` | This workspace's wiki rules — **read these before writing** |
|
|
86
|
+
| `comitia skills` | Install or update the Claude Code skills |
|
|
87
|
+
| `comitia sync [slack\|tiro\|...]` | Pull in now, instead of waiting for the hourly sync — *write access* |
|
|
88
|
+
| `comitia forget <id> <word...>` | Scrub a word from a source — it won't come back on the next sync — *write access* |
|
|
89
|
+
| `comitia slack <channel> <file\|->` | Post to Slack through the connected bot — *write access* |
|
|
90
|
+
| `comitia push <title> <file\|->` | Add a source — *write access* |
|
|
91
|
+
| `comitia build` | Build the base — full texts, ledgers, tables (code only, no model cost) — *write access* |
|
|
92
|
+
| `comitia pending` | Sources that still need summarizing |
|
|
93
|
+
| `comitia write <path> <file\|->` | Save a summary to the wiki — *write access* |
|
|
94
|
+
| `comitia organize` | Hand the organizing to Comitia's own AI — *write access* |
|
|
95
|
+
|
|
96
|
+
`-c <id>` switches workspace for a single call. `comitia --help` lists everything, including the
|
|
97
|
+
`--thread` / `--edit` / `--delete` flags on `comitia slack`.
|
|
98
|
+
|
|
99
|
+
## Environment variables
|
|
76
100
|
|
|
77
101
|
| | |
|
|
78
102
|
|---|---|
|
|
79
|
-
| `COMITIA_API` |
|
|
80
|
-
| `COMITIA_TOKEN` |
|
|
81
|
-
| `COMITIA_COMPANY` |
|
|
103
|
+
| `COMITIA_API` | Server address (default `https://z2o.kr/_/backend`) |
|
|
104
|
+
| `COMITIA_TOKEN` | Token. Takes priority over the config file — use this in CI |
|
|
105
|
+
| `COMITIA_COMPANY` | Workspace id |
|
|
82
106
|
|
|
83
|
-
|
|
107
|
+
The old names `Z2O_API` · `Z2O_TOKEN` · `Z2O_COMPANY` are still read (the new ones win).
|
|
84
108
|
|
|
85
|
-
##
|
|
109
|
+
## Migrating from `z2o`
|
|
86
110
|
|
|
87
|
-
`npm i -g comitia
|
|
111
|
+
`npm i -g comitia`, then `comitia skills` (or `comitia init`) once. **No need to sign in again.**
|
|
88
112
|
|
|
89
|
-
-
|
|
90
|
-
- `z2o`
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
113
|
+
- Config lives in `~/.comitia/`. If it isn't there, `~/.z2o/` and `~/.ztoo/` are read and carried over.
|
|
114
|
+
- The `z2o` command still runs the same thing for now, so rules files you've already set up keep working.
|
|
115
|
+
- `init` **swaps** an old `z2o:start` block for the new one — you won't end up with two.
|
|
116
|
+
- Skills move to `~/.claude/skills/comitia/` and the old `~/.claude/skills/z2o/` is removed, so `/z2o:*` and `/comitia:*` don't both show up.
|
|
117
|
+
- Remove the old package with `npm rm -g z2o-cli`. Leave it and the `z2o` command belongs to two packages, which can block the install.
|