267 lines
12 KiB
JSON
267 lines
12 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(mkdir:*)",
|
|
"Bash(chmod:*)",
|
|
"Bash(curl:*)",
|
|
"Bash(tar:*)",
|
|
"Bash(python3:*)",
|
|
"Bash(tree:*)",
|
|
"Bash(brew install:*)",
|
|
"Bash(./generate_samples.sh:*)",
|
|
"Bash(make:*)",
|
|
"Bash(git init:*)",
|
|
"Bash(git add:*)",
|
|
"Bash(git commit:*)",
|
|
"Bash(git reset:*)",
|
|
"Bash(qpdf:*)",
|
|
"Bash(git remote add:*)",
|
|
"Bash(git push:*)",
|
|
"Bash(pdftoppm:*)",
|
|
"Bash(python -m pytest tests/test_quiz_functionality.py -v)",
|
|
"Bash(python:*)",
|
|
"Bash(git restore:*)",
|
|
"Bash(open test_heaven_beads.html)",
|
|
"Bash(open test_scaling.html)",
|
|
"Read(//private/tmp/**)",
|
|
"Bash(open test_smart_input.html)",
|
|
"Bash(open test_matching.html)",
|
|
"Bash(open test_matching_with_indicators.html)",
|
|
"Bash(open test_matching_responsive.html)",
|
|
"Bash(open test_matching_final.html)",
|
|
"Bash(open test_matching_fully_responsive.html)",
|
|
"Bash(open test_matching_one_click.html)",
|
|
"Bash(open test_matching_two_player.html)",
|
|
"Bash(open test_player_indicators.html)",
|
|
"Bash(open test_countdown_timer.html)",
|
|
"Bash(open test_matched_card_deemphasis.html)",
|
|
"Bash(open test_all_fixes.html)",
|
|
"Bash(open test_print_behavior.html)",
|
|
"Bash(open test_pdf_generation.html)",
|
|
"Bash(open test_improved_print.html)",
|
|
"Bash(open ../test_improved_print.html)",
|
|
"Bash(open ../test_pdf_direct.html)",
|
|
"Bash(open ../test_print_fixed.html)",
|
|
"Bash(open ../test_sectioned_layout.html)",
|
|
"Bash(open ../test_beautiful_ui.html)",
|
|
"Bash(open ../test_tutorial_complete.html)",
|
|
"Bash(open ../test_arithmetic_complete.html)",
|
|
"Bash(open ../test_complete_guide.html)",
|
|
"Bash(open ../test_welcome_intro.html)",
|
|
"Bash(open ../test_prefix_conflicts.html)",
|
|
"Bash(open ../test_debug_prefix.html)",
|
|
"Bash(open ../test_memory_fix.html)",
|
|
"Bash(open ../test_complement_twins.html)",
|
|
"Bash(open test_complement_twins.html)",
|
|
"Bash(open test_particle_effects.html)",
|
|
"Bash(open test_adaptive_difficulty.html)",
|
|
"Bash(open ../test_memory_grid_hiding.html)",
|
|
"Bash(open ../test_memory_partial_hiding.html)",
|
|
"Bash(open test_achievement_system.html)",
|
|
"Bash(open test_polished_matching.html)",
|
|
"Bash(open test_fixed_matching_controls.html)",
|
|
"Bash(open test_complement_filtering.html)",
|
|
"Bash(open test_race_track.html)",
|
|
"Bash(open test_input_reliability.html)",
|
|
"Bash(open test_emergency_fix.html)",
|
|
"Bash(open test_timeout_config.html)",
|
|
"Bash(open test_medal_scoring.html)",
|
|
"Bash(open flashcards_en.html)",
|
|
"Bash(find:*)",
|
|
"Bash(open test_lightning_sprint.html)",
|
|
"Bash(open debug_tunnel_digging.html)",
|
|
"Bash(git stash:*)",
|
|
"Bash(git checkout:*)",
|
|
"Bash(open test_endrace_fix.html)",
|
|
"Bash(grep:*)",
|
|
"Bash(npx create-next-app:*)",
|
|
"Bash(pnpm install:*)",
|
|
"Bash(pnpm build:*)",
|
|
"Bash(pnpm --filter @soroban/core install)",
|
|
"Bash(pnpm --filter @soroban/core build)",
|
|
"Bash(pnpm --filter @soroban/client build)",
|
|
"Bash(pnpm panda:*)",
|
|
"Bash(pnpm turbo run:*)",
|
|
"Bash(pnpm --filter @soroban/web type-check)",
|
|
"Bash(sed:*)",
|
|
"Bash(pnpm type-check:*)",
|
|
"Bash(git bisect:*)",
|
|
"Bash(pnpm --filter @soroban/web dev)",
|
|
"Bash(pnpm --filter @soroban/web panda:*)",
|
|
"Bash(npx @pandacss/dev:*)",
|
|
"Bash(pnpm add:*)",
|
|
"Bash(pnpm:*)",
|
|
"WebFetch(domain:github.com)",
|
|
"Bash(node:*)",
|
|
"Read(//tmp/**)",
|
|
"Bash(open http://localhost:3000/test-typst)",
|
|
"Bash(open http://localhost:3001/test-typst)",
|
|
"WebFetch(domain:www.radix-ui.com)",
|
|
"Read(//Users/antialias/**)",
|
|
"Bash(turbo run:*)",
|
|
"Bash(npx turbo run:*)",
|
|
"Bash(open http://localhost:3003/guide)",
|
|
"Bash(open http://localhost:3000/games/memory-quiz)",
|
|
"Bash(open http://localhost:3002/tutorial-editor)",
|
|
"Bash(open http://localhost:3001/tutorial-editor)",
|
|
"Bash(timeout 30s pnpm test src/components/tutorial/__tests__/ReasonTooltip.provenance.test.tsx)",
|
|
"Bash(timeout 30s pnpm test src/components/tutorial/__tests__/ReasonTooltip.simple.test.tsx)",
|
|
"Bash(timeout:*)",
|
|
"Bash(open http://localhost:3002/games/memory-quiz)",
|
|
"Bash(open http://localhost:6009)",
|
|
"Bash(open http://localhost:3004/tutorial-editor)",
|
|
"Bash(open http://localhost:6008)",
|
|
"Bash(npm run gallery:*)",
|
|
"Bash(ssh:*)",
|
|
"Bash(open http://localhost:3000/games/matching)",
|
|
"Bash(docker build:*)",
|
|
"Bash(docker run:*)",
|
|
"WebSearch",
|
|
"Bash(docker logs:*)",
|
|
"Bash(docker rm:*)",
|
|
"Bash(open \"http://localhost:3001/games/matching\")",
|
|
"Bash(scp:*)",
|
|
"Bash(cat:*)",
|
|
"Bash(npm test:*)",
|
|
"Bash(gh run list:*)",
|
|
"Bash(gh run view:*)",
|
|
"Bash(nslookup:*)",
|
|
"Bash(docker stop:*)",
|
|
"Bash(open http://localhost:3000/games)",
|
|
"Bash(open http://localhost:3004/games)",
|
|
"Bash(npx tsc:*)",
|
|
"Bash(git rm:*)",
|
|
"Bash(git check-ignore:*)",
|
|
"Bash(open http://localhost:3002/arcade)",
|
|
"Bash(open http://localhost:3002/games)",
|
|
"Bash(open http://localhost:3000/arcade)",
|
|
"Bash(open http://localhost:3004/arcade)",
|
|
"Bash(open http://localhost:3005/arcade)",
|
|
"Bash(npx next lint:*)",
|
|
"Bash(npx next build:*)",
|
|
"Bash(git log:*)",
|
|
"Bash(gh run watch:*)",
|
|
"Bash(open http://localhost:3005/games/matching)",
|
|
"Bash(open test_fullscreen_persistence.html)",
|
|
"Bash(npx eslint:*)",
|
|
"Bash(npm run build:*)",
|
|
"Bash(awk:*)",
|
|
"Bash(gh release list:*)",
|
|
"Bash(gh release view:*)",
|
|
"Bash(git pull:*)",
|
|
"WebFetch(domain:antialias.github.io)",
|
|
"Bash(open http://localhost:3006/games/matching)",
|
|
"Bash(gh api:*)",
|
|
"Bash(npx playwright test:*)",
|
|
"Bash(open http://localhost:3001/games/matching)",
|
|
"Bash(open http://localhost:3001/games/memory-quiz)",
|
|
"Bash(open http://localhost:3002)",
|
|
"Bash(open \"data:text/html,<script>console.log(''Current localStorage:'', localStorage.getItem(''soroban-abacus-display-config'')); localStorage.setItem(''soroban-abacus-display-config'', JSON.stringify({colorScheme: ''place-value'', beadShape: ''diamond'', hideInactiveBeads: false, coloredNumerals: false, scaleFactor: 1.0, soundEnabled: true, soundVolume: 0.8})); console.log(''After test save:'', localStorage.getItem(''soroban-abacus-display-config''));</script><h1>Check browser console</h1>\")",
|
|
"Bash(npx playwright:*)",
|
|
"Bash(open \"data:text/html,<script>\nconsole.log(''Current localStorage:'', localStorage.getItem(''soroban-abacus-display-config'')); \nlocalStorage.setItem(''soroban-abacus-display-config'', JSON.stringify({\n colorScheme: ''place-value'', \n beadShape: ''diamond'', \n hideInactiveBeads: false, \n coloredNumerals: false, \n scaleFactor: 1.0, \n soundEnabled: true, \n soundVolume: 0.8\n})); \nconsole.log(''After test save:'', localStorage.getItem(''soroban-abacus-display-config''));\n</script><h1>Check browser console</h1>\")",
|
|
"Bash(xargs sed:*)",
|
|
"Bash(open http://localhost:3003/games/matching)",
|
|
"Bash(open http://localhost:3003/arcade/matching)",
|
|
"Bash(open http://localhost:3000)",
|
|
"Bash(open http://localhost:3003/games/memory-quiz)",
|
|
"Bash(open http://localhost:3001)",
|
|
"Bash(open http://localhost:3001/arcade)",
|
|
"Bash(open http://localhost:6006)",
|
|
"Bash(open http://localhost:3002/games/matching)",
|
|
"Bash(open http://localhost:3002/create)",
|
|
"Bash(open http://localhost:3002/games/complement-race/practice)",
|
|
"Bash(open http://localhost:3002/games/complement-race)",
|
|
"Bash(npx vitest run:*)",
|
|
"Bash(sqlite3:*)",
|
|
"Bash(NODE_ENV=development node server.js)",
|
|
"Bash(lsof:*)",
|
|
"Bash(xargs kill:*)",
|
|
"Bash(./test-arcade-api.sh:*)",
|
|
"Bash(pkill:*)",
|
|
"Bash(shasum:*)",
|
|
"Bash(open http://localhost:3000/arcade/matching)",
|
|
"Bash(echo:*)",
|
|
"Bash(npm run type-check:*)",
|
|
"mcp__sqlite__read_query",
|
|
"mcp__sqlite__list_tables",
|
|
"mcp__sqlite__describe_table",
|
|
"Bash(npm run format:*)",
|
|
"Bash(npm run lint:fix:*)",
|
|
"Bash(npm run lint:*)",
|
|
"Bash(npx drizzle-kit:*)",
|
|
"Bash(npm run db:migrate:*)",
|
|
"Bash(npm run pre-commit:*)",
|
|
"Bash(npm run seed:test-students:*)",
|
|
"Bash(npx @biomejs/biome lint:*)",
|
|
"Bash(npm run build:seed-script:*)",
|
|
"Bash(ls:*)",
|
|
"mcp__sqlite__write_query",
|
|
"Bash(apps/web/src/lib/curriculum/session-mode.ts )",
|
|
"Bash(apps/web/src/app/api/curriculum/[playerId]/session-mode/ )",
|
|
"Bash(apps/web/src/hooks/useSessionMode.ts )",
|
|
"Bash(apps/web/src/components/practice/SessionModeBanner.tsx )",
|
|
"Bash(apps/web/src/components/practice/SessionModeBanner.stories.tsx )",
|
|
"Bash(apps/web/src/components/practice/index.ts )",
|
|
"Bash(apps/web/src/app/practice/[studentId]/dashboard/DashboardClient.tsx )",
|
|
"Bash(apps/web/src/app/practice/[studentId]/summary/SummaryClient.tsx )",
|
|
"Bash(apps/web/src/components/practice/StartPracticeModal.tsx )",
|
|
"Bash(apps/web/src/components/practice/StartPracticeModal.stories.tsx)",
|
|
"Bash(apps/web/src/lib/curriculum/session-planner.ts )",
|
|
"Bash(apps/web/src/lib/curriculum/index.ts )",
|
|
"Bash(apps/web/src/app/api/curriculum/[playerId]/sessions/plans/route.ts )",
|
|
"Bash(apps/web/src/hooks/useSessionPlan.ts )",
|
|
"Bash(apps/web/src/components/practice/StartPracticeModal.tsx)",
|
|
"Bash(apps/web/.claude/REMEDIATION_CTA_PLAN.md)",
|
|
"Bash(npx @biomejs/biome:*)",
|
|
"Bash(apps/web/package.json )",
|
|
"Bash(pnpm-lock.yaml )",
|
|
"Bash(apps/web/src/components/practice/BannerSlots.tsx )",
|
|
"Bash(apps/web/src/components/practice/BannerSlots.stories.tsx )",
|
|
"Bash(apps/web/src/components/practice/ProjectingBanner.tsx )",
|
|
"Bash(apps/web/src/components/practice/ProjectingBanner.stories.tsx )",
|
|
"Bash(apps/web/src/components/practice/PracticeSubNav.tsx )",
|
|
"Bash(apps/web/src/contexts/SessionModeBannerContext.tsx )",
|
|
"Bash(apps/web/src/app/practice/[studentId]/summary/SummaryClient.tsx)",
|
|
"Bash(\"apps/web/src/app/practice/[studentId]/dashboard/DashboardClient.tsx\" )",
|
|
"Bash(apps/web/src/utils/__tests__/problemGenerator.budget.test.ts )",
|
|
"Bash(apps/web/src/utils/__tests__/problemGenerator.stateAware.test.ts )",
|
|
"Bash(apps/web/src/utils/__tests__/skillComplexity.test.ts )",
|
|
"Bash(apps/web/src/lib/curriculum/progress-manager.ts )",
|
|
"Bash(apps/web/src/lib/curriculum/config/complexity-budgets.ts )",
|
|
"Bash(apps/web/src/lib/curriculum/config/skill-costs.ts )",
|
|
"Bash(apps/web/src/lib/curriculum/config/bkt-integration.ts )",
|
|
"Bash(apps/web/src/app/api/curriculum/[playerId]/skills/route.ts )",
|
|
"Bash(apps/web/src/utils/skillComplexity.ts )",
|
|
"Bash(apps/web/src/test/journey-simulator/comprehensive-ab-test.test.ts )",
|
|
"Bash(apps/web/src/components/practice/TermSkillAnnotation.tsx )",
|
|
"Bash(apps/web/src/components/practice/DetailedProblemCard.tsx )",
|
|
"Bash(apps/web/src/db/schema/session-plans.ts)",
|
|
"Bash(\"apps/web/src/app/api/curriculum/[playerId]/skills/route.ts\" )",
|
|
"Bash(npm run test:*)",
|
|
"Bash(\"apps/web/src/app/practice/[studentId]/placement-test/\" )",
|
|
"Bash(\"apps/web/src/app/practice/[studentId]/skills/SkillsClient.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/ManualSkillSelector.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/OfflineSessionForm.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/OfflineSessionForm.stories.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/PlacementTest.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/PlacementTest.stories.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/PracticeSubNav.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/ProgressDashboard.tsx\" )",
|
|
"Bash(\"apps/web/src/components/practice/ProgressDashboard.stories.tsx\" )",
|
|
"Bash(\"apps/web/src/lib/curriculum/placement-test.ts\" )",
|
|
"Bash(\"apps/web/src/test/journey-simulator/profiles/per-skill-deficiency.ts\")",
|
|
"Bash(mcp__sqlite__read_query:*)",
|
|
"Bash(mcp__sqlite__describe_table:*)",
|
|
"Bash(git diff:*)",
|
|
"Bash(git show:*)",
|
|
"Bash(npx tsx:*)"
|
|
],
|
|
"deny": [],
|
|
"ask": []
|
|
},
|
|
"enableAllProjectMcpServers": true,
|
|
"enabledMcpjsonServers": [
|
|
"sqlite"
|
|
]
|
|
}
|