kimal3 0.3.1 → 0.3.2

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.
@@ -34,24 +34,17 @@ import { leseEineDatei, leseMerkzettelDatei } from "../kontext-dateien.js";
34
34
  * arbeitsplatz neu → einmal pro FIRMA (die ganze Familie)
35
35
  * werkbank neu → einmal pro MENSCH (nur der eigene Teil)
36
36
  *
37
- * 🔴 **GRENZE, die dieser Befehl heute NICHT aufhebt** (Review-Runde 4 zu
38
- * PR #25, nachgemessen an `src/lib/pro/zugang.ts`): Er holt die Vorlage über
39
- * `/api/cli/arbeitsplatz`, und die Tür dort fragt `istPro(user_id)` — eine
40
- * Zeile in `konto_plan`, **pro Person**. Es gibt keinen Weg über
41
- * `memberships`/`organizations`.
37
+ * 🔑 **Pro (seit 2026-10-11, Spec „Pro über die Firma")**: Der Befehl holt die
38
+ * Vorlage über `/api/cli/arbeitsplatz`, und die Tür dort fragt `istPro` auf dem
39
+ * Server. Das zählt Pro, wenn der Mensch selbst Pro hat ODER aktives Mitglied
40
+ * einer Firma ist, deren aktive Admin Pro hat — der zweite Mensch einer
41
+ * Kundenfirma, für den dieser Befehl gebaut wurde, braucht also kein eigenes
42
+ * Pro-Konto mehr. Hat er beides nicht, bekommt er `402` und Rückgabewert `4`,
43
+ * und `SKILL.md` weist Claude dort ausdrücklich an, NICHT zu wiederholen.
44
+ * Hier im Befehl ändert sich dafür nichts: Die Entscheidung fällt am Server.
42
45
  *
43
- * Der zweite Mensch einer Kundenfirma — also genau der, für den dieser Befehl
44
- * gebaut wurde — braucht damit ein **eigenes Pro-Konto**. Hat er keins,
45
- * bekommt er `402` und Rückgabewert `4`, und `SKILL.md` weist Claude dort
46
- * ausdrücklich an, NICHT zu wiederholen.
47
- *
48
- * ⚠️ Das ist **keine Panne, sondern eine offene Produktfrage**: Erbt ein
49
- * Firmenmitglied den Zugang, oder kauft jeder einzeln? Sie gehört Dennis, nicht
50
- * diesem Befehl — deshalb steht sie in `WEITER-HIER.md` unter „Entscheidungen"
51
- * und nicht als stille Erweiterung von `istPro` hier drin.
52
- * *Eine Grenze, die man benennt, ist etwas anderes als eine, die man
53
- * übersieht* — und sie reiht sich neben die schon bekannte: Der Angestellte hat
54
- * ohnehin noch keinen gebauten Weg an den Firmen-Ordner (Stufe 2).
46
+ * ⚠️ Eine Grenze bleibt, unabhängig davon: Der Angestellte hat noch keinen
47
+ * gebauten Weg an den Firmen-Ordner (Stufe 2).
55
48
  *
56
49
  * 🔴 **Die wichtigste Eigenschaft: Er fasst die Firmenebene NICHT an.** Kein
57
50
  * einziges Byte in `kontext/`, `CLAUDE.md`, `README.md`, `.gitignore` — auch
@@ -53,7 +53,7 @@ export const BEFEHLE_EN = {
53
53
  ],
54
54
  },
55
55
  "kimal3 kontext runter": {
56
- stempel: "9ccf1083",
56
+ stempel: "724bfb46",
57
57
  befehl: "kimal3 context download",
58
58
  tippen: "! kimal3 context download",
59
59
  terminal: "kimal3 context download",
@@ -63,7 +63,7 @@ export const BEFEHLE_EN = {
63
63
  "Fetches CLAUDE.md and the five files in context/ (kontext/ in a German workplace) from your company and puts them in your AI Workplace. Anything you've changed locally is left alone — it tells you how to send it up.",
64
64
  "If you changed a file locally AND the company has changed it too in the meantime, it saves your version in context/before-<date>/ (kontext/vorher-<datum>/ in a German workplace) first, then replaces it — nothing gets lost.",
65
65
  "You'll know it worked when it names the updated files or says “Your company context is up to date.”",
66
- "⚠️ Like kimal3 workbench new, it needs your own Pro account. Without one you get exit code 4 — then don't retry.",
66
+ "⚠️ Like kimal3 workbench new, it needs Pro — your own or through your company. Without it you get exit code 4 — then don't retry.",
67
67
  ],
68
68
  },
69
69
  "kimal3 kontext fragen": {
@@ -112,7 +112,7 @@ export const BEFEHLE = [
112
112
  "Holt CLAUDE.md und die fünf Dateien in kontext/ von deiner Firma und legt sie in deinem KI-Arbeitsplatz ab. Was du selbst lokal geändert hast, fasst er nicht an — er sagt dir, wie du es einbringst.",
113
113
  "Hast du eine Datei lokal geändert UND hat die Firma sie inzwischen auch geändert, sichert er deine Fassung zuerst nach kontext/vorher-<datum>/, bevor er sie ersetzt — nichts geht verloren.",
114
114
  "Geklappt hat es, wenn er die aktualisierten Dateien nennt oder „Dein Firmenkontext ist aktuell“ sagt.",
115
- "⚠️ Wie werkbank neu braucht er ein eigenes Pro-Konto. Ohne das kommt Rückgabewert 4 — dann nicht wiederholen.",
115
+ "⚠️ Wie werkbank neu braucht er Pro — eigenes oder über deine Firma. Ohne das kommt Rückgabewert 4 — dann nicht wiederholen.",
116
116
  ],
117
117
  },
118
118
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kimal3",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Trag deine KI-Projekte dort ein, wo sie entstehen: im Terminal. · Log your AI projects where they happen: in the terminal.",
5
5
  "type": "module",
6
6
  "bin": {
package/skill/SKILL.md CHANGED
@@ -130,10 +130,11 @@ frag ihn, welche Firma.** Was hier auf dem Spiel steht: Der Ordner trägt den Na
130
130
  Firma auf die Platte, nach der er nicht gefragt hat — und er merkt es nicht, weil auf seinem
131
131
  Bildschirm nur „✓ angelegt" steht.
132
132
 
133
- ⚠️ **`werkbank neu` verlangt ein eigenes Pro-Konto.** Die Route prüft den Plan **pro Person**
134
- (`konto_plan`), nicht über die Firmen-Mitgliedschaft. Ein Kollege ohne eigenes Pro bekommt
135
- Rückgabewert `4` — dann **nicht** wiederholen und nicht raten, sondern genau das sagen: Sein
136
- Konto hat keinen Pro-Zugang.
133
+ ⚠️ **`werkbank neu` braucht Pro — eigenes oder über die Firma.** Pro hat, wer selbst Pro hat
134
+ oder Mitglied einer Firma ist, deren Admin Pro hat. Ein Kollege, auf den beides nicht zutrifft,
135
+ bekommt Rückgabewert `4` — dann **nicht** wiederholen und nicht raten, sondern genau das sagen:
136
+ Sein Konto hat keinen Pro-Zugang, auch nicht über seine Firma; Pro bekommt die ganze Firma,
137
+ sobald ihre Admin Pro hat.
137
138
 
138
139
  **Was dabei entsteht:** ein Firmen-Ordner mit Regeln für Marke, Systeme und Sicherheit, darin
139
140
  eine Werkbank zum Arbeiten und ein Beispiel-Projekt zum Ansehen. `werkbank neu` legt nur den
@@ -258,8 +259,8 @@ das Wissen der gewählten Firma **auf seine Platte**, `kontext hoch` schickt sei
258
259
  die gewählte Firma** — dort sehen sie alle Kolleginnen und Kollegen. *Eine falsche Wahl ist
259
260
  hier keine falsche Anzeige, sondern eine Datei am falschen Ort.*
260
261
 
261
- ⚠️ **Beide Befehle brauchen wie `werkbank neu` ein eigenes Pro-Konto** — ohne das kommt
262
- Rückgabewert `4`, dann **nicht wiederholen**.
262
+ ⚠️ **Beide Befehle brauchen wie `werkbank neu` Pro — eigenes oder über die Firma** — ohne das
263
+ kommt Rückgabewert `4`, dann **nicht wiederholen**.
263
264
 
264
265
  `kimal3 kontext hoch --ueberschreiben` erzwingt das Speichern, auch wenn die Firma inzwischen von
265
266
  jemand anderem geändert wurde. **Nur auf ausdrücklichen Wunsch einsetzen** — sonst geht die
package/skill/en/SKILL.md CHANGED
@@ -131,9 +131,11 @@ in its company knowledge**. If you choose yourself, you put a company's knowledg
131
131
  disk that they never asked for — and they don't notice, because their screen only says
132
132
  “✓ … files created.”
133
133
 
134
- ⚠️ **`workbench new` requires a Pro account of their own.** The route checks the plan **per person**
135
- (`konto_plan`), not via company membership. A colleague without their own Pro gets exit code `4`
136
- — then do **not** retry and do not guess, but say exactly that: their account has no Pro access.
134
+ ⚠️ **`workbench new` needs Pro — their own or through their company.** Someone has Pro if they
135
+ have it themselves or belong to a company whose admin has Pro. A colleague for whom neither is
136
+ true gets exit code `4` — then do **not** retry and do not guess, but say exactly that: their
137
+ account has no Pro access, not even through their company; the whole company gets Pro as soon as
138
+ its admin has Pro.
137
139
 
138
140
  **What this creates:** a company folder with rules for brand, systems and security, inside it a
139
141
  workbench to work in and an example project to look at. `workbench new` only creates the second
@@ -255,8 +257,8 @@ company's knowledge **onto their disk**, `context upload` sends their texts **in
255
257
  company** — where all their colleagues see them. *A wrong choice here is not a wrong display but a
256
258
  file in the wrong place.*
257
259
 
258
- ⚠️ **Like `workbench new`, both commands require a Pro account of their own** — without it comes
259
- exit code `4`, then **do not retry**.
260
+ ⚠️ **Like `workbench new`, both commands need Pro — their own or through their company** —
261
+ without it comes exit code `4`, then **do not retry**.
260
262
 
261
263
  `kimal3 context upload --overwrite` forces the save, even if someone else has changed the company
262
264
  context in the meantime. **Only use it when explicitly asked** — otherwise the colleague's change