crewforth 3.0.4 → 3.1.0-rc.1
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/CHANGELOG.md +192 -0
- package/README.md +3 -3
- package/VERSION +1 -1
- package/adopt.sh +86 -34
- package/kit/CLAUDE.md +1 -1
- package/kit/README.md +1 -1
- package/kit/agents/crew-commit-agent.md +7 -3
- package/kit/agents/crew-frontend-expert.md +4 -4
- package/kit/agents/crew-performance-expert.md +1 -1
- package/kit/agents/crew-review-agent.md +1 -1
- package/kit/eval/doctor.sh +57 -3
- package/kit/eval/golden-routing.txt +13 -0
- package/kit/eval/lib/git-bash.sh +11 -2
- package/kit/eval/parser-conformance.sh +1 -0
- package/kit/eval/smoke-test.sh +2543 -373
- package/kit/hooks/commit-msg +1 -1
- package/kit/hooks/context-usage.sh +7 -1
- package/kit/hooks/guard-bash.sh +1545 -104
- package/kit/hooks/guard-commit-scan.sh +75 -19
- package/kit/hooks/guard-powershell.sh +65 -15
- package/kit/hooks/guard-write.sh +74 -22
- package/kit/hooks/no-bash-guard.ps1 +71 -0
- package/kit/hooks/pre-commit +5 -2
- package/kit/hooks/prompt-approval.sh +484 -0
- package/kit/hooks/route-hint.sh +13 -5
- package/kit/hooks/session-rehydrate.sh +18 -0
- package/kit/hooks/skill-trust.sh +17 -2
- package/kit/owned-blobs.tsv +43 -0
- package/kit/settings.json +20 -4
- package/kit/skills/a11y/SKILL.md +1 -0
- package/kit/skills/crew-doctor/SKILL.md +2 -2
- package/kit/skills/frontend/SKILL.md +3 -3
- package/kit/skills/frontend-flutter/SKILL.md +94 -0
- package/kit/skills/frontend-flutter/references/adaptive-and-accessible.md +55 -0
- package/kit/skills/frontend-flutter/references/platform-async-release.md +59 -0
- package/kit/skills/frontend-flutter/references/rebuilds-and-performance.md +36 -0
- package/kit/studio/server/hooks/studio-gate.sh +35 -1
- package/kit/studio/server/index.js +14 -4
- package/kit/studio/server/lib/graph.js +64 -3
- package/kit/studio/server/lib/kit.js +16 -2
- package/kit/studio/server/lib/permissions.js +77 -2
- package/kit/studio/server/lib/projects.js +60 -7
- package/kit/studio/server/lib/session.js +16 -2
- package/kit/studio/web/app.js +1765 -573
- package/kit/studio/web/approvals.js +124 -0
- package/kit/studio/web/canvas.js +932 -885
- package/kit/studio/web/chat.js +322 -145
- package/kit/studio/web/convo.js +174 -0
- package/kit/studio/web/dock.js +221 -0
- package/kit/studio/web/graph-plan.js +457 -0
- package/kit/studio/web/icons/builtin.svg +1 -0
- package/kit/studio/web/index.html +116 -50
- package/kit/studio/web/inspect.js +110 -0
- package/kit/studio/web/list-plan.js +112 -0
- package/kit/studio/web/list.js +157 -0
- package/kit/studio/web/liveness.js +66 -0
- package/kit/studio/web/nav.js +237 -0
- package/kit/studio/web/newsession.js +235 -0
- package/kit/studio/web/press.js +65 -0
- package/kit/studio/web/style.css +1281 -1014
- package/kit/studio/web/theme.js +43 -0
- package/kit/studio/web/timeline-plan.js +291 -0
- package/kit/studio/web/timeline.js +400 -0
- package/kit/studio/web/tokens.css +131 -0
- package/kit/studio/web/toolbar-fit.js +35 -0
- package/package.json +5 -4
|
@@ -23,6 +23,13 @@ the page layout is broken on mobile|frontend-design
|
|
|
23
23
|
requests are timing out under load|crew-performance-expert
|
|
24
24
|
add client routing to the app|crew-frontend-expert
|
|
25
25
|
add a new rn screen with expo router|frontend-rn-expo
|
|
26
|
+
# The Flutter layer answers to what only a Flutter project says: its tools, its files, its packages. A request that
|
|
27
|
+
# names Flutter itself goes to the frontend owner, who then applies this layer (agent over skill, as for any stack).
|
|
28
|
+
add a riverpod provider for the cart total|frontend-flutter
|
|
29
|
+
pubspec'e paket ekle ve go_router ile yeni rota tanımla|frontend-flutter
|
|
30
|
+
write a widget test for the login form|frontend-flutter
|
|
31
|
+
analysis_options.yaml uyarılarını temizle|frontend-flutter
|
|
32
|
+
write a flutter widget test for the login form|crew-frontend-expert
|
|
26
33
|
# The client side is stack-neutral (3.0.1): a mobile request on another stack goes to the frontend owner, never to
|
|
27
34
|
# the React Native layer. Turkish as typed in the field, and English.
|
|
28
35
|
flutter ekranı ekle|crew-frontend-expert
|
|
@@ -103,6 +110,12 @@ choose a database for this service|backend-architecture
|
|
|
103
110
|
flutter ekranı ekle|!frontend-rn-expo
|
|
104
111
|
add a SwiftUI view for the profile|!frontend-rn-expo
|
|
105
112
|
build a Jetpack Compose screen for settings|!frontend-rn-expo
|
|
113
|
+
# The Flutter layer must stay as quiet as the React Native one on another stack, and on the generic word "widget".
|
|
114
|
+
add a new rn screen with expo router|!frontend-flutter
|
|
115
|
+
add a SwiftUI view for the profile|!frontend-flutter
|
|
116
|
+
build a Jetpack Compose screen for settings|!frontend-flutter
|
|
117
|
+
add a home screen widget for iOS|!frontend-flutter
|
|
118
|
+
the dashboard widget overflows on small screens|!frontend-flutter
|
|
106
119
|
# Field case (3.0.1, P2 case A): a user handing work over to another team named the area in passing — the bare word
|
|
107
120
|
# "frontend" and a project called <x>_ui each routed it to the frontend skill. Turkish as it was typed, and in English.
|
|
108
121
|
acme_ui için yapılacak iş varsa aktarır mısın? frontend tarafından o sorumlu|!frontend
|
package/kit/eval/lib/git-bash.sh
CHANGED
|
@@ -40,16 +40,24 @@ _mt(){ local s="$1"; shift
|
|
|
40
40
|
'set CLAUDE_CODE_GIT_BASH_PATH to') s="CLAUDE_CODE_GIT_BASH_PATH'i şuna ayarlayın:" ;;
|
|
41
41
|
"Claude Code cannot find Git Bash — its hooks run under PowerShell and Crewforth's gates do not run") s="Claude Code Git Bash'i bulamıyor — hook'lar PowerShell altında koşuyor ve Crewforth'un kapıları çalışmıyor" ;;
|
|
42
42
|
'install Git for Windows in its default folder, or set CLAUDE_CODE_GIT_BASH_PATH to') s="Git for Windows'u varsayılan klasörüne kurun ya da CLAUDE_CODE_GIT_BASH_PATH'i şuna ayarlayın:" ;;
|
|
43
|
+
'then close the terminal and Claude Code and open them again — an open terminal keeps the old value') s="sonra terminali ve Claude Code'u kapatıp yeniden açın — açık bir terminal eski değeri taşır" ;;
|
|
43
44
|
*) [ -n "${CREW_I18N_MISS:-}" ] && printf '%s\n' "$s" >> "$CREW_I18N_MISS" ;;
|
|
44
45
|
esac
|
|
45
46
|
fi
|
|
46
47
|
printf -v _M "$s" "$@"; }
|
|
47
48
|
ok(){ _mt "$@"; echo " ✅ $_M"; }
|
|
48
|
-
warn(){ _mt "$@"; echo " ⚠️ $_M"; [ "$RC" = 0 ] && RC=3; }
|
|
49
|
+
warn(){ _mt "$@"; echo " ⚠️ $_M"; [ "$RC" = 0 ] && RC=3; ADVISED=1; }
|
|
49
50
|
skip(){ _mt "$@"; echo " · $_M"; RC=4; }
|
|
50
51
|
# bad MESSAGE FIX [arguments for MESSAGE]: the fix takes none; what follows it goes in BAD_TAIL, printed once.
|
|
51
52
|
bad(){ local _m="$1" _x="$2"; shift 2; _mt "$_m" "$@"; echo " ❌ $_M"; _mt "fix: "; local _f="$_M"; _mt "$_x"
|
|
52
|
-
echo " ↳ $_f$_M${BAD_TAIL:-}"; BAD_TAIL=""; RC=1; }
|
|
53
|
+
echo " ↳ $_f$_M${BAD_TAIL:-}"; BAD_TAIL=""; RC=1; ADVISED=1; }
|
|
54
|
+
# Every warning and failure here ends in "set CLAUDE_CODE_GIT_BASH_PATH" (or install Git). A process keeps the
|
|
55
|
+
# environment it started with, so a Claude Code restarted INSIDE the terminal that was open when the variable was
|
|
56
|
+
# changed still has the old value: in the field the fix was right and the proof came two rounds late. Said once,
|
|
57
|
+
# after whatever was advised.
|
|
58
|
+
ADVISED=0
|
|
59
|
+
reopen(){ [ "$ADVISED" = 1 ] || return 0
|
|
60
|
+
_mt 'then close the terminal and Claude Code and open them again — an open terminal keeps the old value'; echo " ↳ $_M"; }
|
|
53
61
|
|
|
54
62
|
case "$(uname -s 2>/dev/null)" in MINGW*|MSYS*|CYGWIN*)
|
|
55
63
|
if ! command -v cygpath >/dev/null 2>&1; then
|
|
@@ -114,6 +122,7 @@ GBEOF
|
|
|
114
122
|
"install Git for Windows in its default folder, or set CLAUDE_CODE_GIT_BASH_PATH to"
|
|
115
123
|
fi
|
|
116
124
|
fi
|
|
125
|
+
reopen
|
|
117
126
|
fi ;;
|
|
118
127
|
esac
|
|
119
128
|
exit "$RC"
|
|
@@ -222,6 +222,7 @@ fi
|
|
|
222
222
|
# slice against itself the moment the ladder disappears.
|
|
223
223
|
# ---------------------------------------------------------------------------------------------------------
|
|
224
224
|
{ echo '#!/usr/bin/env bash'; echo 'INPUT="$(cat)"'
|
|
225
|
+
awk '/^_json_find\(\)/{f=1} f{print} f&&/^}$/{exit}' "$HOOK"
|
|
225
226
|
awk '/^_json_slice\(\)/{f=1} f{print} f&&/^}$/{exit}' "$HOOK"
|
|
226
227
|
awk '/^_json_unescape\(\)/{f=1} f{print} f&&/^}$/{exit}' "$HOOK"
|
|
227
228
|
echo '_json_unescape "$(_json_slice "$INPUT" command)"'; } > "$W/dec.sh"
|