Files
Learn_System/.claude/settings.json
T
Maxim Dolgolyov be4d43105e LearnSpace: full-stack educational whiteboard platform
Node.js/Express backend + vanilla JS frontend.
Features: real-time collaborative whiteboard (SSE), multi-page support,
LaTeX formulas, shapes/connectors, coordinate systems, number lines,
compass, zoom/pan, Catmull-Rom pencil smoothing, ruler/protractor with
rotation & resize controls, minimap navigation overlay, auto-measurements,
multi-page thumbnails sidebar, PNG export, page templates.
Student/teacher workflows: classes, assignments, library, dashboard.
Mobile responsive. SQLite (better-sqlite3).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:10:37 +03:00

175 lines
12 KiB
JSON

{
"permissions": {
"allow": [
"Bash(ast-index *)",
"Bash(node -e \"require\\(''./backend/src/controllers/sessionController.js''\\); console.log\\(''sessionController OK''\\)\")",
"Bash(node -e \"require\\(''./backend/src/controllers/courseController.js''\\); console.log\\(''courseController OK''\\)\")",
"Bash(node -e \"require\\(''''./backend/src/controllers/courseController.js''''\\); console.log\\(''''courseController OK''''\\)\")",
"Bash(node -e \"require\\(''''./backend/src/controllers/lessonController.js''''\\); console.log\\(''''lessonController OK''''\\)\")",
"Bash(node -e \"require\\(''''./backend/src/controllers/questionController.js''''\\); console.log\\(''''questionController OK''''\\)\")",
"Bash(node -e \"require\\(''''./backend/src/controllers/testController.js''''\\); console.log\\(''''testController OK''''\\)\")",
"Bash(node -e \":*)",
"Bash(grep -n \"case ''accordion''\" \"g:/Dev/Тесты/BQ-System/frontend/lesson-editor.html\")",
"Bash(grep -n \"case ''quote''\\\\|case ''checklist''\\\\|case ''button''\" \"g:/Dev/Тесты/BQ-System/frontend/lesson-editor.html\")",
"Bash(grep -n \"href=//theory\\\\|href=''''//theory''''\\\\|lesson-editor\\\\|editLesson\\\\|openEditor\" g:/Dev/Тесты/BQ-System/frontend/theory.html)",
"Bash(grep -v \"^.*://\\\\|//.*stat\")",
"Bash(ls \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
"Bash(wc -l g:/Dev/Тесты/BQ-System/frontend/*.html)",
"Bash(grep -rn \"= ''//\\\\|= \"\"//\\\\|href=\"\"//\\\\|href=''//\\\\|href = ''//\\\\|href = \"\"//\\\\|\\\\.href = ''//\" \"g:/Dev/Тесты/BQ-System/frontend/\")",
"Bash(grep -v \"http\\\\|https\\\\|cdn\\\\|fonts\\\\|googleapis\\\\|jsdelivr\\\\|://\\\\|comment\\\\|//\")",
"Bash(grep -rn //course g:/Dev/Тесты/BQ-System/)",
"WebFetch(domain:hoster.by)",
"WebFetch(domain:www.websiteplanet.com)",
"WebFetch(domain:hostings.info)",
"Bash(head -10 grep -n \"^const stmts\\\\|^const _stmts\\\\|= db.prepare\\\\|db\\\\.prepare\" \"g:/Dev/Тесты/BQ-System/backend/src/controllers/assignmentController.js\")",
"Bash(node -e \"require\\(''./src/controllers/gamificationController''\\)\")",
"Bash(node -e \"require\\(''./src/controllers/classController''\\)\")",
"Bash(grep -rn \"BQ\\\\.notif\\\\.init\\\\|notif\\\\.init\" g:/Dev/Тесты/BQ-System/frontend/ --include=*.html)",
"Bash(grep -rn \"connectSSE\\\\|EventSource\" g:/Dev/Тесты/BQ-System/frontend/ --include=*.html)",
"Bash(grep -rn \"notif-item\\\\|notif-dot\\\\|notif-msg\\\\|notif-time\\\\|notif-empty\\\\|notif-read-all\" g:/Dev/Тесты/BQ-System/frontend/ --include=*.html)",
"Bash(grep -l 'href=\"\"/lab\"\"' frontend/*.html)",
"Bash(grep -rn \"notifications.js\" frontend/*.html)",
"Read(//g/Dev/Тесты/BQ-System/**)",
"Bash(python -c \":*)",
"WebFetch(domain:www.npmjs.com)",
"WebFetch(domain:medium.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:github.com)",
"WebFetch(domain:saturncloud.io)",
"WebFetch(domain:neilagrawal.com)",
"WebFetch(domain:mitchum.blog)",
"Bash(node src/db/seed-theory-2.js)",
"Bash(ls g:/Dev/Тесты/BQ-System/backend/src/db/seed*)",
"Bash(grep -r \"three\\\\|Three\\\\|babylon\\\\|Babylon\\\\|cesium\\\\|Cesium\\\\|webgl\\\\|WebGL\" g:/Dev/Тесты/BQ-System/frontend --include=*.html --include=*.js)",
"Bash(node src/db/seed-red-book.js)",
"Bash(grep -n \"requireAuth\\\\|optionalAuth\" \"g:/Dev/Тесты/BQ-System/backend/src/routes/\"*.js)",
"Bash(node -e \"require\\(''''./src/server.js''''\\)\")",
"Bash(node:*)",
"Bash(grep -v \"Use \\\\`node\")",
"Bash(node -e \"const db=require\\(''''./src/db/db''''\\); db.prepare\\(''''SELECT id,name_ru,category FROM rb_species WHERE id>=63 ORDER BY id''''\\).all\\(\\).forEach\\(r=>console.log\\(r.id,r.category,r.name_ru\\)\\); console.log\\(''''---''''\\); db.prepare\\(''''SELECT id,title,xp_reward FROM rb_quests ORDER BY id''''\\).all\\(\\).forEach\\(r=>console.log\\(r.id,r.xp_reward,r.title\\)\\); console.log\\(''''---''''\\); console.log\\(''''Видов:'''',db.prepare\\(''''SELECT COUNT\\(*\\) as n FROM rb_species''''\\).get\\(\\).n,''''Квестов:'''',db.prepare\\(''''SELECT COUNT\\(*\\) as n FROM rb_quests''''\\).get\\(\\).n,''''Связей:'''',db.prepare\\(''''SELECT COUNT\\(*\\) as n FROM rb_food_web''''\\).get\\(\\).n\\);\")",
"Bash(grep -n \"BQ.api.*features\\\\|/api/features\" frontend/*.html)",
"Bash(grep -l \"sb-link\\\\|sb-nav\" \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
"Bash(python -c \"print\\(''hello''\\)\")",
"Bash(awk 'NR>=1180 && NR<=1200' backend/src/db/migrate.js)",
"Bash(awk 'NR>=1410 && NR<=1425' backend/src/db/migrate.js)",
"Bash(awk 'NR>=1465 && NR<=1490' backend/src/db/migrate.js)",
"Bash(node -e \"require\\(''''./backend/src/db/migrate''''\\)\")",
"Bash(ls g:/Dev/Тесты/BQ-System/frontend/biochem*.html)",
"Bash(grep -rn [😀-🙏🔬-🧪⚗️⚛️✓✗←→↑↓★☆✔✖👤🏫] g:/Dev/Тесты/BQ-System/frontend/ g:/Dev/Тесты/BQ-System/js/)",
"Bash(python /tmp/scan_emoji.py)",
"Bash(python scan_emoji.py)",
"Bash(python replace_emoji2.py)",
"Bash(find /g/Dev/Тесты/BQ-System/frontend -name \"*.html\" -exec head -5 {})",
"Bash(-print)",
"Bash(do echo:*)",
"Bash(head -15 grep -n \"bio-sidebar\\\\|bio-body\\\\|bio-panel\" \"g:/Dev/Тесты/BQ-System/frontend/biochem.html\")",
"Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/homework.html\")",
"Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/admin.html\")",
"Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/test-run.html\")",
"Bash(head -3 grep -n \"</style>\" \"g:/Dev/Тесты/BQ-System/frontend/flashcards.html\")",
"Bash(grep -l \"sb-foot\\\\|nav-user-chip\" \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
"Bash(grep -l \"sb-foot\" \"g:/Dev/Тесты/BQ-System/frontend/\"*.html)",
"Bash(ls -la frontend/biochem*.html)",
"Bash(find g:/Dev/Тесты/BQ-System/js -name *.js)",
"Read(//.pp-hint/|/**)",
"Bash(grep -n \"id === ''waves''\" g:/Dev/Тесты/BQ-System/frontend/lab.html)",
"Bash(ls g:/Dev/Тесты/BQ-System/frontend/*.html)",
"Bash(grep -v \"//.*toast\")",
"Bash(do ast-index:*)",
"Bash(grep -v \"^$\")",
"Bash(echo \"FILE: $f\")",
"Bash(do python3 -c \":*)",
"Bash(ast-index search:*)",
"Bash(chmod +x \"g:/Dev/Тесты/BQ-System/backend/scripts/backup.sh\")",
"Read(//BQ/.initPage/**)",
"Read(//showBoardIfAllowed/**)",
"Bash(node -e \"require\\(''express-rate-limit''\\)\")",
"Bash(find g:DevТестыBQ-System -name *.sql -type f)",
"Read(//g/Dev/**)",
"Bash(ls g:/Dev/Тесты/BQ-System/.env*)",
"Bash(docker --version)",
"Bash(curl -s https://api.ipify.org)",
"Bash(curl -s --connect-timeout 5 http://45.132.194.53:3000/api/health)",
"Bash(curl -s --connect-timeout 8 http://45.132.194.53:3000/api/health)",
"Bash(grep -n \"title>\" /g/Dev/Тесты/BQ-System/frontend/*.html)",
"Bash(mv bioquantum.db learnspace.db)",
"Bash(mv bioquantum.db-shm learnspace.db-shm)",
"Bash(mv bioquantum.db-wal learnspace.db-wal)",
"Bash(taskkill //F //IM node.exe)",
"Bash(taskkill /F /PID 72676)",
"Bash(cmd /c \"taskkill /F /PID 72676\")",
"Bash(cmd /c \"taskkill /F /PID 72676 2>&1\")",
"Bash(powershell -Command \"Stop-Process -Id 72676 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id \\(Get-NetTCPConnection -LocalPort 3000 -State Listen\\).OwningProcess -Force\")",
"Bash(findstr /n /i \"draw\" frontend/classroom.html)",
"Bash(findstr /i \"allow\\\\|perm\\\\|grant\\\\|toggle\\\\|_can\")",
"Bash(findstr /n \"canDraw\" frontend/classroom.html)",
"Bash(taskkill /F /PID 56144)",
"Bash(cmd /c \"taskkill /F /PID 56144\")",
"Bash(cmd /c \"taskkill /F /PID 56144 2>&1\")",
"Bash(powershell -Command \"Stop-Process -Id 56144 -Force\")",
"Bash(findstr \"LISTENING\")",
"Bash(curl -s -X POST http://localhost:3000/api/auth/login -H 'Content-Type: application/json' -d '{\"email\":\"123@123.by\",\"password\":\"123456\"}')",
"Bash(powershell -Command \"Get-Process -Id 13632 -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, MainWindowTitle\")",
"Bash(powershell -Command \"\\(Get-Process -Id 13632\\).Path\")",
"Bash(powershell -Command ':*)",
"Bash(curl -s http://localhost:3000/api/auth/login -X POST -H 'Content-Type: application/json' -d '{\"email\":\"admin@bq.local\",\"password\":\"123456\"}')",
"Bash(powershell -Command \"Stop-Process -Id 13632 -Force -ErrorAction SilentlyContinue\" sleep 1 cd \"g:/Dev/Тесты/BQ-System\")",
"Bash(powershell -Command \"Stop-Process -Id 13632 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id 11320 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id 44452 -Force\")",
"Bash(grep -rn \"function esc\\(s\\)\" frontend/*.html)",
"Bash(grep -rln \"Аналитика\\\\|Банк вопросов\\\\|Live-квиз\" frontend/*.html)",
"Bash(powershell -Command \"Stop-Process -Id 62712 -Force\")",
"Bash(findstr /i classroom)",
"Bash(powershell -Command \"Stop-Process -Id 71864 -Force\")",
"Bash(grep -n \"addClient\\\\|notifications/stream\" backend/src/controllers/*.js)",
"Bash(tasklist /FI \"IMAGENAME eq node.exe\")",
"Bash(taskkill /F /PID 24032)",
"Bash(powershell -Command \"Stop-Process -Id 24032 -Force -ErrorAction SilentlyContinue; Write-Output 'done'\")",
"Bash(ls frontend/gradebook*)",
"Bash(awk -F: '{print $1}')",
"Bash(npm --prefix backend run dev)",
"Bash(taskkill /PID 78248 /F)",
"Bash(cmd /c \"taskkill /PID 78248 /F\")",
"Bash(cmd /c \"taskkill /F /PID 78248\")",
"Bash(cmd /c \"taskkill /F /PID 78248 2>&1\")",
"Bash(powershell -Command \"Stop-Process -Id 78248 -Force -ErrorAction SilentlyContinue; Start-Sleep -Seconds 1; Get-Process -Id 78248 -ErrorAction SilentlyContinue\")",
"Bash(powershell -Command \"Get-NetTCPConnection -LocalPort 3000 -State Listen | Select-Object -ExpandProperty OwningProcess\")",
"Bash(powershell -Command \"Stop-Process -Id 45184 -Force\")",
"Bash(powershell -Command \"Start-Sleep 2; \\(Get-NetTCPConnection -LocalPort 3000 -State Listen -ErrorAction SilentlyContinue\\).OwningProcess\")",
"Read(//c/Users/Home/AppData/Local/Temp/**)",
"Bash(curl -s -I \"http://localhost:3000/js/api.js\")",
"Bash(curl -s \"http://localhost:3000/js/api.js\")",
"Bash(powershell -Command \"Stop-Process -Id 83740 -Force\")",
"Bash(powershell -Command \"\\(Get-NetTCPConnection -LocalPort 3000 -State Listen\\).OwningProcess\")",
"Bash(powershell -Command \"Get-Process -Id 57008 | Select-Object -ExpandProperty MainWindowTitle; \\(Get-WmiObject Win32_Process -Filter 'ProcessId=57008'\\).CommandLine\")",
"Bash(powershell -Command \"Stop-Process -Id 57008 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id 37516 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id 2764 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id 81936 -Force\")",
"Bash(powershell -Command \"Stop-Process -Id 40888 -Force\")",
"Bash(powershell -Command \"\\(Get-WmiObject Win32_Process -Filter 'ProcessId=69696'\\).CommandLine\")",
"Bash(curl -s \"http://localhost:3000/api/classroom/1/cursor\" -X POST -H \"Content-Type: application/json\" -d '{\"x\":0,\"y\":0}')",
"Bash(powershell -Command \"Stop-Process -Id 69696 -Force\")",
"Bash(powershell -Command \"Start-Sleep 1\")",
"Bash(powershell -Command \"\\(Get-NetTCPConnection -LocalPort 3000 -State Listen -ErrorAction SilentlyContinue\\).OwningProcess\")",
"Bash(powershell -Command \"Stop-Process -Id 10880 -Force\")"
],
"additionalDirectories": [
"\\tmp"
]
},
"enabledPlugins": {
"ast-index@ast-index": true
},
"extraKnownMarketplaces": {
"ast-index": {
"source": {
"source": "github",
"repo": "defendend/Claude-ast-index-search"
}
}
}
}