{ "permissions": { "allow": [ "Bash(npm test:*)", "Read(//Users/antialias/projects/**)", "Bash(npm run lint:*)", "Bash(git add:*)", "Bash(git commit:*)", "Bash(git push:*)", "Bash(git pull:*)", "Bash(git stash:*)", "Bash(npm run format:*)", "Bash(npm run pre-commit:*)", "Bash(npm run type-check:*)", "Bash(npm run build:*)", "Bash(docker ps:*)", "Bash(cat:*)", "Bash(npm run dev:*)", "Bash(git mv:*)", "Bash(git rm:*)", "Bash(docker build:*)", "Read(//Users/antialias/**)", "Bash(docker logs:*)", "Bash(curl:*)", "Bash(docker stop:*)", "Bash(docker rm:*)", "Bash(docker run:*)", "Bash(docker rmi:*)", "Bash(gh run list:*)", "Bash(gh run view:*)", "Bash(timeout 15 pnpm run dev:*)", "Bash(npx tsc:*)", "Bash(npx biome format:*)", "Bash(npx biome check:*)", "Bash(npx @biomejs/biome lint:*)", "Bash(test -f /Users/antialias/projects/soroban-abacus-flashcards/apps/web/src/hooks/__tests__/useArcadeGuard.test.ts)", "Bash(timeout 30 npm test -- AddPlayerButton.popover-persistence.test.tsx --run)", "Bash(timeout 30 npm test:*)", "Bash(xargs:*)", "Bash(for file in page.tsx practice/page.tsx sprint/page.tsx survival/page.tsx)", "Bash(do)", "Bash(done)", "Bash(npx playwright test:*)", "Bash(npm run:*)", "Bash(\"\")", "Bash(npx @biomejs/biome check:*)", "Bash(printf '\\n')", "Bash(npm install bcryptjs)", "Bash(npm install:*)", "Bash(pnpm add:*)", "Bash(sqlite3:*)", "Bash(shasum:*)", "Bash(awk:*)", "Bash(if npx tsc --noEmit)", "Bash(then echo \"TypeScript errors found in our files\")", "Bash(else echo \"✓ No TypeScript errors in our modified files\")", "Bash(fi)", "Bash(then echo \"TypeScript errors found\")", "Bash(else echo \"✓ No TypeScript errors in join page\")", "Bash(npx @biomejs/biome format:*)", "Bash(npx drizzle-kit generate:*)", "Bash(ssh nas.home.network \"docker ps | grep -E ''soroban|abaci|web''\")", "Bash(ssh:*)", "Bash(printf \"\\n\\n\")", "Bash(timeout 10 npx drizzle-kit generate:*)", "Bash(git checkout:*)", "Bash(git log:*)", "Bash(python3:*)", "Bash(git reset:*)", "Bash(lsof:*)", "Bash(killall:*)", "Bash(echo:*)", "Bash(git restore:*)", "Bash(timeout 10 npm run dev:*)", "Bash(timeout 30 npm run dev)", "Bash(pkill:*)", "Bash(for i in {1..30})", "Bash(do gh run list --limit 1 --json conclusion,status,name,databaseId --jq '.[0] | \"\"\\(.status) - \\(.conclusion // \"\"running\"\") - Run ID: \\(.databaseId)\"\"')", "Bash(tsc:*)", "Bash(tsc-alias:*)", "Bash(npx tsc-alias:*)", "Bash(timeout 20 pnpm run:*)", "Bash(find:*)", "Bash(for:*)", "Bash(tree:*)", "Bash(do sed -i '' \"s|from ''../context/MemoryPairsContext''|from ''../Provider''|g\" \"$file\")", "Bash(do sed -i '' \"s|from ''../../../../../styled-system/css''|from ''@/styled-system/css''|g\" \"$file\")", "Bash(tee:*)", "Bash(do sed -i '' \"s|from ''@/styled-system/css''|from ''../../../../styled-system/css''|g\" \"$file\")", "Bash(do echo \"=== $game ===\" echo \"Required files:\" ls -1 src/arcade-games/$game/)", "Bash(do echo \"=== $game%/ ===\")", "Bash(ls:*)", "Bash(do if [ -f \"$file\" ])", "Bash(! echo \"$file\")", "Bash(then sed -i '' \"s|from ''''../context/ComplementRaceContext''''|from ''''@/arcade-games/complement-race/Provider''''|g\" \"$file\" sed -i '' \"s|from ''''../../context/ComplementRaceContext''''|from ''''@/arcade-games/complement-race/Provider''''|g\" \"$file\" fi done)", "Bash(pnpm install)", "Bash(pnpm exec turbo build --filter=@soroban/web)", "Bash(do gh run list --limit 1 --json conclusion,status,name,databaseId --jq '.[0] | \"\"\\(.status) - \\(.conclusion // \"\"running\"\")\"\"')", "Bash(do gh run list --limit 1 --json conclusion,status,name --jq '.[0] | \"\"\\(.status) - \\(.conclusion // \"\"running\"\") - \\(.name)\"\"')", "Bash(do gh run list --limit 1 --workflow=\"Build and Deploy\" --json conclusion,status --jq '.[0] | \"\"\\(.status) - \\(.conclusion // \"\"running\"\")\"\"')", "WebFetch(domain:abaci.one)", "Bash(do gh run list --limit 1 --workflow=\"Build and Deploy\" --json conclusion,status,databaseId --jq '.[0] | \"\"\\(.status) - \\(.conclusion // \"\"running\"\") - Run ID: \\(.databaseId)\"\"')", "Bash(node -e:*)", "Bash(do gh run list --limit 1 --workflow=\"Build and Deploy\" --json conclusion,status,databaseId --jq '.[0] | \"\"\\(.status) - \\(.conclusion // \"\"running\"\") - Run \\(.databaseId)\"\"')", "Bash(do ssh nas.home.network '/usr/local/bin/docker inspect soroban-abacus-flashcards --format=\"\"{{index .Config.Labels \\\"\"org.opencontainers.image.revision\\\"\"}}\"\"')", "Bash(git rev-parse HEAD)", "Bash(gh run watch --exit-status 18662351595)", "WebFetch(domain:github.com)", "WebSearch", "WebFetch(domain:www.npmjs.com)", "mcp__sqlite__list_tables", "mcp__sqlite__describe_table", "mcp__sqlite__read_query" ], "deny": [], "ask": [] }, "enableAllProjectMcpServers": true, "enabledMcpjsonServers": ["sqlite"] }