@bis-code/study-dash 0.2.0 → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "study-dash",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
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/README.md ADDED
@@ -0,0 +1,148 @@
1
+ # StudyDash
2
+
3
+ A Claude Code plugin for structured learning on any subject. Import curricula from PDFs or build your own, track Q&A sessions, get AI-generated visualizations, and validate your understanding with exercises — all from a live dashboard.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ # Add the bis-code marketplace (one-time)
9
+ /plugin marketplace add bis-code/claude-plugins
10
+
11
+ # Install the plugin
12
+ /plugin install study-dash@bis-code
13
+ ```
14
+
15
+ ## How It Works
16
+
17
+ ```
18
+ import curriculum → study topics → log Q&A → generate viz → create exercises
19
+ | | | | |
20
+ PDF / manual set active auto-logged AI step-through coding + quiz
21
+ roadmap.sh topic to dashboard diagrams with real tests
22
+ ```
23
+
24
+ **Start learning** with `/learn` — pick a subject or create one. Ask questions and Claude auto-logs everything to the dashboard.
25
+
26
+ **Import a curriculum** with `/import` — drop a PDF syllabus from school (itslearning, etc.) and the plugin extracts phases, topics, and assignments automatically.
27
+
28
+ **Dashboard** at `http://127.0.0.1:19282` — live updates via SSE as you learn.
29
+
30
+ ## Dashboard
31
+
32
+ The dashboard shows your learning progress across all subjects:
33
+
34
+ - **Home** — subject switcher, stats grid, recently active topics
35
+ - **Topics** — phase tree with collapsible groups, completion status
36
+ - **Topic Detail** — four tabs:
37
+ - **Q&A** — paired question/answer cards with syntax highlighting
38
+ - **Visualize** — AI-generated step-through diagrams (prev/next controls)
39
+ - **Exercises** — coding exercises with test validation, quizzes, projects, school assignments
40
+ - **Resources** — reference links, context7 docs, imported PDFs
41
+ - **Search** — full-text search across all your notes
42
+
43
+ Mobile-responsive: bottom nav on phones, sidebar on desktop.
44
+
45
+ ## Commands
46
+
47
+ | Command | What it does |
48
+ |---------|-------------|
49
+ | `/learn` | Start or manage a learning session — show active subject/topic, switch |
50
+ | `/import` | Import a PDF syllabus, lecture slides, or assignment |
51
+ | `/dashboard` | Show the dashboard URL |
52
+
53
+ ## Skills (auto-triggering)
54
+
55
+ | Skill | Triggers when... |
56
+ |-------|-----------------|
57
+ | `Learning Session` | User asks questions about a subject they're studying |
58
+ | `Import Curriculum` | User mentions importing PDFs, syllabi, or creating subjects |
59
+
60
+ ## MCP Tools
61
+
62
+ ### Curriculum
63
+ | Tool | Description |
64
+ |------|------------|
65
+ | `learn_create_subject` | Create a new learning subject |
66
+ | `learn_import_curriculum` | Import phases and topics from structured data |
67
+ | `learn_switch_subject` | Set the active subject |
68
+ | `learn_set_topic` | Set the active topic |
69
+ | `learn_mark_done` | Mark a topic as completed |
70
+ | `learn_get_progress` | Get completion stats |
71
+ | `learn_get_curriculum` | Get the full topic tree |
72
+
73
+ ### Q&A
74
+ | Tool | Description |
75
+ |------|------------|
76
+ | `learn_log_question` | Log a question (markdown) |
77
+ | `learn_log_answer` | Log an answer paired to a question |
78
+ | `learn_search` | Full-text search across all entries |
79
+
80
+ ### Visualizations
81
+ | Tool | Description |
82
+ |------|------------|
83
+ | `learn_create_viz` | Store a step-through visualization |
84
+ | `learn_get_viz` | List visualizations for the current topic |
85
+
86
+ ### Exercises
87
+ | Tool | Description |
88
+ |------|------------|
89
+ | `learn_create_exercise` | Create a coding exercise, quiz, project, or assignment |
90
+ | `learn_run_tests` | Execute tests and return pass/fail results |
91
+ | `learn_get_exercises` | List exercises for the current topic |
92
+
93
+ ## Hooks
94
+
95
+ | Event | Action |
96
+ |-------|--------|
97
+ | After `learn_mark_done` | Auto-generates exercises for the completed topic |
98
+ | After `learn_log_answer` | Considers generating a visualization (configurable) |
99
+ | Before compaction | Saves active subject/topic to preserve context |
100
+
101
+ ## Curriculum Sources
102
+
103
+ | Source | How |
104
+ |--------|-----|
105
+ | **PDF** | Drop a school syllabus/slides/assignment — Claude reads and classifies it |
106
+ | **Manual** | Define phases and topics yourself, or follow roadmap.sh |
107
+ | **context7** | Supplements existing topics with live library documentation |
108
+
109
+ ## Exercise Types
110
+
111
+ | Type | Validation |
112
+ |------|-----------|
113
+ | **Coding** | Real test execution (`go test`, `pytest`, `cargo test`, `vitest`) |
114
+ | **Quiz** | Multiple choice, true/false, fill-in-the-blank — scored in dashboard |
115
+ | **Project** | Larger exercises with acceptance criteria and test files |
116
+ | **Assignment** | Imported from school PDFs with grading criteria |
117
+
118
+ ## Settings
119
+
120
+ | Setting | Default | Description |
121
+ |---------|---------|-------------|
122
+ | `auto_viz` | `true` | Auto-generate visualizations after explanations |
123
+ | `dashboard_port` | `19282` | Dashboard HTTP port |
124
+
125
+ ## Architecture
126
+
127
+ Single Node.js process with layered internals:
128
+
129
+ ```
130
+ Transport: MCP Tools (stdio) + HTTP API (dashboard)
131
+ Services: CurriculumService | QAService | VizService | ExerciseService
132
+ Storage: SQLite (better-sqlite3) + File System (exercises)
133
+ ```
134
+
135
+ Data stored at `~/.claude/learn/data.db` — persists across sessions.
136
+
137
+ ## Development
138
+
139
+ ```bash
140
+ cd server
141
+ npm install
142
+ npm test # run tests (vitest)
143
+ npm run bundle # build dist/bundle.mjs
144
+ ```
145
+
146
+ ## License
147
+
148
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bis-code/study-dash",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
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>",