crewforth 3.2.0-rc.2 → 3.2.0-rc.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +118 -5
  2. package/README.md +2 -0
  3. package/VERSION +1 -1
  4. package/adopt.sh +10 -1
  5. package/bin/cli.js +3 -2
  6. package/kit/CLAUDE.md +3 -3
  7. package/kit/agents/crew-commit-agent.md +6 -4
  8. package/kit/agents/crew-review-agent.md +2 -0
  9. package/kit/eval/doctor.sh +13 -2
  10. package/kit/eval/gate-report.sh +2 -0
  11. package/kit/eval/lib/crew-map/narrative.mjs +42 -8
  12. package/kit/eval/lib/crew-map/project.mjs +3 -2
  13. package/kit/eval/lib/crew-map/rules/tech.json +35 -0
  14. package/kit/eval/lib/crew-map/scan.mjs +56 -4
  15. package/kit/eval/lib/crew-map/stacks.mjs +114 -8
  16. package/kit/eval/lib/crew-map/surface.mjs +62 -1
  17. package/kit/eval/lib/gate-log.sh +52 -0
  18. package/kit/eval/lib/json-string.awk +27 -0
  19. package/kit/eval/lib/preset.sh +109 -0
  20. package/kit/eval/lib/presets/default.json +7 -0
  21. package/kit/eval/lib/presets/solo.json +7 -0
  22. package/kit/eval/lib/presets/strict.json +11 -0
  23. package/kit/eval/lib/preview.sh +150 -0
  24. package/kit/eval/lib/review-bench/bench.mjs +273 -0
  25. package/kit/eval/lib/review-prepass/prepass.mjs +203 -0
  26. package/kit/eval/lib/review-prepass/prepass.sh +23 -0
  27. package/kit/eval/lib/settings-json.awk +4 -0
  28. package/kit/eval/lib/statusline.sh +1 -1
  29. package/kit/eval/lib/verify-cmd.sh +17 -0
  30. package/kit/eval/review-bench.sh +26 -0
  31. package/kit/eval/smoke-test.sh +208 -21
  32. package/kit/hooks/agent-outcome.sh +18 -0
  33. package/kit/hooks/board-sync.sh +2 -23
  34. package/kit/hooks/guard-agent-model.sh +72 -26
  35. package/kit/hooks/guard-bash.sh +49 -34
  36. package/kit/hooks/guard-write.sh +3 -7
  37. package/kit/hooks/precompact-snapshot.sh +75 -0
  38. package/kit/hooks/prompt-approval.sh +21 -0
  39. package/kit/hooks/session-rehydrate.sh +25 -2
  40. package/kit/hooks/trace-blocklist.txt +9 -0
  41. package/kit/settings.json +12 -0
  42. package/kit/skills/crew-code-review/SKILL.md +16 -0
  43. package/kit/skills/crew-map/SKILL.md +16 -5
  44. package/kit/skills/crew-review/SKILL.md +2 -1
  45. package/kit/skills/crew-ship/SKILL.md +3 -1
  46. package/kit/studio/README.md +21 -10
  47. package/kit/studio/server/index.js +74 -22
  48. package/kit/studio/server/lib/graph.js +9 -1
  49. package/kit/studio/server/lib/kit-telemetry.js +30 -5
  50. package/kit/studio/server/lib/lan.js +87 -0
  51. package/kit/studio/server/lib/redact.js +60 -0
  52. package/kit/studio/server/lib/remote.js +104 -18
  53. package/kit/studio/server/lib/session.js +1 -1
  54. package/kit/studio/server/lib/terminal.js +51 -13
  55. package/kit/studio/server/lib/transcript.js +32 -0
  56. package/kit/studio/web/app.js +69 -7
  57. package/kit/studio/web/canvas.js +14 -2
  58. package/kit/studio/web/chat.js +32 -7
  59. package/kit/studio/web/graph-plan.js +3 -2
  60. package/kit/studio/web/map-plan.js +72 -3
  61. package/kit/studio/web/map.js +103 -10
  62. package/kit/studio/web/qr.js +200 -0
  63. package/kit/studio/web/style.css +34 -0
  64. package/kit/studio/web/tokens.css +6 -0
  65. package/package.json +1 -1
  66. package/start.sh +14 -1
