@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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +148 -0
- package/package.json +1 -1
- package/server/dist/bundle.mjs +1035 -17
- package/server/dist/dashboard/server.js +7 -19
- package/server/dist/dashboard/server.js.map +1 -1
- package/server/package.json +1 -1
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.
|
|
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>",
|