@viren/claude-code-dashboard 0.0.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/LICENSE +21 -0
- package/README.md +195 -0
- package/generate-dashboard.mjs +637 -0
- package/package.json +42 -0
- package/src/analysis.mjs +262 -0
- package/src/cli.mjs +135 -0
- package/src/constants.mjs +150 -0
- package/src/discovery.mjs +46 -0
- package/src/freshness.mjs +35 -0
- package/src/helpers.mjs +42 -0
- package/src/html-template.mjs +744 -0
- package/src/markdown.mjs +142 -0
- package/src/mcp.mjs +86 -0
- package/src/render.mjs +264 -0
- package/src/skills.mjs +135 -0
- package/src/templates.mjs +221 -0
- package/src/usage.mjs +60 -0
- package/src/watch.mjs +54 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Viren Mohindra
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# claude-code-dashboard
|
|
2
|
+
|
|
3
|
+
A visual dashboard for your [Claude Code](https://docs.anthropic.com/en/docs/claude-code) configuration across all repos.
|
|
4
|
+
|
|
5
|
+
Scans your home directory for git repos, collects Claude Code configuration (commands, rules, skills, MCP servers, usage data), and generates a self-contained HTML dashboard.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
### Core
|
|
10
|
+
|
|
11
|
+
- **Repo discovery** — finds all git repos under `$HOME` (or configured directories)
|
|
12
|
+
- **Config coverage** — shows what percentage of your repos have Claude Code configuration
|
|
13
|
+
- **Freshness indicators** — green/yellow/red dots showing how recently config was updated
|
|
14
|
+
- **Expandable cards** — collapsed 3-column grid, click to expand full details
|
|
15
|
+
- **Search** — filter repos by name, path, or content (`/` to focus, `Esc` to clear)
|
|
16
|
+
- **Group by** — organize repos by tech stack or parent directory
|
|
17
|
+
- **Light/dark mode** — toggle with system preference detection
|
|
18
|
+
|
|
19
|
+
### Intelligence
|
|
20
|
+
|
|
21
|
+
- **Health scores** — 0-100 config completeness score per repo with quick-win suggestions
|
|
22
|
+
- **Tech stack detection** — auto-detects Next.js, React, Python, Go, Rust, Swift, Expo, etc.
|
|
23
|
+
- **Drift detection** — flags repos where config is stale relative to code churn
|
|
24
|
+
- **Config patterns** — detects modular, monolithic, command-heavy, or minimal styles
|
|
25
|
+
- **Cross-repo similarity** — finds repos with similar configs for consolidation
|
|
26
|
+
- **Repo-to-skill matching** — shows relevant skills per repo based on tech stack
|
|
27
|
+
|
|
28
|
+
### Skills
|
|
29
|
+
|
|
30
|
+
- **Skills dashboard** — scans `~/.claude/skills/` with source detection (superpowers, skills.sh, custom)
|
|
31
|
+
- **Auto-categorization** — groups skills by type (workflow, debugging, research, etc.)
|
|
32
|
+
- **Skill catalog** — shareable HTML page with install hints (`--catalog`)
|
|
33
|
+
|
|
34
|
+
### MCP Servers
|
|
35
|
+
|
|
36
|
+
- **MCP discovery** — scans `~/.claude/mcp_config.json` and per-repo `.mcp.json` files
|
|
37
|
+
- **Promotion hints** — flags servers installed in 2+ projects but not globally
|
|
38
|
+
- **Disabled server detection** — reads `~/.claude.json` for disabled servers
|
|
39
|
+
- **Historical tracking** — shows former MCP servers no longer in use
|
|
40
|
+
|
|
41
|
+
### Usage Analytics
|
|
42
|
+
|
|
43
|
+
- **Activity heatmap** — GitHub-style daily activity grid
|
|
44
|
+
- **Top tools & languages** — bar charts from session metadata
|
|
45
|
+
- **Peak hours** — when you use Claude Code most
|
|
46
|
+
- **Model usage & cost** — token breakdown by model (via [ccusage](https://github.com/ryoppippi/ccusage))
|
|
47
|
+
|
|
48
|
+
### CLI
|
|
49
|
+
|
|
50
|
+
- **Config templates** — `init` scaffolds CLAUDE.md based on your best existing configs
|
|
51
|
+
- **Config linting** — `lint` detects TODO markers, missing CLAUDE.md, empty configs
|
|
52
|
+
- **Watch mode** — `--watch` regenerates on file changes
|
|
53
|
+
- **Diff view** — `--diff` shows what changed since last generation
|
|
54
|
+
- **JSON export** — `--json` dumps the full data model for downstream tooling
|
|
55
|
+
- **Anonymized export** — `--anonymize` replaces paths for safe sharing
|
|
56
|
+
- **Shell completions** — `--completions` for bash/zsh
|
|
57
|
+
|
|
58
|
+
### Other
|
|
59
|
+
|
|
60
|
+
- **Dependency chains** — visualize repo relationships via config file
|
|
61
|
+
- **Quick reference** — built-in card with slash commands, tools, and keyboard shortcuts
|
|
62
|
+
- **Zero dependencies** — pure Node.js, no `npm install` required
|
|
63
|
+
|
|
64
|
+
## Install
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
npm install -g @viren/claude-code-dashboard
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Or run directly:
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
npx @viren/claude-code-dashboard
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Or clone and run:
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
git clone https://github.com/VirenMohindra/claude-code-dashboard.git
|
|
80
|
+
node claude-code-dashboard/generate-dashboard.mjs
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Usage
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
# Generate dashboard (writes to ~/.claude/dashboard.html)
|
|
87
|
+
claude-code-dashboard
|
|
88
|
+
|
|
89
|
+
# Generate and open in browser
|
|
90
|
+
claude-code-dashboard --open
|
|
91
|
+
|
|
92
|
+
# Watch mode — regenerate on file changes
|
|
93
|
+
claude-code-dashboard --watch
|
|
94
|
+
|
|
95
|
+
# Custom output path
|
|
96
|
+
claude-code-dashboard --output ~/Desktop/dashboard.html
|
|
97
|
+
|
|
98
|
+
# Export as JSON
|
|
99
|
+
claude-code-dashboard --json
|
|
100
|
+
|
|
101
|
+
# Generate skill catalog
|
|
102
|
+
claude-code-dashboard --catalog
|
|
103
|
+
|
|
104
|
+
# Show diff since last generation
|
|
105
|
+
claude-code-dashboard --diff
|
|
106
|
+
|
|
107
|
+
# Anonymize paths for sharing
|
|
108
|
+
claude-code-dashboard --anonymize
|
|
109
|
+
|
|
110
|
+
# Scaffold CLAUDE.md for current repo
|
|
111
|
+
claude-code-dashboard init
|
|
112
|
+
|
|
113
|
+
# Preview without writing
|
|
114
|
+
claude-code-dashboard init --dry-run
|
|
115
|
+
|
|
116
|
+
# Lint all repo configs
|
|
117
|
+
claude-code-dashboard lint
|
|
118
|
+
|
|
119
|
+
# Shell completions
|
|
120
|
+
claude-code-dashboard --completions >> ~/.zshrc
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### As a Claude Code slash command
|
|
124
|
+
|
|
125
|
+
Create `~/.claude/commands/dashboard.md` with:
|
|
126
|
+
|
|
127
|
+
<!-- prettier-ignore-start -->
|
|
128
|
+
```text
|
|
129
|
+
# Dashboard
|
|
130
|
+
|
|
131
|
+
Generate and open the Claude Code configuration dashboard.
|
|
132
|
+
|
|
133
|
+
## Steps
|
|
134
|
+
|
|
135
|
+
1. Run the dashboard generator:
|
|
136
|
+
npx @viren/claude-code-dashboard --open --quiet
|
|
137
|
+
```
|
|
138
|
+
<!-- prettier-ignore-end -->
|
|
139
|
+
|
|
140
|
+
Then run `/dashboard` from any Claude Code session.
|
|
141
|
+
|
|
142
|
+
## Configuration
|
|
143
|
+
|
|
144
|
+
Create `~/.claude/dashboard.conf` to customize behavior:
|
|
145
|
+
|
|
146
|
+
<!-- prettier-ignore-start -->
|
|
147
|
+
```text
|
|
148
|
+
# Restrict scanning to specific directories (one per line):
|
|
149
|
+
~/work
|
|
150
|
+
~/personal/repos
|
|
151
|
+
|
|
152
|
+
# Define dependency chains:
|
|
153
|
+
chain: ui-library -> app -> deploy
|
|
154
|
+
chain: backend <- shared-types
|
|
155
|
+
```
|
|
156
|
+
<!-- prettier-ignore-end -->
|
|
157
|
+
|
|
158
|
+
If no directories are listed, the entire home directory is scanned (depth 5).
|
|
159
|
+
|
|
160
|
+
## What it scans
|
|
161
|
+
|
|
162
|
+
| Path | What it shows |
|
|
163
|
+
| ------------------------------------ | ------------------------------------ |
|
|
164
|
+
| `CLAUDE.md` / `AGENTS.md` | Project description, config sections |
|
|
165
|
+
| `.claude/commands/*.md` | Custom slash commands |
|
|
166
|
+
| `.claude/rules/*.md` | Custom rules |
|
|
167
|
+
| `.mcp.json` | Project MCP server config |
|
|
168
|
+
| `package.json` | Tech stack detection |
|
|
169
|
+
| `~/.claude/commands/*.md` | Global commands |
|
|
170
|
+
| `~/.claude/rules/*.md` | Global rules |
|
|
171
|
+
| `~/.claude/skills/*/SKILL.md` | Skills (with source detection) |
|
|
172
|
+
| `~/.claude/mcp_config.json` | Global MCP server config |
|
|
173
|
+
| `~/.claude.json` | Disabled MCP servers |
|
|
174
|
+
| `~/.claude/usage-data/session-meta/` | Usage analytics |
|
|
175
|
+
| `~/.claude/stats-cache.json` | Activity heatmap data |
|
|
176
|
+
|
|
177
|
+
## Requirements
|
|
178
|
+
|
|
179
|
+
- Node.js 18+
|
|
180
|
+
- Git (for freshness timestamps and drift detection)
|
|
181
|
+
|
|
182
|
+
## Privacy
|
|
183
|
+
|
|
184
|
+
The generated HTML file contains:
|
|
185
|
+
|
|
186
|
+
- Filesystem paths (shortened with `~`)
|
|
187
|
+
- Preview lines from your `CLAUDE.md` / `AGENTS.md` files
|
|
188
|
+
- Names of your commands, rules, and MCP servers
|
|
189
|
+
- Usage statistics (tool counts, languages, activity patterns)
|
|
190
|
+
|
|
191
|
+
The file is local-only and never sent anywhere. Use `--anonymize` to strip identifying paths before sharing.
|
|
192
|
+
|
|
193
|
+
## License
|
|
194
|
+
|
|
195
|
+
MIT
|