package/start.sh CHANGED
@@ -191,6 +191,8 @@ Crewforth her zaman eksiksiz kurulur: tüm ajanlar ve skill'ler — backend, web
191
191
  (CLAUDE.md ## Stack ya da depo). React Native/Expo, hazır isteğe bağlı katmanlardan yalnız biridir.
192
192
  --backend | --frontend | --mobile | --fullstack hâlâ kabul edilir ama etkisi yok (eski komutlar bozulmasın diye)
193
193
  --private | --shared kurulum yalnızca sizin mi, yoksa ekiple paylaşılıp commit'lenecek mi? (varsayılan: private)
194
+ --preset <ad|dosya> bir kurum preset'i uygula: kritik yollar, model tabanları, izinli verify komutları
195
+ (gelenler: default, strict, solo; ya da kendi .json dosyanız)
194
196
  --lang tr|en kurulum dili (verilmezse sihirbaz sorar)
195
197
  --yes, -y tüm sorulara evet de (gözetimsiz kurulum)
196
198
  --version, -v Crewforth sürümünü yazdırıp çık
@@ -209,6 +211,8 @@ Every install ships everything: all agents, all skills — backend, web and mobi
209
211
  (CLAUDE.md ## Stack, or the repo). React Native/Expo is only one of the optional ready-made layers.
210
212
  --backend | --frontend | --mobile | --fullstack accepted, no effect (kept so older commands still run)
211
213
  --private | --shared is the install yours alone, or committed for the team? (default: private)
214
+ --preset <name|file> apply an organisation preset: critical paths, model floors, allowed verify commands
215
+ (shipped: default, strict, solo; or a .json file of your own)
212
216
  --lang tr|en installer language (asked interactively when not given)
213
217
  --yes, -y answer every question with yes (unattended install)
214
218
  --version, -v print the Crewforth version and exit
@@ -432,9 +436,13 @@ case "$CREW_LANG" in tr|en) ;; *) CREW_LANG=en ;; esac
432
436
  # choice made by --lang or the menu above stayed in this shell, and the preflight block printed English.
433
437
  export CREW_LANG
434
438
 
435
- STACK="generic"; DOTNET_FLAG=0; LEGACY_FLAGS=""; ASSUME_YES=0; VISIBILITY=""
439
+ STACK="generic"; DOTNET_FLAG=0; LEGACY_FLAGS=""; ASSUME_YES=0; VISIBILITY=""; PRESET=""; _preset_take=0
436
440
  for a in "$@"; do
441
+ # `--preset NAME`: the next word is its value, whatever it looks like (`--preset strict`, `--preset ./org.json`).
442
+ if [ "$_preset_take" = 1 ]; then _preset_take=0; PRESET="$a"; continue; fi
437
443
  case "$a" in
444
+ --preset=*) PRESET="${a#--preset=}" ;;
445
+ --preset) _preset_take=1 ;;
438
446
  --lang) ;; # value consumed in the language pass above
439
447
  --lang=*) ;;
440
448
  tr|en) ;; # the value of a separated --lang
@@ -448,6 +456,9 @@ for a in "$@"; do
448
456
  *) printf '%s\n' "$(m 'Unknown parameter: %s' "$a")"; echo; usage; exit 1 ;;
449
457
  esac
450
458
  done
459
+ [ "$_preset_take" = 1 ] && { printf '%s\n' "$(m 'Unknown parameter: %s' "--preset (no value)")"; echo; usage; exit 1; }
460
+ # A preset is checked before anything is installed: one that is not valid stops here, with nothing written.
461
+ if [ -n "$PRESET" ]; then bash "$SRC/eval/lib/preset.sh" --check "$PRESET" || exit 1; fi
451
462
 
452
463
  # ===================== COLOR / STYLE HELPERS =====================
453
464
  # Color is emitted ONLY on an interactive TTY + TERM!=dumb + NO_COLOR empty.
@@ -689,6 +700,8 @@ cp "$SRC/README.md" .claude/ 2>/dev/null || true
689
700
  # as if somebody had chosen it. --lang, CREW_LANG and the menu are choices, and are.
690
701
  [ "${_LANG_GUESSED:-0}" = 1 ] || echo "lang=${CREW_LANG:-en}"
691
702
  } > .claude/kit.conf
703
+ # The organisation's preset, now that .claude/ is in place (checked above): a block at the top of crew-model-rules.
704
+ if [ -n "$PRESET" ]; then bash .claude/eval/lib/preset.sh --apply "$PRESET" || exit 1; fi
692
705
 
693
706
  # Discipline (kit-owned, refreshed on every update) vs project section (yours, written once), joined by @import.
694
707
  kit_require_sentinel "$SRC/CLAUDE.md"