claude-config-dashboard 1.7.0__tar.gz
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.
- claude_config_dashboard-1.7.0/.claude-plugin/marketplace.json +18 -0
- claude_config_dashboard-1.7.0/.claude-plugin/plugin.json +16 -0
- claude_config_dashboard-1.7.0/.github/workflows/ci.yml +47 -0
- claude_config_dashboard-1.7.0/.github/workflows/release.yml +39 -0
- claude_config_dashboard-1.7.0/.gitignore +18 -0
- claude_config_dashboard-1.7.0/CHANGELOG.md +101 -0
- claude_config_dashboard-1.7.0/LICENSE +21 -0
- claude_config_dashboard-1.7.0/PKG-INFO +81 -0
- claude_config_dashboard-1.7.0/README.md +58 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/__init__.py +3 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/__main__.py +4 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/character.png +0 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/collectors.py +377 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/enrich.py +109 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/paths.py +11 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/render.py +549 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/security.py +31 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/server.py +157 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/templates/app.js +165 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/templates/dashboard.html +74 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/templates/styles.css +150 -0
- claude_config_dashboard-1.7.0/claude_config_dashboard/usage.py +166 -0
- claude_config_dashboard-1.7.0/commands/show.md +38 -0
- claude_config_dashboard-1.7.0/dashboard.py +20 -0
- claude_config_dashboard-1.7.0/docs/DESIGN.md +312 -0
- claude_config_dashboard-1.7.0/docs/superpowers/plans/2026-04-11-usage-tracking.md +492 -0
- claude_config_dashboard-1.7.0/docs/superpowers/specs/2026-04-11-usage-tracking-design.md +134 -0
- claude_config_dashboard-1.7.0/package.json +12 -0
- claude_config_dashboard-1.7.0/pyproject.toml +61 -0
- claude_config_dashboard-1.7.0/tests/conftest.py +183 -0
- claude_config_dashboard-1.7.0/tests/test_collectors.py +167 -0
- claude_config_dashboard-1.7.0/tests/test_html.py +88 -0
- claude_config_dashboard-1.7.0/tests/test_project_diff.py +99 -0
- claude_config_dashboard-1.7.0/tests/test_resilience.py +56 -0
- claude_config_dashboard-1.7.0/tests/test_server.py +145 -0
- claude_config_dashboard-1.7.0/tests/test_usage.py +113 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-config-dashboard",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "AshtonYoon",
|
|
5
|
+
"email": ""
|
|
6
|
+
},
|
|
7
|
+
"metadata": {
|
|
8
|
+
"description": "Local web dashboard for ~/.claude config visualization",
|
|
9
|
+
"version": "1.7.0"
|
|
10
|
+
},
|
|
11
|
+
"plugins": [
|
|
12
|
+
{
|
|
13
|
+
"name": "claude-config-dashboard",
|
|
14
|
+
"source": "./",
|
|
15
|
+
"description": "Local web dashboard for ~/.claude config visualization — shows plugins, agents, skills, commands, hooks, and MCP servers"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-config-dashboard",
|
|
3
|
+
"description": "Local web dashboard for ~/.claude config visualization — shows plugins, agents, skills, commands, hooks, and MCP servers",
|
|
4
|
+
"version": "1.7.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "AshtonYoon",
|
|
7
|
+
"url": "https://github.com/AshtonYoon"
|
|
8
|
+
},
|
|
9
|
+
"commands": [
|
|
10
|
+
"./commands/show.md"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/AshtonYoon/claude-config-dashboard",
|
|
13
|
+
"repository": "https://github.com/AshtonYoon/claude-config-dashboard",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"keywords": ["dashboard", "config", "visualization", "plugins", "agents"]
|
|
16
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
strategy:
|
|
11
|
+
fail-fast: false
|
|
12
|
+
matrix:
|
|
13
|
+
os: [ubuntu-latest, macos-latest]
|
|
14
|
+
python-version: ["3.9", "3.11", "3.13"]
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
|
|
23
|
+
- name: Install dev dependencies
|
|
24
|
+
run: python -m pip install ruff pytest pytest-cov
|
|
25
|
+
|
|
26
|
+
- name: Lint
|
|
27
|
+
run: ruff check claude_config_dashboard/ tests/ dashboard.py
|
|
28
|
+
|
|
29
|
+
- name: Format check
|
|
30
|
+
run: ruff format --check claude_config_dashboard/ tests/ dashboard.py
|
|
31
|
+
|
|
32
|
+
- name: Tests with coverage
|
|
33
|
+
run: pytest --cov --cov-fail-under=80
|
|
34
|
+
|
|
35
|
+
version-sync:
|
|
36
|
+
runs-on: ubuntu-latest
|
|
37
|
+
steps:
|
|
38
|
+
- uses: actions/checkout@v4
|
|
39
|
+
|
|
40
|
+
- name: Check version fields match
|
|
41
|
+
run: |
|
|
42
|
+
pkg=$(python3 -c "import json; print(json.load(open('package.json'))['version'])")
|
|
43
|
+
plugin=$(python3 -c "import json; print(json.load(open('.claude-plugin/plugin.json'))['version'])")
|
|
44
|
+
market=$(python3 -c "import json; print(json.load(open('.claude-plugin/marketplace.json'))['metadata']['version'])")
|
|
45
|
+
init=$(python3 -c "import claude_config_dashboard as m; print(m.__version__)")
|
|
46
|
+
echo "package.json=$pkg plugin.json=$plugin marketplace.json=$market __init__.py=$init"
|
|
47
|
+
test "$pkg" = "$plugin" -a "$pkg" = "$market" -a "$pkg" = "$init"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v4
|
|
12
|
+
|
|
13
|
+
- uses: actions/setup-python@v5
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.12"
|
|
16
|
+
|
|
17
|
+
- name: Build sdist and wheel
|
|
18
|
+
run: |
|
|
19
|
+
python -m pip install build
|
|
20
|
+
python -m build
|
|
21
|
+
|
|
22
|
+
- uses: actions/upload-artifact@v4
|
|
23
|
+
with:
|
|
24
|
+
name: dist
|
|
25
|
+
path: dist/
|
|
26
|
+
|
|
27
|
+
publish:
|
|
28
|
+
needs: build
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
environment: pypi
|
|
31
|
+
permissions:
|
|
32
|
+
id-token: write # PyPI Trusted Publishing (OIDC) — no API token secrets
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/download-artifact@v4
|
|
35
|
+
with:
|
|
36
|
+
name: dist
|
|
37
|
+
path: dist/
|
|
38
|
+
|
|
39
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.7.0] - 2026-07-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- PyPI packaging: install with `uvx claude-config-dashboard` or
|
|
12
|
+
`pip install claude-config-dashboard`; releases publish via GitHub
|
|
13
|
+
Actions Trusted Publishing on version tags.
|
|
14
|
+
- Test suite (67 tests, 93% coverage) with an isolated synthetic `~/.claude`
|
|
15
|
+
fixture; coverage gate at 80%.
|
|
16
|
+
- GitHub Actions CI: ruff lint/format and pytest on ubuntu/macos ×
|
|
17
|
+
Python 3.9/3.11/3.13, plus a version-sync check across the four manifests.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- `dashboard.py` (1,523 lines) split into the `claude_config_dashboard`
|
|
21
|
+
package (collectors / usage / enrich / render / security / server), with
|
|
22
|
+
HTML, CSS, and JS extracted to `string.Template` files. The root
|
|
23
|
+
`dashboard.py` remains as a thin launcher for the plugin command.
|
|
24
|
+
- Silent `except: pass` blocks replaced with narrowed exceptions and
|
|
25
|
+
`logging`; new `--verbose` flag surfaces skipped/unreadable config files.
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
- Skills named `SKILL.md` (the documented casing) were invisible on
|
|
29
|
+
case-sensitive filesystems (Linux); lookup now checks `SKILL.md` first.
|
|
30
|
+
|
|
31
|
+
## [1.6.1] - 2026-07-18
|
|
32
|
+
|
|
33
|
+
### Security
|
|
34
|
+
- `/open` and `/stop` are now POST-only and require a per-run CSRF token
|
|
35
|
+
(`X-Dashboard-Token`) embedded in the served HTML. Previously any web page
|
|
36
|
+
open in the browser could trigger `GET /open?path=...` and open arbitrary
|
|
37
|
+
local files with the OS default app.
|
|
38
|
+
- `/open` now only accepts paths that the dashboard actually renders as
|
|
39
|
+
clickable links (allowlist), instead of any existing path.
|
|
40
|
+
- `Host` header validation (`localhost` / `127.0.0.1` only) to defeat
|
|
41
|
+
DNS-rebinding attacks.
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- `LICENSE` file (MIT — previously only declared in manifests).
|
|
45
|
+
- This changelog.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
- Module docstring documented a `--project` flag and endpoints that no longer
|
|
49
|
+
exist.
|
|
50
|
+
|
|
51
|
+
## [1.6.0] - 2026-04-15
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
- Project-only config view: diffs the current project's `.claude` against
|
|
55
|
+
`~/.claude` and shows MCP servers, skills, commands, hooks, and rules that
|
|
56
|
+
exist only in the project.
|
|
57
|
+
|
|
58
|
+
## [1.5.0] - 2026-04-15
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
- Generalized the plugin skills dashboard to work with any installed plugin.
|
|
62
|
+
|
|
63
|
+
## [1.4.0] - 2026-04-07
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- Anthropic-inspired design system (parchment canvas, terracotta accent,
|
|
67
|
+
serif/sans/mono typography) and a floating character mascot.
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
- Double browser open on dashboard launch.
|
|
71
|
+
|
|
72
|
+
## [1.3.0] - 2026-04-07
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
- Usage stats were computed against the wrong config dir when a project
|
|
76
|
+
`.claude` was present (`CLAUDE_DIR` reset before computing usage stats).
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
- Update instructions and marketplace cache workaround in README.
|
|
80
|
+
|
|
81
|
+
## [1.2.0] - 2026-04-07
|
|
82
|
+
|
|
83
|
+
### Added
|
|
84
|
+
- Apple-inspired design system.
|
|
85
|
+
- Simplified config-dir toggle and a Stop server button.
|
|
86
|
+
|
|
87
|
+
## [1.1.0] - 2026-04-07
|
|
88
|
+
|
|
89
|
+
### Added
|
|
90
|
+
- Usage analytics from session transcripts (skills, agents, MCP servers),
|
|
91
|
+
project scope filter, and a Cleanup tab flagging items unused for 30+ days.
|
|
92
|
+
- Scans the current project's `.claude` when present, falling back to
|
|
93
|
+
`~/.claude`.
|
|
94
|
+
|
|
95
|
+
## [1.0.0] - 2026-04-07
|
|
96
|
+
|
|
97
|
+
### Added
|
|
98
|
+
- Initial release: local web dashboard for installed Claude Code config —
|
|
99
|
+
plugins, agents, skills, commands, hooks, MCP servers, and rules — served
|
|
100
|
+
from the Python standard library only. Packaged as a Claude Code plugin
|
|
101
|
+
with a `/claude-config-dashboard:show` command.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AshtonYoon
|
|
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.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: claude-config-dashboard
|
|
3
|
+
Version: 1.7.0
|
|
4
|
+
Summary: Local web dashboard for your installed Claude Code configuration — plugins, agents, skills, commands, hooks, MCP servers, and rules, with usage analytics.
|
|
5
|
+
Project-URL: Homepage, https://github.com/AshtonYoon/claude-config-dashboard
|
|
6
|
+
Project-URL: Repository, https://github.com/AshtonYoon/claude-config-dashboard
|
|
7
|
+
Project-URL: Changelog, https://github.com/AshtonYoon/claude-config-dashboard/blob/main/CHANGELOG.md
|
|
8
|
+
Author: AshtonYoon
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: claude,claude-code,config,dashboard,mcp
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Web Environment
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Operating System :: MacOS
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
19
|
+
Classifier: Topic :: Software Development
|
|
20
|
+
Classifier: Topic :: Utilities
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
|
|
24
|
+
# claude-config-dashboard
|
|
25
|
+
|
|
26
|
+
A Claude Code plugin that provides a local web dashboard for visualizing third-party elements installed in `~/.claude`, plus a project-only comparison view for items found only in the current project's `.claude`.
|
|
27
|
+
|
|
28
|
+
<img width="1755" height="899" alt="image" src="https://github.com/user-attachments/assets/f0332b7b-ad5f-4c2c-b73b-4054d6da2a24" />
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
/plugin marketplace add AshtonYoon/claude-config-dashboard
|
|
38
|
+
/plugin install claude-config-dashboard
|
|
39
|
+
/reload-plugins
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Usage
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
/claude-config-dashboard:show
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The dashboard opens at **http://localhost:9876**.
|
|
49
|
+
|
|
50
|
+
## Features
|
|
51
|
+
|
|
52
|
+
| Tab | Contents |
|
|
53
|
+
|-----|----------|
|
|
54
|
+
| Plugins | Installed plugins with version, GitHub link, install date |
|
|
55
|
+
| Agents | Agents grouped by category — click name to open file |
|
|
56
|
+
| Skills | Custom and plugin-provided skills |
|
|
57
|
+
| Commands | Slash commands with descriptions — click to open file |
|
|
58
|
+
| Hooks | Hook scripts by trigger type — click to open script |
|
|
59
|
+
| MCP Servers | Configured MCP servers from settings.json and ~/.claude.json |
|
|
60
|
+
| Rules | Rule files by category — click to open file |
|
|
61
|
+
| Project-only config | MCP servers, skills, commands, hooks, and rules that exist only in the current project's `.claude` |
|
|
62
|
+
|
|
63
|
+
Clicking any file name opens it in the OS default app (editor, Finder, etc.).
|
|
64
|
+
|
|
65
|
+
## Update
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
/plugin update claude-config-dashboard
|
|
69
|
+
/reload-plugins
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
> **If `/plugin update` shows a "browse plugins" prompt instead of updating directly**, the local marketplace cache is stale. Run this once to refresh it:
|
|
73
|
+
> ```bash
|
|
74
|
+
> cd ~/.claude/plugins/marketplaces/claude-config-dashboard && git pull
|
|
75
|
+
> ```
|
|
76
|
+
> Then retry `/plugin update claude-config-dashboard`.
|
|
77
|
+
|
|
78
|
+
## Requirements
|
|
79
|
+
|
|
80
|
+
- Python 3.x (standard library only, no pip install needed)
|
|
81
|
+
- macOS (uses `open` to launch default apps; Linux uses `xdg-open`)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# claude-config-dashboard
|
|
2
|
+
|
|
3
|
+
A Claude Code plugin that provides a local web dashboard for visualizing third-party elements installed in `~/.claude`, plus a project-only comparison view for items found only in the current project's `.claude`.
|
|
4
|
+
|
|
5
|
+
<img width="1755" height="899" alt="image" src="https://github.com/user-attachments/assets/f0332b7b-ad5f-4c2c-b73b-4054d6da2a24" />
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/plugin marketplace add AshtonYoon/claude-config-dashboard
|
|
15
|
+
/plugin install claude-config-dashboard
|
|
16
|
+
/reload-plugins
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
/claude-config-dashboard:show
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The dashboard opens at **http://localhost:9876**.
|
|
26
|
+
|
|
27
|
+
## Features
|
|
28
|
+
|
|
29
|
+
| Tab | Contents |
|
|
30
|
+
|-----|----------|
|
|
31
|
+
| Plugins | Installed plugins with version, GitHub link, install date |
|
|
32
|
+
| Agents | Agents grouped by category — click name to open file |
|
|
33
|
+
| Skills | Custom and plugin-provided skills |
|
|
34
|
+
| Commands | Slash commands with descriptions — click to open file |
|
|
35
|
+
| Hooks | Hook scripts by trigger type — click to open script |
|
|
36
|
+
| MCP Servers | Configured MCP servers from settings.json and ~/.claude.json |
|
|
37
|
+
| Rules | Rule files by category — click to open file |
|
|
38
|
+
| Project-only config | MCP servers, skills, commands, hooks, and rules that exist only in the current project's `.claude` |
|
|
39
|
+
|
|
40
|
+
Clicking any file name opens it in the OS default app (editor, Finder, etc.).
|
|
41
|
+
|
|
42
|
+
## Update
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
/plugin update claude-config-dashboard
|
|
46
|
+
/reload-plugins
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> **If `/plugin update` shows a "browse plugins" prompt instead of updating directly**, the local marketplace cache is stale. Run this once to refresh it:
|
|
50
|
+
> ```bash
|
|
51
|
+
> cd ~/.claude/plugins/marketplaces/claude-config-dashboard && git pull
|
|
52
|
+
> ```
|
|
53
|
+
> Then retry `/plugin update claude-config-dashboard`.
|
|
54
|
+
|
|
55
|
+
## Requirements
|
|
56
|
+
|
|
57
|
+
- Python 3.x (standard library only, no pip install needed)
|
|
58
|
+
- macOS (uses `open` to launch default apps; Linux uses `xdg-open`)
|
|
Binary file
|