@harness-lab/cli 0.2.1 → 0.2.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/README.md +15 -5
- package/assets/workshop-bundle/SKILL.md +306 -0
- package/assets/workshop-bundle/bundle-manifest.json +232 -0
- package/assets/workshop-bundle/content/challenge-cards/.gitkeep +0 -0
- package/assets/workshop-bundle/content/challenge-cards/deck.md +38 -0
- package/assets/workshop-bundle/content/challenge-cards/locales/en/deck.md +38 -0
- package/assets/workshop-bundle/content/challenge-cards/print-spec.md +28 -0
- package/assets/workshop-bundle/content/czech-editorial-review-checklist.md +88 -0
- package/assets/workshop-bundle/content/facilitation/.gitkeep +0 -0
- package/assets/workshop-bundle/content/facilitation/codex-setup-verification.md +54 -0
- package/assets/workshop-bundle/content/facilitation/master-guide.md +131 -0
- package/assets/workshop-bundle/content/project-briefs/.gitkeep +0 -0
- package/assets/workshop-bundle/content/project-briefs/code-review-helper.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/devtoolbox-cli.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/doc-generator.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/locales/en/code-review-helper.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/locales/en/devtoolbox-cli.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/locales/en/doc-generator.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/locales/en/metrics-dashboard.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/locales/en/standup-bot.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/metrics-dashboard.md +31 -0
- package/assets/workshop-bundle/content/project-briefs/standup-bot.md +31 -0
- package/assets/workshop-bundle/content/style-examples.md +127 -0
- package/assets/workshop-bundle/content/style-guide.md +108 -0
- package/assets/workshop-bundle/content/talks/.gitkeep +0 -0
- package/assets/workshop-bundle/content/talks/codex-demo-script.md +43 -0
- package/assets/workshop-bundle/content/talks/context-is-king.md +42 -0
- package/assets/workshop-bundle/docs/harness-cli-foundation.md +143 -0
- package/assets/workshop-bundle/docs/learner-reference-gallery.md +82 -0
- package/assets/workshop-bundle/docs/learner-resource-kit.md +126 -0
- package/assets/workshop-bundle/docs/locales/en/learner-reference-gallery.md +82 -0
- package/assets/workshop-bundle/docs/locales/en/learner-resource-kit.md +126 -0
- package/assets/workshop-bundle/docs/workshop-event-context-contract.md +123 -0
- package/assets/workshop-bundle/materials/locales/en/participant-resource-kit.md +72 -0
- package/assets/workshop-bundle/materials/participant-resource-kit.md +72 -0
- package/assets/workshop-bundle/workshop-blueprint/README.md +55 -0
- package/assets/workshop-bundle/workshop-blueprint/agenda.json +70 -0
- package/assets/workshop-bundle/workshop-blueprint/control-surfaces.md +101 -0
- package/assets/workshop-bundle/workshop-blueprint/day-structure.md +129 -0
- package/assets/workshop-bundle/workshop-blueprint/edit-boundaries.md +64 -0
- package/assets/workshop-bundle/workshop-blueprint/operator-guide.md +74 -0
- package/assets/workshop-bundle/workshop-blueprint/teaching-spine.md +134 -0
- package/assets/workshop-bundle/workshop-skill/.gitkeep +0 -0
- package/assets/workshop-bundle/workshop-skill/analyze-checklist.md +21 -0
- package/assets/workshop-bundle/workshop-skill/closing-skill.md +30 -0
- package/assets/workshop-bundle/workshop-skill/commands.md +44 -0
- package/assets/workshop-bundle/workshop-skill/facilitator.md +426 -0
- package/assets/workshop-bundle/workshop-skill/follow-up-package.md +35 -0
- package/assets/workshop-bundle/workshop-skill/install.md +58 -0
- package/assets/workshop-bundle/workshop-skill/locales/en/commands.md +44 -0
- package/assets/workshop-bundle/workshop-skill/locales/en/follow-up-package.md +35 -0
- package/assets/workshop-bundle/workshop-skill/locales/en/recap.md +22 -0
- package/assets/workshop-bundle/workshop-skill/locales/en/reference.md +80 -0
- package/assets/workshop-bundle/workshop-skill/locales/en/setup.md +84 -0
- package/assets/workshop-bundle/workshop-skill/recap.md +22 -0
- package/assets/workshop-bundle/workshop-skill/reference.md +80 -0
- package/assets/workshop-bundle/workshop-skill/setup.md +84 -0
- package/assets/workshop-bundle/workshop-skill/template-agents.md +35 -0
- package/package.json +8 -3
- package/src/run-cli.js +16 -9
- package/src/skill-install.js +98 -57
- package/src/workshop-bundle.js +236 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Czech Style Examples
|
|
2
|
+
|
|
3
|
+
## Do / Don't
|
|
4
|
+
|
|
5
|
+
### 1. Instrukce
|
|
6
|
+
|
|
7
|
+
Do:
|
|
8
|
+
|
|
9
|
+
- „Otevřete repozitář a nejdřív doplňte `AGENTS.md`.“
|
|
10
|
+
|
|
11
|
+
Don't:
|
|
12
|
+
|
|
13
|
+
- „V prvním kroku je vhodné provést vytvoření souboru `AGENTS.md`.“
|
|
14
|
+
|
|
15
|
+
### 2. Setup
|
|
16
|
+
|
|
17
|
+
Do:
|
|
18
|
+
|
|
19
|
+
- „Když se setup sekne, přejděte na Codex App nebo web fallback.“
|
|
20
|
+
|
|
21
|
+
Don't:
|
|
22
|
+
|
|
23
|
+
- „V případě komplikací v procesu instalace je možné využít alternativní variantu přístupu.“
|
|
24
|
+
|
|
25
|
+
### 3. Facilitation
|
|
26
|
+
|
|
27
|
+
Do:
|
|
28
|
+
|
|
29
|
+
- „Prvních 10 minut po rotaci jen čtěte a mapujte repo.“
|
|
30
|
+
|
|
31
|
+
Don't:
|
|
32
|
+
|
|
33
|
+
- „Po realizaci rotace doporučujeme zahájit aktivitu detailní analýzou repozitáře.“
|
|
34
|
+
|
|
35
|
+
### 4. Workshop framing
|
|
36
|
+
|
|
37
|
+
Do:
|
|
38
|
+
|
|
39
|
+
- „Dnes nejde o to být nejrychlejší. Jde o to předat práci tak, aby ji cizí tým dokázal převzít.“
|
|
40
|
+
|
|
41
|
+
Don't:
|
|
42
|
+
|
|
43
|
+
- „Hlavním cílem dnešního dne je maximalizace schopnosti efektivního předávání výstupů mezi týmy.“
|
|
44
|
+
|
|
45
|
+
### 5. Czech + English
|
|
46
|
+
|
|
47
|
+
Do:
|
|
48
|
+
|
|
49
|
+
- „Nejdřív spusťte `/plan`, potom implementujte malý krok a nakonec udělejte `/review`.“
|
|
50
|
+
|
|
51
|
+
Don't:
|
|
52
|
+
|
|
53
|
+
- „Nejdříve vytvořte plán, pak proveďte implementaci a následně zrevidujte změnu.“
|
|
54
|
+
|
|
55
|
+
Poznámka:
|
|
56
|
+
|
|
57
|
+
Tady je angličtina přirozenější, protože jde o konkrétní commands a workflow terms.
|
|
58
|
+
|
|
59
|
+
### 6. Technical explanation
|
|
60
|
+
|
|
61
|
+
Do:
|
|
62
|
+
|
|
63
|
+
- „Monitoring teď běží jako manuální MVP. Ondřej spustí scan repozitářů a z výsledku připraví intermezzo brief.“
|
|
64
|
+
|
|
65
|
+
Don't:
|
|
66
|
+
|
|
67
|
+
- „Monitoring je aktuálně realizován prostřednictvím minimální životaschopné verze manuálního typu.“
|
|
68
|
+
|
|
69
|
+
### 7. Briefs
|
|
70
|
+
|
|
71
|
+
Do:
|
|
72
|
+
|
|
73
|
+
- „Mock data jsou v pořádku, pokud workflow působí realisticky.“
|
|
74
|
+
|
|
75
|
+
Don't:
|
|
76
|
+
|
|
77
|
+
- „Použití simulovaných dat je akceptovatelné za předpokladu, že výsledný proces bude působit realisticky.“
|
|
78
|
+
|
|
79
|
+
### 8. Error / fallback messaging
|
|
80
|
+
|
|
81
|
+
Do:
|
|
82
|
+
|
|
83
|
+
- „Pokud vám nefunguje CLI, pokračujte přes App a neztrácejte dalších 20 minut.“
|
|
84
|
+
|
|
85
|
+
Don't:
|
|
86
|
+
|
|
87
|
+
- „V případě nefunkčnosti rozhraní příkazové řádky doporučujeme zvážit alternativní postup.“
|
|
88
|
+
|
|
89
|
+
## Approved English Terms
|
|
90
|
+
|
|
91
|
+
Tyto výrazy se v textech pro účastníky běžně nechávají v angličtině:
|
|
92
|
+
|
|
93
|
+
- `prompt`
|
|
94
|
+
- `review`
|
|
95
|
+
- `workflow`
|
|
96
|
+
- `skill`
|
|
97
|
+
- `runbook`
|
|
98
|
+
- `build`
|
|
99
|
+
- `deploy`
|
|
100
|
+
- `checkpoint`
|
|
101
|
+
- `fallback`
|
|
102
|
+
- `handoff`
|
|
103
|
+
- `CLI`
|
|
104
|
+
- `App`
|
|
105
|
+
- `repo`
|
|
106
|
+
- `README`
|
|
107
|
+
- `AGENTS.md`
|
|
108
|
+
- `Done When`
|
|
109
|
+
|
|
110
|
+
## Usually Better In Czech
|
|
111
|
+
|
|
112
|
+
Tyto části bývají lepší česky:
|
|
113
|
+
|
|
114
|
+
- cíle a instrukce
|
|
115
|
+
- facilitační věty
|
|
116
|
+
- reflexe a uzavírání
|
|
117
|
+
- vysvětlení, proč něco děláme
|
|
118
|
+
- očekávání a pravidla workshopu
|
|
119
|
+
|
|
120
|
+
## Rewrite Heuristic
|
|
121
|
+
|
|
122
|
+
Když text zní moc tvrdě přeloženě, uprav ho takto:
|
|
123
|
+
|
|
124
|
+
1. zkrať větu
|
|
125
|
+
2. vrať české sloveso do aktivního rodu
|
|
126
|
+
3. nech technický termín v angličtině
|
|
127
|
+
4. zkontroluj, že věta vede k akci
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Czech Voice & Style Guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Tento workshop mluví česky, ale přemýšlí jako moderní developerský tým. Cílem není přeložit celý obor do češtiny. Cílem je psát tak, aby český developer text pochopil napoprvé a zároveň měl pocit, že čte přirozený, profesionální a jazykově kultivovaný obsah.
|
|
6
|
+
|
|
7
|
+
## Core Principle
|
|
8
|
+
|
|
9
|
+
Preferujeme porozumění před doslovným překladem.
|
|
10
|
+
|
|
11
|
+
- čeština pro význam, instrukce, facilitaci a vysvětlení
|
|
12
|
+
- angličtina pro běžné technické termíny, commands, file names a tool names
|
|
13
|
+
|
|
14
|
+
## Tone of Voice
|
|
15
|
+
|
|
16
|
+
- Piš jako zkušený peer, ne jako marketér a ne jako školní učebnice.
|
|
17
|
+
- Buď věcný, klidný a praktický.
|
|
18
|
+
- Piš s energií, ale bez hype.
|
|
19
|
+
- Vysvětluj jasně, ale ne patronizujícím tónem.
|
|
20
|
+
- Preferuj přesnost a použitelnost před efektní formulací.
|
|
21
|
+
|
|
22
|
+
## Language Rules
|
|
23
|
+
|
|
24
|
+
- Základní jazyk je spisovná, přirozená čeština.
|
|
25
|
+
- Technické výrazy nech v angličtině, pokud jsou v developerské praxi běžnější než český ekvivalent.
|
|
26
|
+
- Nepřekládej násilně výrazy jako `prompt`, `review`, `workflow`, `skill`, `runbook`, `deploy`, `build`, `checkpoint`, `handoff`, `fallback`, `CLI`, `App`.
|
|
27
|
+
- Slash commands, file names, paths a config keys vždy nech v originále.
|
|
28
|
+
- Když je anglický termín méně samozřejmý, při prvním výskytu ho krátce ukotvi česky.
|
|
29
|
+
|
|
30
|
+
## Sentence Style
|
|
31
|
+
|
|
32
|
+
- Používej kratší věty.
|
|
33
|
+
- Preferuj aktivní rod.
|
|
34
|
+
- Piš konkrétní slovesa místo abstraktních obratů.
|
|
35
|
+
- Každý odstavec má mít jeden jasný účel.
|
|
36
|
+
- Když lze něco říct jednodušeji, zjednoduš to.
|
|
37
|
+
|
|
38
|
+
## What Good Looks Like
|
|
39
|
+
|
|
40
|
+
- „Nejdřív spusťte `/plan` a teprve potom začněte implementaci.“
|
|
41
|
+
- „Pokud se zaseknete déle než 7 minut, přejděte na fallback nebo pairing.“
|
|
42
|
+
- „Do 10:30 potřebujete mít jednu funkční cestu do Codexu.“
|
|
43
|
+
|
|
44
|
+
## What To Avoid
|
|
45
|
+
|
|
46
|
+
- korporátní omáčka
|
|
47
|
+
- doslovné kalky z angličtiny
|
|
48
|
+
- přehnaně akademický tón
|
|
49
|
+
- agresivní marketingový tón
|
|
50
|
+
- zbytečné vykřičníky
|
|
51
|
+
|
|
52
|
+
## Preferred Vocabulary
|
|
53
|
+
|
|
54
|
+
- `udělejte`
|
|
55
|
+
- `zkontrolujte`
|
|
56
|
+
- `spusťte`
|
|
57
|
+
- `doplňte`
|
|
58
|
+
- `ověřte`
|
|
59
|
+
- `pokračujte`
|
|
60
|
+
- `když se zaseknete`
|
|
61
|
+
|
|
62
|
+
## Avoid These Patterns
|
|
63
|
+
|
|
64
|
+
- „je žádoucí realizovat“
|
|
65
|
+
- „dochází k implementaci“
|
|
66
|
+
- „v rámci workshopu bude umožněno“
|
|
67
|
+
- „s cílem maximalizace efektivity“
|
|
68
|
+
- „využitím tohoto přístupu dosáhnete…“
|
|
69
|
+
|
|
70
|
+
## Czech + English Mixing Rule
|
|
71
|
+
|
|
72
|
+
Česká věta má zůstat česká, i když obsahuje anglické technické termíny.
|
|
73
|
+
|
|
74
|
+
Dobře:
|
|
75
|
+
|
|
76
|
+
- „Po rotaci si nejdřív přečtěte `README`, `AGENTS.md` a aktuální plan.“
|
|
77
|
+
- „Použijte `/review`, když chcete zkontrolovat větší změnu.“
|
|
78
|
+
|
|
79
|
+
Špatně:
|
|
80
|
+
|
|
81
|
+
- „Use `/plan` before coding, because it gives better context.“
|
|
82
|
+
- „V rámci challenge budete implementing a new workflow.“
|
|
83
|
+
|
|
84
|
+
## Formatting Rule
|
|
85
|
+
|
|
86
|
+
- Commands, file names, slash commands a literal terms piš v backticks.
|
|
87
|
+
- Nadpisy a běžný výklad piš normální češtinou.
|
|
88
|
+
- V textech pro účastníky nezahlcuj čtenáře dlouhými bloky textu.
|
|
89
|
+
|
|
90
|
+
## Audience Calibration
|
|
91
|
+
|
|
92
|
+
Workshop je pro developery. Nepiš, jako by publikum bylo netechnické.
|
|
93
|
+
|
|
94
|
+
- není nutné vysvětlovat běžné výrazy typu `repo`, `review`, `deploy`
|
|
95
|
+
- je vhodné vysvětlit nový koncept, pokud je specifický pro workshop
|
|
96
|
+
- když volíš mezi „přeložit“ a „zachovat známý termín“, preferuj známý termín
|
|
97
|
+
|
|
98
|
+
## Final Check Before Publishing
|
|
99
|
+
|
|
100
|
+
Před uložením textu pro účastníky si ověř:
|
|
101
|
+
|
|
102
|
+
1. Zní to jako přirozená čeština?
|
|
103
|
+
2. Pochopí to český developer napoprvé?
|
|
104
|
+
3. Nepřekládám něco, co má zůstat v angličtině?
|
|
105
|
+
4. Nezní to jako marketing nebo korporát?
|
|
106
|
+
5. Je z textu jasné, co má člověk udělat?
|
|
107
|
+
|
|
108
|
+
Pro finální workshop-ready revizi použijte i [`content/czech-editorial-review-checklist.md`](./czech-editorial-review-checklist.md).
|
|
File without changes
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Codex Demo Script
|
|
2
|
+
|
|
3
|
+
## Cíl
|
|
4
|
+
|
|
5
|
+
Jedna příběhová ukázka, ne seznam funkcí. Publikum má během 15 minut pochopit, jak vypadá dobrý workflow s agentem.
|
|
6
|
+
|
|
7
|
+
## Příběh
|
|
8
|
+
|
|
9
|
+
„Jsem vývojář, dostal jsem malý úkol a nechci být s agentem jen někdo, kdo zkouší další prompt. Chci postavit pracovní systém, který unese další iterace.“
|
|
10
|
+
|
|
11
|
+
## Flow
|
|
12
|
+
|
|
13
|
+
1. Otevři jednoduchý repozitář nebo sandbox projekt.
|
|
14
|
+
2. Ukaž, že bez kontextu agent rychle tápe.
|
|
15
|
+
3. Vytvoř `AGENTS.md` se 4 prvky:
|
|
16
|
+
- Goal
|
|
17
|
+
- Context
|
|
18
|
+
- Constraints
|
|
19
|
+
- Done When
|
|
20
|
+
4. Spusť `/plan`, aby agent rozpadl práci na kroky.
|
|
21
|
+
5. Nech agenta implementovat malý kus.
|
|
22
|
+
6. Spusť `/review` a ukaž, že kontrola je součást workflow, ne nouzová brzda na konci.
|
|
23
|
+
7. Krátce ukaž skill:
|
|
24
|
+
- instalovaný skill
|
|
25
|
+
- nebo jednoduchý command z workshop skillu
|
|
26
|
+
8. Zavři to větou:
|
|
27
|
+
- „Nástroj sám nestačí. Rozhoduje pracovní systém kolem něj.“
|
|
28
|
+
|
|
29
|
+
## Fallbacky
|
|
30
|
+
|
|
31
|
+
- Když nefunguje CLI: přejdi na Codex App
|
|
32
|
+
- Když nefunguje App: použij web fallback
|
|
33
|
+
- Když je demo pomalé: měj připravený repo snapshot po každém kroku
|
|
34
|
+
|
|
35
|
+
## Co explicitně neukazovat
|
|
36
|
+
|
|
37
|
+
- pět různých režimů práce
|
|
38
|
+
- složitou přehlídku funkcí
|
|
39
|
+
- dlouhé čekání na generování
|
|
40
|
+
|
|
41
|
+
## Pointa pro místnost
|
|
42
|
+
|
|
43
|
+
Nejde o to ukázat „kouzelný výsledek“. Jde o to ukázat, jak rychle roste kvalita, když přidáme kontext, plán a review.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Context is King
|
|
2
|
+
|
|
3
|
+
## Otevírací moment
|
|
4
|
+
|
|
5
|
+
Tento workshop skill i dashboard vznikly stejným způsobem, jakým dnes budeme pracovat my: s AI agentem, ale s důrazem na kontext. Nejde mi o prodej nástroje. Jde mi o to ukázat disciplínu, která z nástroje dělá použitelného spolupracovníka.
|
|
6
|
+
|
|
7
|
+
## Klíčová linka
|
|
8
|
+
|
|
9
|
+
Harness engineering je práce s instrukcemi, kontextem a workflow tak, aby agent dělal správné věci opakovaně a předvídatelně. Team lead přece neříká každých třicet sekund jednomu vývojáři, co má dělat. Staví systém, ve kterém tým funguje. A přesně tohle dnes budeme dělat pro agenty.
|
|
10
|
+
|
|
11
|
+
Moje hlavní věta pro dnešek:
|
|
12
|
+
|
|
13
|
+
> Neučíme se "lépe promptovat". Učíme se postavit repo a workflow, ve kterém agent i cizí tým dokážou bezpečně pokračovat.
|
|
14
|
+
|
|
15
|
+
## Mikro-cvičení
|
|
16
|
+
|
|
17
|
+
Všichni dostanou stejný malý úkol. Jedna varianta bude prompt blob. Druhá varianta bude krátké zadání se 4 prvky a s odkazem na kontext zapsaný v repu. Pak porovnáme výsledky. Nehledáme „nejhezčí prompt“. Hledáme způsob práce, který přenese záměr, omezení a kritéria hotovo i do dalšího kroku.
|
|
18
|
+
|
|
19
|
+
## Hlavní teze
|
|
20
|
+
|
|
21
|
+
- Kontext je páka, ne kosmetika.
|
|
22
|
+
- `AGENTS.md`, skills a runbooky jsou týmová infrastruktura.
|
|
23
|
+
- `AGENTS.md` nemá být encyklopedie. Má to být mapa, která ukáže, kam sáhnout dál.
|
|
24
|
+
- Co není v repu, neexistuje. Slack, ústní dovysvětlení a "to si pamatujeme" se při návaznosti rozpadají.
|
|
25
|
+
- Testy jsou hranice důvěry. Když agent pracuje samostatněji, musíte mnohem líp ověřovat, že udělal právě to, co jste chtěli.
|
|
26
|
+
- Jednoduché mantinely zrychlují práci. Agentovi pomáhá jasný build/test flow, viditelné hranice a předvídatelná struktura.
|
|
27
|
+
- U UI práce je výchozí pattern: agent exploration, potom repeatable browser test, potom lidské review.
|
|
28
|
+
- „Nech model jezdit v mém běžném přihlášeném browseru“ není výchozí doporučení. Bezpečnější je izolované lokální prostředí a jasné mantinely.
|
|
29
|
+
- RED → GREEN není s agenty pomalejší. Naopak často zlevňuje korekce, protože agent dostane přesnější mantinely.
|
|
30
|
+
- Úklid není bonus po workshopu. Když narazíte na opakující se chaos, je čas ho proměnit v lepší template, check nebo runbook.
|
|
31
|
+
- Odpolední návaznost prověří, jestli váš kontext funguje i bez vás.
|
|
32
|
+
|
|
33
|
+
## Co chci, aby si adoptovali
|
|
34
|
+
|
|
35
|
+
- Než začnu generovat další funkci, udělám z repa místo, kde se dá orientovat.
|
|
36
|
+
- Když řekneme nějaké pravidlo dvakrát nahlas, patří do repa.
|
|
37
|
+
- Když agent dělá víc, já musím lépe ověřovat.
|
|
38
|
+
- Handoff není závěr dne. Je to průběžná podmínka celé práce.
|
|
39
|
+
|
|
40
|
+
## Závěr
|
|
41
|
+
|
|
42
|
+
Odpoledne nezažijete jen to, že „AI někdy funguje a někdy ne“. Zažijete, jak moc výsledek závisí na kvalitě pracovního systému, který kolem agenta postavíte.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# `harness` CLI Foundation
|
|
2
|
+
|
|
3
|
+
This document defines the deliberately small v1 scope for the facilitator-side `harness` CLI.
|
|
4
|
+
|
|
5
|
+
## Current Repo Status
|
|
6
|
+
|
|
7
|
+
Current implementation in this repo:
|
|
8
|
+
|
|
9
|
+
- lives in the repository `harness-cli/` package and ships publicly as `@harness-lab/cli`
|
|
10
|
+
- distributes a portable participant workshop skill bundle through `harness skill install`
|
|
11
|
+
- covers `auth login/logout/status` plus `workshop status/create-instance/update-instance/prepare/remove-instance/archive/phase set`
|
|
12
|
+
- targets the existing shared dashboard facilitator APIs
|
|
13
|
+
- is tested for browser/device auth, local-dev Basic Auth fallback, and cookie-backed Neon bootstrap fallback
|
|
14
|
+
- stores sessions in a local file under `HARNESS_CLI_HOME` or `~/.harness` by default
|
|
15
|
+
- supports macOS Keychain, Windows Credential Manager, or Linux Secret Service as explicit storage overrides
|
|
16
|
+
- exposes dashboard-side device auth routes plus a facilitator approval page at `/admin/device`
|
|
17
|
+
|
|
18
|
+
Current npm release posture:
|
|
19
|
+
|
|
20
|
+
- participant-facing npm publication is supported through an explicit release workflow
|
|
21
|
+
- routine development still happens from this repository
|
|
22
|
+
- broader live-runtime manual validation against a deployed dashboard remains part of the first-release checklist
|
|
23
|
+
|
|
24
|
+
## Why The CLI Exists
|
|
25
|
+
|
|
26
|
+
The facilitator skill and any other local tooling need a privileged auth path, but raw facilitator credentials and long-lived session state should not live inside arbitrary skill state.
|
|
27
|
+
|
|
28
|
+
The CLI creates a narrower trust boundary:
|
|
29
|
+
|
|
30
|
+
- browser or device-based facilitator login
|
|
31
|
+
- local session storage
|
|
32
|
+
- short operational commands over the same runtime APIs used by the dashboard
|
|
33
|
+
|
|
34
|
+
## V1 Scope
|
|
35
|
+
|
|
36
|
+
Required commands:
|
|
37
|
+
|
|
38
|
+
- `harness auth login`
|
|
39
|
+
- `harness auth logout`
|
|
40
|
+
- `harness auth status`
|
|
41
|
+
- `harness workshop status`
|
|
42
|
+
- `harness workshop create-instance`
|
|
43
|
+
- `harness workshop update-instance`
|
|
44
|
+
- `harness workshop archive`
|
|
45
|
+
- `harness workshop prepare`
|
|
46
|
+
- `harness workshop remove-instance`
|
|
47
|
+
- `harness workshop phase set <phase-id>`
|
|
48
|
+
|
|
49
|
+
The CLI may also expose a thin authenticated request wrapper for facilitator skills.
|
|
50
|
+
|
|
51
|
+
## V1 Non-Goals
|
|
52
|
+
|
|
53
|
+
- participant teaching logic beyond portable skill distribution and install guidance
|
|
54
|
+
- replacing dashboard UX
|
|
55
|
+
- storing reusable workshop blueprint content
|
|
56
|
+
- becoming a second API surface with different nouns
|
|
57
|
+
- automatic publish-back of runtime edits into the repo
|
|
58
|
+
|
|
59
|
+
## Auth Model
|
|
60
|
+
|
|
61
|
+
Preferred interactive path:
|
|
62
|
+
|
|
63
|
+
1. facilitator starts `harness auth login`
|
|
64
|
+
2. CLI opens browser or emits a device-code style flow
|
|
65
|
+
3. dashboard auth/backend completes facilitator identity verification
|
|
66
|
+
4. CLI stores the resulting platform session material in local session storage
|
|
67
|
+
|
|
68
|
+
The facilitator skill should call the CLI for privileged operations instead of storing raw auth/session material itself.
|
|
69
|
+
|
|
70
|
+
Control model:
|
|
71
|
+
|
|
72
|
+
- skill invokes CLI
|
|
73
|
+
- CLI invokes shared protected dashboard APIs
|
|
74
|
+
- APIs enforce authz, validation, idempotency, and audit logging
|
|
75
|
+
|
|
76
|
+
Current auth layering:
|
|
77
|
+
|
|
78
|
+
- `harness auth login` authenticates the facilitator to the platform
|
|
79
|
+
- workshop commands then target a concrete workshop instance explicitly or through a default-selection rule
|
|
80
|
+
- instance grants are checked when a workshop is targeted, not during login bootstrap
|
|
81
|
+
|
|
82
|
+
Current target-selection order:
|
|
83
|
+
|
|
84
|
+
1. an explicit command or route instance id
|
|
85
|
+
2. the selected control-room instance in the dashboard
|
|
86
|
+
3. the deployment default `HARNESS_WORKSHOP_INSTANCE_ID`
|
|
87
|
+
4. a repository fallback only on surfaces that intentionally present a workspace-level default
|
|
88
|
+
|
|
89
|
+
Current command posture:
|
|
90
|
+
|
|
91
|
+
- explicit target required:
|
|
92
|
+
- `harness workshop update-instance <instance-id>`
|
|
93
|
+
- `harness workshop prepare <instance-id>`
|
|
94
|
+
- `harness workshop remove-instance <instance-id>`
|
|
95
|
+
- explicit target is the created resource:
|
|
96
|
+
- `harness workshop create-instance [<instance-id>]`
|
|
97
|
+
- deployment-default target:
|
|
98
|
+
- `harness workshop status`
|
|
99
|
+
- `harness workshop archive`
|
|
100
|
+
- `harness workshop phase set <phase-id>`
|
|
101
|
+
|
|
102
|
+
Current discoverability path:
|
|
103
|
+
|
|
104
|
+
- facilitators can inspect available workshop instances through the dashboard workspace view
|
|
105
|
+
- the same platform-scoped list lives behind the authenticated instances API surface at `/api/workshop/instances`
|
|
106
|
+
|
|
107
|
+
For the current facilitator lifecycle slice:
|
|
108
|
+
|
|
109
|
+
- `workshop status`, `create-instance`, `update-instance`, and `prepare` are brokered-session commands
|
|
110
|
+
- `workshop remove-instance` remains owner-only on the server
|
|
111
|
+
- facilitator `grant` and `revoke` remain a later step-up policy slice rather than part of this lifecycle command set
|
|
112
|
+
|
|
113
|
+
Current step-up posture:
|
|
114
|
+
|
|
115
|
+
- the existing CLI command set (`workshop status/archive/phase set`) may run on a valid brokered device session
|
|
116
|
+
- future higher-risk commands such as facilitator grant/revoke or destructive instance mutations should require a fresh browser approval window rather than silently reusing an older CLI session
|
|
117
|
+
|
|
118
|
+
## Session Storage Posture
|
|
119
|
+
|
|
120
|
+
Default storage backend:
|
|
121
|
+
|
|
122
|
+
- file-based storage under `HARNESS_CLI_HOME` or `~/.harness`
|
|
123
|
+
|
|
124
|
+
Optional storage backends:
|
|
125
|
+
|
|
126
|
+
- macOS Keychain
|
|
127
|
+
- Windows Credential Manager
|
|
128
|
+
- Linux Secret Service
|
|
129
|
+
|
|
130
|
+
The default should optimize for reliability and low-friction setup across facilitator machines. OS-native credential stores remain available through `HARNESS_SESSION_STORAGE` when a facilitator prefers them.
|
|
131
|
+
|
|
132
|
+
## Packaging Posture
|
|
133
|
+
|
|
134
|
+
V1 should optimize for cross-platform setup speed, not native-binary perfection.
|
|
135
|
+
|
|
136
|
+
Recommended posture:
|
|
137
|
+
|
|
138
|
+
- ship as a small Node-based CLI from this repository or its derived package
|
|
139
|
+
- support straightforward installation on macOS and Windows
|
|
140
|
+
- carry the portable public-safe workshop skill bundle needed for participant install
|
|
141
|
+
- keep the command surface stable enough that the facilitator skill can depend on it
|
|
142
|
+
|
|
143
|
+
If facilitator setup friction remains high, native single-file packaging can be evaluated later without changing the control model.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Learner Reference Gallery
|
|
2
|
+
|
|
3
|
+
Tohle je krátký seznam zdrojů pro účastníky po workshopu.
|
|
4
|
+
|
|
5
|
+
Pravidlo je jednoduché:
|
|
6
|
+
- nejdřív oficiální dokumentace
|
|
7
|
+
- potom několik silných veřejných repozitářů
|
|
8
|
+
- nakonec malý počet patternů přímo relevantních pro Harness Lab
|
|
9
|
+
|
|
10
|
+
Jakmile tato stránka začne připomínat „awesome list“, je moc dlouhá.
|
|
11
|
+
|
|
12
|
+
## Oficiální dokumentace
|
|
13
|
+
|
|
14
|
+
- [OpenAI Codex documentation](https://developers.openai.com/codex)
|
|
15
|
+
Použijte jako hlavní zdroj pro aktuální Codex workflow, skills, `AGENTS.md`, subagenty a bezpečnostní doporučení.
|
|
16
|
+
|
|
17
|
+
- [OpenAI Codex best practices](https://developers.openai.com/codex/learn/best-practices)
|
|
18
|
+
Nejlepší rychlý vstup pro to, jak Codex používat jako dlouhodobého spolupracovníka: kontext, `AGENTS.md`, review, verification, MCP a automatizace.
|
|
19
|
+
|
|
20
|
+
- [OpenAI Codex skills documentation](https://developers.openai.com/codex/skills)
|
|
21
|
+
Hodí se ve chvíli, kdy chcete z opakovaných promptů udělat znovupoužitelné skills zapsané přímo v repu.
|
|
22
|
+
|
|
23
|
+
- [OpenAI Codex plugins](https://developers.openai.com/codex/plugins)
|
|
24
|
+
Dobré pro pochopení, kdy v Codexu použít pluginy a marketplace místo samotných skills zapsaných v repu. Pro workshop je berte jako volitelný Codex akcelerátor, ne jako základní bootstrap.
|
|
25
|
+
|
|
26
|
+
- [OpenAI Codex build plugins](https://developers.openai.com/codex/plugins/build)
|
|
27
|
+
Hodí se maintainerům, když chtějí pochopit marketplace model, repo-local marketplace nebo balení skills, app integrací a MCP serverů do jednoho Codex balíčku.
|
|
28
|
+
|
|
29
|
+
- [OpenAI Codex workflows](https://developers.openai.com/codex/workflows)
|
|
30
|
+
Dobré pro převedení workshopových návyků do reálných projektových workflow.
|
|
31
|
+
|
|
32
|
+
- [OpenAI: Harness engineering: leveraging Codex in an agent-first world](https://openai.com/index/harness-engineering/)
|
|
33
|
+
Dobré pro pochopení, proč má být repo knowledge systémem záznamu a proč jsou plans, review a garbage collection součást engineering discipline, ne bonus navíc.
|
|
34
|
+
|
|
35
|
+
- [Next.js AI Coding Agents](https://nextjs.org/docs/app/guides/ai-agents)
|
|
36
|
+
Důležité hlavně pro Next.js projekty: ukazuje, proč mají agenti číst version-matched framework docs místo spoléhání na starší paměť modelu.
|
|
37
|
+
|
|
38
|
+
## Veřejné repozitáře
|
|
39
|
+
|
|
40
|
+
- [openai/codex](https://github.com/openai/codex)
|
|
41
|
+
Oficiální CLI repozitář a nejlepší kotva pro to, jak se samotný nástroj vyvíjí.
|
|
42
|
+
|
|
43
|
+
- [openai/skills](https://github.com/openai/skills)
|
|
44
|
+
Oficiální katalog skills a nejlepší reference pro to, jak vypadá Codex-native skill.
|
|
45
|
+
|
|
46
|
+
- [openai/codex-action](https://github.com/openai/codex-action)
|
|
47
|
+
Silný příklad úzké a bezpečné automatizace kolem Codexu v CI.
|
|
48
|
+
|
|
49
|
+
- [vercel-labs/skills](https://github.com/vercel-labs/skills)
|
|
50
|
+
Užitečné ve chvíli, kdy chcete skill packaging přenositelný napříč více coding agenty.
|
|
51
|
+
|
|
52
|
+
- [vercel-labs/agent-skills](https://github.com/vercel-labs/agent-skills)
|
|
53
|
+
Dobré příklady kvalitních a praktických skills, hlavně pro frontend a React práci.
|
|
54
|
+
|
|
55
|
+
## Volitelné workflow packs
|
|
56
|
+
|
|
57
|
+
- [EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin)
|
|
58
|
+
Silná volitelná volba pro lidi, kteří chtějí explicitní loop `brainstorm -> plan -> work -> review -> compound`. Repo dnes umí instalaci i pro Codex a pi, ale berte to jako akcelerátor nad workshop defaultem, ne jako nutný setup.
|
|
59
|
+
|
|
60
|
+
## Praktické patterny
|
|
61
|
+
|
|
62
|
+
- Začněte repo kontextem dřív, než začnete opakovat prompt.
|
|
63
|
+
V praxi: nejdřív přidejte `AGENTS.md`, build/test příkazy a konkrétní definici hotovo.
|
|
64
|
+
|
|
65
|
+
- Skills používejte pro opakované workflow, ne jako jednorázové chat makro.
|
|
66
|
+
Když se stejný task vrací napříč více sessions nebo repy, je to kandidát na skill.
|
|
67
|
+
|
|
68
|
+
- Pluginy a marketplace berte jako Codex-specific distribuční vrstvu, ne jako definici workshop metody.
|
|
69
|
+
Když něco učíme jako výchozí přístup v Harness Labu, mělo by to dávat smysl i mimo Codex. Plugin má smysl tam, kde skutečně přidává Codex integrace nebo pohodlnější distribuci.
|
|
70
|
+
|
|
71
|
+
- Testy, tracer bullets a checklisty berte jako hranici důvěry.
|
|
72
|
+
Čím víc autonomie agent dostane, tím méně stačí „rychle jsem projel diff“.
|
|
73
|
+
|
|
74
|
+
- Příklady pro účastníky držte menší než backstage systémy.
|
|
75
|
+
Dobrý learner artefakt je kopírovatelný a čitelný, ne vyčerpávající.
|
|
76
|
+
|
|
77
|
+
## Pravidlo čerstvosti
|
|
78
|
+
|
|
79
|
+
Tento seznam zrevidujte:
|
|
80
|
+
- před každým workshopovým během
|
|
81
|
+
- po větší změně Codex capabilities
|
|
82
|
+
- když doporučený repozitář zastará, začne být noisy nebo přestane být nejlepší ukázkou
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Learner Resource Kit
|
|
2
|
+
|
|
3
|
+
Tato stránka definuje účastnický kit zdrojů pro Harness Lab.
|
|
4
|
+
|
|
5
|
+
Je to malá, kopírovatelná část repa, kterou si mají účastníci odnést, projít a znovu použít ve vlastních projektech.
|
|
6
|
+
|
|
7
|
+
## Základní pravidlo
|
|
8
|
+
|
|
9
|
+
Learner kit není celý backstage workshopu.
|
|
10
|
+
|
|
11
|
+
Má odpovídat na otázky:
|
|
12
|
+
- co si mám z workshopu zkopírovat do vlastního repa?
|
|
13
|
+
- co má agent udělat jako první?
|
|
14
|
+
- jak zařídit, aby práce přežila handoff?
|
|
15
|
+
- co musím ověřit, než výsledku uvěřím?
|
|
16
|
+
|
|
17
|
+
Výchozí pracovní rytmus, který má learner kit posilovat, je:
|
|
18
|
+
- `workshop` pro orientaci
|
|
19
|
+
- `brainstorm` nebo `plan` před větším řezem
|
|
20
|
+
- `work` proti jednomu ověřitelnému cíli
|
|
21
|
+
- `review` před důvěrou
|
|
22
|
+
- `compound` a průběžný úklid pro věci, které mají přežít session
|
|
23
|
+
|
|
24
|
+
## Jádro learner kitu
|
|
25
|
+
|
|
26
|
+
### 1. Workshop skill
|
|
27
|
+
|
|
28
|
+
Hlavní rozhraní pro účastníky:
|
|
29
|
+
- [`SKILL.md`](../SKILL.md)
|
|
30
|
+
- [`workshop-skill/setup.md`](../workshop-skill/setup.md)
|
|
31
|
+
- [`workshop-skill/reference.md`](../workshop-skill/reference.md)
|
|
32
|
+
- [`workshop-skill/recap.md`](../workshop-skill/recap.md)
|
|
33
|
+
|
|
34
|
+
Proč sem patří:
|
|
35
|
+
- ukazuje, jak může skill pro účastníky vést setup, workflow i ověřování v češtině
|
|
36
|
+
- je to reálné rozhraní opřené o repo, ne workshopový slide artefakt
|
|
37
|
+
|
|
38
|
+
### 2. `AGENTS.md` příklad
|
|
39
|
+
|
|
40
|
+
Výchozí starter:
|
|
41
|
+
- [`workshop-skill/template-agents.md`](../workshop-skill/template-agents.md)
|
|
42
|
+
|
|
43
|
+
Proč sem patří:
|
|
44
|
+
- je to nejmenší znovupoužitelný příklad trvalého kontextu v repu
|
|
45
|
+
- účastníci ho mohou upravit přímo pro vlastní projekt
|
|
46
|
+
|
|
47
|
+
### 3. Příklad pro ověření a review
|
|
48
|
+
|
|
49
|
+
Výchozí checklist:
|
|
50
|
+
- [`workshop-skill/analyze-checklist.md`](../workshop-skill/analyze-checklist.md)
|
|
51
|
+
|
|
52
|
+
Proč sem patří:
|
|
53
|
+
- dává konkrétní standard pro otázku „dokáže odtud pokračovat další tým?“
|
|
54
|
+
- převádí kvalitu repa do checklistu, který jde opravdu projít
|
|
55
|
+
|
|
56
|
+
### 4. Challenge cards
|
|
57
|
+
|
|
58
|
+
Doporučený subset:
|
|
59
|
+
- [`content/challenge-cards/deck.md`](../content/challenge-cards/deck.md)
|
|
60
|
+
|
|
61
|
+
Použití:
|
|
62
|
+
- malé zásahy během workshopu
|
|
63
|
+
- nápověda, co zlepšit později v reálném repu
|
|
64
|
+
|
|
65
|
+
### 5. Follow-up package
|
|
66
|
+
|
|
67
|
+
Posílení po workshopu:
|
|
68
|
+
- [`workshop-skill/follow-up-package.md`](../workshop-skill/follow-up-package.md)
|
|
69
|
+
- [`materials/participant-resource-kit.md`](../materials/participant-resource-kit.md)
|
|
70
|
+
|
|
71
|
+
Proč sem patří:
|
|
72
|
+
- proměňuje workshop z jednodenní akce na opakovatelný impuls ke změně chování
|
|
73
|
+
- dává doslovný handout, který lze poslat nebo vytisknout bez dalšího vysvětlování
|
|
74
|
+
|
|
75
|
+
## Kdy který artefakt použít
|
|
76
|
+
|
|
77
|
+
### Během setupu
|
|
78
|
+
|
|
79
|
+
Použijte:
|
|
80
|
+
- [`workshop-skill/setup.md`](../workshop-skill/setup.md)
|
|
81
|
+
- [`workshop-skill/reference.md`](../workshop-skill/reference.md)
|
|
82
|
+
|
|
83
|
+
### Během build fáze 1
|
|
84
|
+
|
|
85
|
+
Použijte:
|
|
86
|
+
- [`workshop-skill/template-agents.md`](../workshop-skill/template-agents.md)
|
|
87
|
+
- karty `Context Engineering` v [`content/challenge-cards/deck.md`](../content/challenge-cards/deck.md)
|
|
88
|
+
|
|
89
|
+
### Během odpoledního převzetí
|
|
90
|
+
|
|
91
|
+
Použijte:
|
|
92
|
+
- [`workshop-skill/analyze-checklist.md`](../workshop-skill/analyze-checklist.md)
|
|
93
|
+
- karty `Workflow` v [`content/challenge-cards/deck.md`](../content/challenge-cards/deck.md)
|
|
94
|
+
|
|
95
|
+
### Po workshopu
|
|
96
|
+
|
|
97
|
+
Použijte:
|
|
98
|
+
- [`workshop-skill/recap.md`](../workshop-skill/recap.md)
|
|
99
|
+
- [`workshop-skill/follow-up-package.md`](../workshop-skill/follow-up-package.md)
|
|
100
|
+
- [`materials/participant-resource-kit.md`](../materials/participant-resource-kit.md)
|
|
101
|
+
- [`learner-reference-gallery.md`](learner-reference-gallery.md)
|
|
102
|
+
|
|
103
|
+
## Co si odnést do reálného projektu
|
|
104
|
+
|
|
105
|
+
Účastníci by měli odejít s těmito konkrétními kroky:
|
|
106
|
+
|
|
107
|
+
1. Přidejte `AGENTS.md` s částmi:
|
|
108
|
+
- goal
|
|
109
|
+
- context
|
|
110
|
+
- constraints
|
|
111
|
+
- done when
|
|
112
|
+
2. Do `context` napište, co má agent číst jako první a které docs jsou zdroj pravdy.
|
|
113
|
+
3. Do `done when` napište konkrétní ověření a další bezpečný krok, když práce zůstane rozdělaná.
|
|
114
|
+
4. Přidejte build/test příkazy, které zvládne spustit další tým nebo agent bez ústního dovysvětlení.
|
|
115
|
+
5. Přidejte jeden review nebo handoff checklist.
|
|
116
|
+
6. Přesuňte jedno trvalé pravidlo z chatu do repa.
|
|
117
|
+
7. Před větší implementací použijte plan a po větší změně review nebo check.
|
|
118
|
+
8. Když už používáte externí workflow skill pack, napojte ho až nad tento základ místo toho, abyste jím nahrazovali kontext zapsaný v repu a ověřování.
|
|
119
|
+
|
|
120
|
+
## Co sem nepatří
|
|
121
|
+
|
|
122
|
+
Learner kit nemá obsahovat plný backstage provozní detail, například:
|
|
123
|
+
- runbooky pro konkrétní workshop instance
|
|
124
|
+
- privátní runtime architekturu a operace
|
|
125
|
+
- monitoring nebo řídicí postupy jen pro facilitátory
|
|
126
|
+
- maintainer-level deployment a security postupy, pokud se zrovna neučí explicitně jako skill pro účastníky
|