Skip to content

Commit a176c85

Browse files
ithiria894claude
andcommitted
fix: remove dead parentId logic; clarify scope model in comments and README (v0.11.3)
- scanner.mjs: remove unused nested parentId derivation loop; replace with comment explaining Claude Code's actual Global→Project-only scope model - README: tighten two misleading sentences about scope hierarchy and grouping Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6f13a4f commit a176c85

4 files changed

Lines changed: 10 additions & 14 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ Global ← loads into EVERY session on your machine
9393
└─ Project ← loads only when you're in this directory
9494
```
9595

96-
Projects inherit from Global only. Sibling projects do not inherit from each other, and nested directory structures do not create extra inheritance layers — the sidebar groups them visually, but every project's parent is Global.
96+
Projects inherit from Global only. Sibling projects do not inherit from each other — filesystem nesting does not create extra inheritance layers. CCO may group projects by path for navigation, but Claude Code scope inheritance is always Global → Project only.
9797

9898
Here's the problem: **Claude creates memories and skills in whatever directory you're currently in.** You tell Claude "always use ESM imports" while working in `~/myapp` — that memory is trapped in that project scope. Open a different project, Claude doesn't know it. You tell it again. Now you have the same memory in two places, both eating context tokens.
9999

@@ -143,7 +143,7 @@ CCO connects to every MCP server, retrieves actual tool definitions, and runs th
143143
## How It Works
144144

145145
1. **Scans** `~/.claude/` — discovers all 11 categories across every scope
146-
2. **Resolves the scope hierarchy**determines parent-child relationships from filesystem paths
146+
2. **Resolves project scopes**scans projects from filesystem paths, maps them to Claude Code's Global/Project scope model
147147
3. **Renders a three-panel dashboard** — scope tree, category items, detail panel with content preview
148148

149149
## Platform Support

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mcpware/claude-code-organizer",
3-
"version": "0.11.2",
3+
"version": "0.11.3",
44
"description": "Organize all your Claude Code memories, skills, MCP servers, commands, agents, rules, and hooks — view by scope hierarchy, move between scopes via drag-and-drop",
55
"type": "module",
66
"files": [

src/scanner.mjs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -281,16 +281,12 @@ async function discoverScopes() {
281281
return a.realPath.localeCompare(b.realPath);
282282
});
283283

284-
// Build parent-child relationships based on path nesting
284+
// Claude Code has two scopes: User (global) and Project.
285+
// Every project's parent is always global — there is no intermediate workspace scope.
286+
// Filesystem nesting (e.g. CompanyRepo/api inside CompanyRepo/) does NOT create
287+
// inheritance between projects; the sidebar may group them visually but Claude Code
288+
// loads each project's .claude/ independently alongside ~/.claude/.
285289
for (const entry of projectEntries) {
286-
// Find parent: the deepest existing scope whose realPath is a prefix of this one
287-
let parentId = "global";
288-
for (const existing of scopes) {
289-
if (existing.repoDir && entry.realPath.startsWith(existing.repoDir + "/")) {
290-
parentId = existing.id;
291-
}
292-
}
293-
294290
scopes.push({
295291
id: entry.encodedName,
296292
name: entry.shortName,

0 commit comments

Comments
 (0)