kimal3 0.3.2 → 0.4.0-durchstich.3
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/claude-plugins/.claude-plugin/marketplace.json +8 -0
- package/claude-plugins/README.md +7 -0
- package/claude-plugins/kimal3-logo/.claude-plugin/plugin.json +6 -0
- package/claude-plugins/kimal3-logo/hooks/hooks.json +1 -0
- package/claude-plugins/kimal3-logo/hooks/register.tsx +80 -0
- package/dist/arbeitsplatz-dateien.js +50 -0
- package/dist/befehle/einrichten.js +161 -0
- package/dist/befehle/login.js +34 -6
- package/dist/befehle/skill-install.js +4 -2
- package/dist/befehle/werkbank.js +5 -8
- package/dist/befehle-katalog-en.js +4 -4
- package/dist/befehle-katalog.js +2 -2
- package/dist/befehlswoerter.js +1 -0
- package/dist/browser.js +43 -0
- package/dist/einstellungen-mischen.js +68 -28
- package/dist/einstellungen-schreiben.js +48 -12
- package/dist/kimal3.js +10 -3
- package/dist/logo-ablegen.js +117 -0
- package/dist/nachricht.js +5 -1
- package/dist/plugins-mischen.js +78 -0
- package/dist/sprache.js +28 -4
- package/dist/texte/einrichten-marken.js +9 -0
- package/dist/texte/einrichten.js +60 -0
- package/dist/wache-schalter.js +30 -5
- package/package.json +28 -27
- package/skill/SKILL.md +5 -6
- package/skill/en/SKILL.md +5 -6
package/dist/wache-schalter.js
CHANGED
|
@@ -32,6 +32,8 @@ export function leseWacheDatei() {
|
|
|
32
32
|
if (Array.isArray(inhalt.sitzungen)) {
|
|
33
33
|
raus.sitzungen = inhalt.sitzungen.filter((s) => typeof s === "string");
|
|
34
34
|
}
|
|
35
|
+
if (typeof inhalt.eingerichtet === "string")
|
|
36
|
+
raus.eingerichtet = inhalt.eingerichtet;
|
|
35
37
|
return raus;
|
|
36
38
|
}
|
|
37
39
|
catch {
|
|
@@ -116,6 +118,22 @@ export function merkeSitzung(sitzung) {
|
|
|
116
118
|
return;
|
|
117
119
|
schreibeWacheDatei(mitSitzung(leseWacheDatei() ?? {}, sitzung));
|
|
118
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Merken, in welcher Claude-Sitzung die Wache gerade eingetragen wurde. Wirft nie.
|
|
123
|
+
*
|
|
124
|
+
* 🔴 NICHT `merkeSitzung` (Sandbox-Lauf 14.10., Befund S-3): Der Eintrag greift erst beim
|
|
125
|
+
* naechsten Start -- ohne Merkzettel meldete der naechste Befehl in derselben Sitzung sofort
|
|
126
|
+
* "hat nicht nachgesehen". Bis 0.4.0-durchstich.1 stempelte `skill install` deshalb die
|
|
127
|
+
* Sitzung als NACHGESEHEN. Das hielt den Fehlalarm still, aber auch die Wache selbst: Wer im
|
|
128
|
+
* selben Gespraech weitermacht, hoerte sie am ersten Tag nie (gemessen: das Pro-Angebot lag
|
|
129
|
+
* bereit, `cli_nachrichten_gezeigt` blieb leer). Ein eigenes Feld trennt beides --
|
|
130
|
+
* `wacheAusgefallen` liest es, `schonFuerDieseSitzung` nicht.
|
|
131
|
+
*/
|
|
132
|
+
export function merkeEinrichtung(sitzung) {
|
|
133
|
+
if (sitzung === null)
|
|
134
|
+
return;
|
|
135
|
+
schreibeWacheDatei({ ...(leseWacheDatei() ?? {}), eingerichtet: sitzung });
|
|
136
|
+
}
|
|
119
137
|
/** Wie viele Sitzungen der Merkzettel sich merkt -- genug fuer mehrere Fenster ueber Tage. */
|
|
120
138
|
const MERKE_SITZUNGEN = 20;
|
|
121
139
|
/**
|
|
@@ -171,7 +189,10 @@ function gesehen(inhalt, jetzt) {
|
|
|
171
189
|
* Terminalfenster tippt, will die Antwort jetzt -- ein Merkzettel von gestern
|
|
172
190
|
* darf ihn nicht zum Schweigen bringen.
|
|
173
191
|
*/
|
|
174
|
-
export function schonFuerDieseSitzung(
|
|
192
|
+
export function schonFuerDieseSitzung(
|
|
193
|
+
// `eingerichtet` steht im Typ, damit der ganze Merkzettel hereinpasst -- gelesen wird es
|
|
194
|
+
// hier ABSICHTLICH nicht: Eingerichtet heisst nicht nachgesehen (S-3, `merkeEinrichtung`).
|
|
195
|
+
inhalt, jetzt) {
|
|
175
196
|
return jetzt !== null && inhalt !== null && gesehen(inhalt, jetzt);
|
|
176
197
|
}
|
|
177
198
|
/**
|
|
@@ -186,9 +207,13 @@ export function schonFuerDieseSitzung(inhalt, jetzt) {
|
|
|
186
207
|
* dann aus wie an einem guten Tag. *Eine Wache, die still stirbt, ist
|
|
187
208
|
* schlimmer als keine: Sie kauft Vertrauen und deckt nichts mehr.*
|
|
188
209
|
*
|
|
189
|
-
* 🔴
|
|
210
|
+
* 🔴 FUENF MAL SCHWEIGEN, EINMAL SPRECHEN:
|
|
190
211
|
* - Keine Sitzungsnummer -> der Mensch sitzt im Terminalfenster, die Wache
|
|
191
212
|
* hatte nie einen Anlass zu laufen. "Nicht gelaufen" heisst hier nichts.
|
|
213
|
+
* - Kein Merkzettel -> die Wache war nie eingerichtet; `skill install` legt ihn an.
|
|
214
|
+
* Bis 0.4.0-durchstich.1 meldete das hier -- die allererste Ausgabe einer neuen
|
|
215
|
+
* Kundin war ein Fehlalarm (Sandbox-Lauf 14.10., Befund S-2).
|
|
216
|
+
* - In dieser Sitzung eingerichtet -> sie greift erst beim naechsten Start (S-3).
|
|
192
217
|
* - Abgeschaltet -> wer `kimal3 wache aus` getippt hat, will nicht taeglich
|
|
193
218
|
* daran erinnert werden. Sonst waere der Ausschalter keiner.
|
|
194
219
|
* - Dieselbe Nummer -> sie hat fuer diese Sitzung nachgesehen.
|
|
@@ -201,9 +226,9 @@ export function wacheAusgefallen(
|
|
|
201
226
|
// Fassung traegt genau das und sonst nichts, und dieser Fall gehoert
|
|
202
227
|
// geprueft. Ein Typ, der ihn verbietet, verbietet auch seine Pruefung.
|
|
203
228
|
inhalt, jetzt) {
|
|
204
|
-
if (jetzt === null)
|
|
229
|
+
if (jetzt === null || inhalt === null)
|
|
205
230
|
return false;
|
|
206
|
-
if (inhalt
|
|
231
|
+
if (inhalt.aus === true)
|
|
207
232
|
return false;
|
|
208
|
-
return
|
|
233
|
+
return !gesehen(inhalt, jetzt) && inhalt.eingerichtet !== jetzt;
|
|
209
234
|
}
|
package/package.json
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "kimal3",
|
|
3
|
-
"version": "0.3
|
|
4
|
-
"description": "Trag deine KI-Projekte dort ein, wo sie entstehen: im Terminal. · Log your AI projects where they happen: in the terminal.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"kimal3": "dist/kimal3.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"dist",
|
|
11
|
-
"skill",
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "kimal3",
|
|
3
|
+
"version": "0.4.0-durchstich.3",
|
|
4
|
+
"description": "Trag deine KI-Projekte dort ein, wo sie entstehen: im Terminal. · Log your AI projects where they happen: in the terminal.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"kimal3": "dist/kimal3.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"skill",
|
|
12
|
+
"claude-plugins",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=20"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json",
|
|
20
|
+
"prepublishOnly": "npm run build"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"kimal3",
|
|
24
|
+
"cli"
|
|
25
|
+
],
|
|
26
|
+
"homepage": "https://app.kimal3.de/pro",
|
|
27
|
+
"license": "SEE LICENSE IN README.md"
|
|
28
|
+
}
|
package/skill/SKILL.md
CHANGED
|
@@ -130,11 +130,10 @@ 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
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
sobald ihre Admin Pro hat.
|
|
133
|
+
📌 **`werkbank neu` (und `arbeitsplatz neu`) funktionieren für jedes angemeldete Konto — ohne Pro.**
|
|
134
|
+
Pro entscheidet nur darüber, ob der gemeinsame Firmenkontext (die Antworten, die der Firmen-Admin
|
|
135
|
+
gepflegt hat) im Ordner steht: Ohne Pro bekommt der Ordner den Firmennamen und die leeren Fragen,
|
|
136
|
+
mit Pro zusätzlich die Antworten.
|
|
138
137
|
|
|
139
138
|
**Was dabei entsteht:** ein Firmen-Ordner mit Regeln für Marke, Systeme und Sicherheit, darin
|
|
140
139
|
eine Werkbank zum Arbeiten und ein Beispiel-Projekt zum Ansehen. `werkbank neu` legt nur den
|
|
@@ -259,7 +258,7 @@ das Wissen der gewählten Firma **auf seine Platte**, `kontext hoch` schickt sei
|
|
|
259
258
|
die gewählte Firma** — dort sehen sie alle Kolleginnen und Kollegen. *Eine falsche Wahl ist
|
|
260
259
|
hier keine falsche Anzeige, sondern eine Datei am falschen Ort.*
|
|
261
260
|
|
|
262
|
-
⚠️ **Beide Befehle brauchen
|
|
261
|
+
⚠️ **Beide Befehle brauchen Pro — eigenes oder über die Firma** — ohne das
|
|
263
262
|
kommt Rückgabewert `4`, dann **nicht wiederholen**.
|
|
264
263
|
|
|
265
264
|
`kimal3 kontext hoch --ueberschreiben` erzwingt das Speichern, auch wenn die Firma inzwischen von
|
package/skill/en/SKILL.md
CHANGED
|
@@ -131,11 +131,10 @@ 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
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
its admin has Pro.
|
|
134
|
+
📌 **`workbench new` (and `workplace new`) work for every signed-in account — without Pro.**
|
|
135
|
+
Pro only decides whether the shared company context (the answers the company admin has
|
|
136
|
+
maintained) is in the folder: without Pro the folder gets the company name and the empty
|
|
137
|
+
questions, with Pro the answers as well.
|
|
139
138
|
|
|
140
139
|
**What this creates:** a company folder with rules for brand, systems and security, inside it a
|
|
141
140
|
workbench to work in and an example project to look at. `workbench new` only creates the second
|
|
@@ -257,7 +256,7 @@ company's knowledge **onto their disk**, `context upload` sends their texts **in
|
|
|
257
256
|
company** — where all their colleagues see them. *A wrong choice here is not a wrong display but a
|
|
258
257
|
file in the wrong place.*
|
|
259
258
|
|
|
260
|
-
⚠️ **
|
|
259
|
+
⚠️ **Both commands need Pro — their own or through their company** —
|
|
261
260
|
without it comes exit code `4`, then **do not retry**.
|
|
262
261
|
|
|
263
262
|
`kimal3 context upload --overwrite` forces the save, even if someone else has changed the company
|