@harness-lab/cli 0.2.2 → 0.2.4
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 +6 -0
- package/assets/workshop-bundle/SKILL.md +22 -11
- package/assets/workshop-bundle/bundle-manifest.json +82 -22
- package/assets/workshop-bundle/content/challenge-cards/deck.md +3 -3
- package/assets/workshop-bundle/content/challenge-cards/locales/en/deck.md +38 -0
- package/assets/workshop-bundle/content/czech-editorial-review-checklist.md +88 -0
- package/assets/workshop-bundle/content/facilitation/master-guide.md +9 -9
- 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/style-examples.md +1 -1
- package/assets/workshop-bundle/content/style-guide.md +4 -2
- package/assets/workshop-bundle/content/talks/codex-demo-script.md +3 -3
- package/assets/workshop-bundle/content/talks/context-is-king.md +8 -8
- package/assets/workshop-bundle/docs/harness-cli-foundation.md +32 -1
- package/assets/workshop-bundle/docs/learner-reference-gallery.md +6 -6
- package/assets/workshop-bundle/docs/learner-resource-kit.md +20 -20
- 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/materials/locales/en/participant-resource-kit.md +72 -0
- package/assets/workshop-bundle/materials/participant-resource-kit.md +5 -5
- package/assets/workshop-bundle/workshop-blueprint/README.md +8 -1
- package/assets/workshop-bundle/workshop-skill/analyze-checklist.md +1 -1
- package/assets/workshop-bundle/workshop-skill/commands.md +7 -7
- package/assets/workshop-bundle/workshop-skill/facilitator.md +16 -6
- package/assets/workshop-bundle/workshop-skill/follow-up-package.md +1 -1
- package/assets/workshop-bundle/workshop-skill/install.md +6 -6
- 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/reference.md +12 -12
- package/assets/workshop-bundle/workshop-skill/setup.md +5 -5
- package/assets/workshop-bundle/workshop-skill/template-agents.md +4 -4
- package/package.json +2 -2
- package/src/workshop-bundle.js +26 -1
|
@@ -7,11 +7,11 @@ Do 10:30 potřebujete jednu funkční cestu do Codexu nebo pi. Ne perfektní set
|
|
|
7
7
|
První cíl po setupu není feature. Je to orientace:
|
|
8
8
|
|
|
9
9
|
- otevřít repo
|
|
10
|
-
- načíst
|
|
10
|
+
- načíst workshopové pokyny
|
|
11
11
|
- vytvořit krátké `AGENTS.md`
|
|
12
12
|
- pojmenovat první ověřitelný krok
|
|
13
13
|
|
|
14
|
-
Garantovaný
|
|
14
|
+
Garantovaný výchozí nástroj pro dnešek je `workshop` skill. Další workflow skills nebo externí toolkity jsou volitelné zrychlení, ne podmínka účasti.
|
|
15
15
|
|
|
16
16
|
## Nejrychlejší volba
|
|
17
17
|
|
|
@@ -61,13 +61,13 @@ npm install -g @mariozechner/pi-coding-agent
|
|
|
61
61
|
1. Spusťte `workshop` reference:
|
|
62
62
|
- Codex: `$workshop reference`
|
|
63
63
|
- pi: `/skill:workshop`, potom si řekněte o `reference`
|
|
64
|
-
- když chcete rychlý přehled skill
|
|
64
|
+
- když chcete rychlý přehled toho, co skill umí: `Codex: $workshop commands`
|
|
65
65
|
2. Otevřete brief:
|
|
66
66
|
- Codex: `$workshop brief`
|
|
67
67
|
- pi: `/skill:workshop`, potom si řekněte o `brief`
|
|
68
68
|
3. Doplňte krátké `AGENTS.md`:
|
|
69
69
|
- Codex: `$workshop template`
|
|
70
|
-
4. Pojmenujte první
|
|
70
|
+
4. Pojmenujte první bezpečný krok:
|
|
71
71
|
- ideálně přes `plan`, případně `brainstorm`, když scope ještě není jasný
|
|
72
72
|
5. Přidejte jeden executable check:
|
|
73
73
|
- RED test, tracer bullet nebo aspoň jasný review/checklist krok
|
|
@@ -81,4 +81,4 @@ npm install -g @mariozechner/pi-coding-agent
|
|
|
81
81
|
- Umíte otevřít repo.
|
|
82
82
|
- Umíte poslat prompt.
|
|
83
83
|
- Máte jednu funkční cestu, jak během workshopu pracovat s agentem.
|
|
84
|
-
- Víte, jaký je první
|
|
84
|
+
- Víte, jaký je první bezpečný krok v repu po setupu.
|
|
@@ -4,9 +4,9 @@ Použijte to jako krátkou mapu repa. Ne jako encyklopedii. Když detail patří
|
|
|
4
4
|
|
|
5
5
|
Nejdůležitější pravidlo:
|
|
6
6
|
- napište, kam má agent sáhnout jako první
|
|
7
|
-
- napište, co je
|
|
7
|
+
- napište, co je zdroj pravdy
|
|
8
8
|
- napište, jak se práce ověří
|
|
9
|
-
- když se text nafukuje, přidejte
|
|
9
|
+
- když se text nafukuje, přidejte navazující dokument a odkažte na něj
|
|
10
10
|
|
|
11
11
|
## Goal
|
|
12
12
|
|
|
@@ -18,7 +18,7 @@ Popiš, co má agent v tomto repozitáři vytvořit nebo udržovat.
|
|
|
18
18
|
- Rozhodnutí, která už padla
|
|
19
19
|
- Systémy nebo integrace, na které se navazuje
|
|
20
20
|
- Kam má agent sáhnout jako první
|
|
21
|
-
- Které docs nebo runbooky jsou
|
|
21
|
+
- Které docs nebo runbooky jsou zdroj pravdy
|
|
22
22
|
|
|
23
23
|
## Constraints
|
|
24
24
|
|
|
@@ -32,4 +32,4 @@ Popiš, co má agent v tomto repozitáři vytvořit nebo udržovat.
|
|
|
32
32
|
- Jak poznáme, že je práce hotová
|
|
33
33
|
- Jaké ověření musí proběhnout
|
|
34
34
|
- Jak má vypadat handoff pro dalšího člověka nebo agenta
|
|
35
|
-
- Jaký bude další
|
|
35
|
+
- Jaký bude další bezpečný krok, pokud práce zůstane rozdělaná
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harness-lab/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Participant-facing Harness Lab CLI for facilitator auth and workshop operations",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"ai-agents"
|
|
21
21
|
],
|
|
22
22
|
"engines": {
|
|
23
|
-
"node": "22
|
|
23
|
+
"node": ">=22"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|
package/src/workshop-bundle.js
CHANGED
|
@@ -21,8 +21,11 @@ const FILE_COPIES = [
|
|
|
21
21
|
["docs/workshop-event-context-contract.md", "docs/workshop-event-context-contract.md"],
|
|
22
22
|
["docs/harness-cli-foundation.md", "docs/harness-cli-foundation.md"],
|
|
23
23
|
["docs/learner-resource-kit.md", "docs/learner-resource-kit.md"],
|
|
24
|
+
["docs/locales/en/learner-resource-kit.md", "docs/locales/en/learner-resource-kit.md"],
|
|
24
25
|
["docs/learner-reference-gallery.md", "docs/learner-reference-gallery.md"],
|
|
26
|
+
["docs/locales/en/learner-reference-gallery.md", "docs/locales/en/learner-reference-gallery.md"],
|
|
25
27
|
["materials/participant-resource-kit.md", "materials/participant-resource-kit.md"],
|
|
28
|
+
["materials/locales/en/participant-resource-kit.md", "materials/locales/en/participant-resource-kit.md"],
|
|
26
29
|
];
|
|
27
30
|
|
|
28
31
|
export function getPackageRoot() {
|
|
@@ -60,7 +63,29 @@ export async function pathExists(targetPath) {
|
|
|
60
63
|
|
|
61
64
|
async function copyDirectoryTree(sourceRoot, targetRoot) {
|
|
62
65
|
for (const [sourceRelativePath, targetRelativePath] of DIRECTORY_COPIES) {
|
|
63
|
-
await
|
|
66
|
+
await copyDirectoryRecursive(
|
|
67
|
+
path.join(sourceRoot, sourceRelativePath),
|
|
68
|
+
path.join(targetRoot, targetRelativePath),
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async function copyDirectoryRecursive(sourcePath, targetPath) {
|
|
74
|
+
const entries = await fs.readdir(sourcePath, { withFileTypes: true });
|
|
75
|
+
await fs.mkdir(targetPath, { recursive: true });
|
|
76
|
+
|
|
77
|
+
for (const entry of entries) {
|
|
78
|
+
const sourceEntryPath = path.join(sourcePath, entry.name);
|
|
79
|
+
const targetEntryPath = path.join(targetPath, entry.name);
|
|
80
|
+
|
|
81
|
+
if (entry.isDirectory()) {
|
|
82
|
+
await copyDirectoryRecursive(sourceEntryPath, targetEntryPath);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (entry.isFile()) {
|
|
87
|
+
await fs.copyFile(sourceEntryPath, targetEntryPath);
|
|
88
|
+
}
|
|
64
89
|
}
|
|
65
90
|
}
|
|
66
91
|
|