Add read-only awareness of the broader Claude Code project surface so users can see skills, commands, agents, MCP, settings, hooks, and plugin-style folders from one local dashboard.
.claude and .mcp.json inventory..claude config.Add local-only endpoint:
interface ClaudeProjectInventory {
workspaceDisplay: string;
counts: {
skills: number;
commands: number;
agents: number;
mcpServers: number;
hooks: number;
pluginFolders: number;
};
checks: Array<{
id: string;
status: "ok" | "warn" | "error";
title: string;
message: string;
suggestedFix?: string;
}>;
reloadHints: string[];
}
Endpoint:
GET /api/settings/claude-projectsrc/lib/claude/project-inventory.tssrc/lib/settings/doctor.tssrc/app/settings/page.tsxsrc/app/api/settings/claude-project/route.ts.claude/skills/*/SKILL.md and .claude/commands/*.md..claude/agents/**/*.md and validate required name and description frontmatter..mcp.json and count configured server entries without returning command args or headers..claude/settings.json and .claude/settings.local.json existence and classify shared versus local..claude-plugin/plugin.json./api/settings/claude-project with localhost guard.Claude Project.npx --yes tsx src/lib/claude/project-inventory.test.tsnpx --yes tsx src/app/api/settings/claude-project/route.test.tsnpx --yes tsx src/lib/settings/doctor.test.tsnpx --yes tsx src/app/api/settings/local-guards.test.tsnpx --yes tsx src/app/api/export/zip/route.test.tsnpm run lintnpm run build/settings.Checkpoint as feat(settings): add Claude project inventory only after tests, build, and browser smoke pass.
/settings renders counts, shared/local settings labels, reload hints, and zero console errors.