@bis-code/study-dash 0.5.0 → 0.6.0

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 (50) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.mcp.json +2 -2
  3. package/hooks/hooks.json +1 -8
  4. package/package.json +2 -2
  5. package/rules/tutor-mode.md +12 -0
  6. package/server/dist/bundle.mjs +199 -45
  7. package/server/dist/dashboard/api.js +1 -1
  8. package/server/dist/dashboard/api.js.map +1 -1
  9. package/server/dist/languages.d.ts +23 -0
  10. package/server/dist/languages.js +89 -0
  11. package/server/dist/languages.js.map +1 -0
  12. package/server/dist/services/exercises.d.ts +4 -0
  13. package/server/dist/services/exercises.js +37 -40
  14. package/server/dist/services/exercises.js.map +1 -1
  15. package/server/dist/tools/curriculum.js +8 -0
  16. package/server/dist/tools/curriculum.js.map +1 -1
  17. package/server/dist/tools/exercises.js +62 -0
  18. package/server/dist/tools/exercises.js.map +1 -1
  19. package/server/package.json +1 -1
  20. package/server/start.sh +12 -0
  21. package/server/node_modules/better-sqlite3/LICENSE +0 -21
  22. package/server/node_modules/better-sqlite3/README.md +0 -99
  23. package/server/node_modules/better-sqlite3/binding.gyp +0 -38
  24. package/server/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  25. package/server/node_modules/better-sqlite3/deps/common.gypi +0 -68
  26. package/server/node_modules/better-sqlite3/deps/copy.js +0 -31
  27. package/server/node_modules/better-sqlite3/deps/defines.gypi +0 -41
  28. package/server/node_modules/better-sqlite3/deps/download.sh +0 -122
  29. package/server/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  30. package/server/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -261480
  31. package/server/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -13715
  32. package/server/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -719
  33. package/server/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  34. package/server/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  35. package/server/node_modules/better-sqlite3/lib/database.js +0 -90
  36. package/server/node_modules/better-sqlite3/lib/index.js +0 -3
  37. package/server/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  38. package/server/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  39. package/server/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  40. package/server/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  41. package/server/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  42. package/server/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  43. package/server/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  44. package/server/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  45. package/server/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  46. package/server/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  47. package/server/node_modules/better-sqlite3/lib/util.js +0 -12
  48. package/server/node_modules/better-sqlite3/package.json +0 -54
  49. package/server/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -2186
  50. package/server/node_modules/better-sqlite3/src/better_sqlite3.hpp +0 -1036
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "study-dash",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Structured learning on any subject with dashboard, Q&A logging, visualizations, exercises",
5
5
  "author": {
6
6
  "name": "Ioan-Sorin Baicoianu",
package/.mcp.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "mcpServers": {
3
3
  "study-dash": {
4
- "command": "node",
5
- "args": ["${CLAUDE_PLUGIN_ROOT}/server/dist/bundle.mjs"]
4
+ "command": "sh",
5
+ "args": ["${CLAUDE_PLUGIN_ROOT}/server/start.sh"]
6
6
  }
7
7
  }
8
8
  }
package/hooks/hooks.json CHANGED
@@ -1,18 +1,11 @@
1
1
  {
2
2
  "hooks": {
3
- "SessionStart": [{
4
- "matcher": "",
5
- "hooks": [{
6
- "type": "command",
7
- "command": "test -d \"${CLAUDE_PLUGIN_ROOT}/server/node_modules/better-sqlite3\" || npm install --prefix \"${CLAUDE_PLUGIN_ROOT}/server\" --silent 2>&1"
8
- }]
9
- }],
10
3
  "PostToolUse": [
11
4
  {
12
5
  "matcher": "learn_mark_done",
13
6
  "hooks": [{
14
7
  "type": "prompt",
15
- "prompt": "The user just completed a topic. Generate 2-3 exercises for this topic using learn_create_exercise. Include at least one coding exercise and one quiz. Match the difficulty to the topic content."
8
+ "prompt": "The user just completed a topic. Generate 2-3 exercises for this topic using learn_create_exercise. If the subject has a programming language, include at least one coding exercise (with starter_code and test_content following the language's conventions) and one quiz. If the subject has no language, create only quiz or assignment exercises. Match the difficulty to the topic content."
16
9
  }]
17
10
  },
18
11
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bis-code/study-dash",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Claude Code plugin for structured learning on any subject — dashboard, Q&A logging, visualizations, exercises",
5
5
  "license": "MIT",
6
6
  "author": "Ioan-Sorin Baicoianu <baicoianuioansorin@gmail.com>",
@@ -23,7 +23,7 @@
23
23
  ".claude-plugin",
24
24
  "server/dist",
25
25
  "server/package.json",
26
- "server/node_modules/better-sqlite3",
26
+ "server/start.sh",
27
27
  "commands",
28
28
  "skills",
29
29
  "hooks",
@@ -33,6 +33,18 @@ All logged content MUST be markdown:
33
33
  - Point out common mistakes and gotchas
34
34
  - Adapt language and depth to the subject domain
35
35
 
36
+ ## Exercise Generation
37
+
38
+ When creating exercises for coding subjects, follow the language's conventions:
39
+ - **Go**: `package main`, tests use `testing.T`, files are `main.go` + `main_test.go`
40
+ - **Python**: plain functions, tests use `pytest` with `assert`, files are `main.py` + `test_main.py`
41
+ - **Rust**: `fn` functions, tests use `#[test]` + `assert_eq!`, files are `main.rs` + `main_test.rs`
42
+ - **TypeScript/JavaScript**: ESM exports, tests use `vitest` describe/it/expect, files are `main.ts` + `main.test.ts`
43
+
44
+ For non-coding subjects (no language set): only create quiz or assignment exercises.
45
+
46
+ Always provide `starter_code` and `test_content` for coding exercises.
47
+
36
48
  ## Dashboard
37
49
 
38
50
  The learning dashboard runs at http://127.0.0.1:19282 — mention it if the user wants to review progress.