atxtechbro / atxtechbro/dotfiles
Plugin marketplace commands not discoverable despite proper installation
- Dominant language
- Shell
- Stars
- 27
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
Plugin commands from the dotfiles-marketplace are not being discovered by Claude Code, despite the plugin being installed and enabled.
## Symptoms
1. Plugin shows as "Enabled" in `/plugin` UI
2. Debug logs show: `Total plugin commands loaded: 0`
3. Commands like `/close-issue`, `/retro` don't appear in autocomplete
4. No errors in debug logs initially, but schema validation error appeared
## Root Causes Discovered
This issue had **THREE** separate problems that all needed to be fixed:
### Issue 1: Missing `commands` field in plugin.json
**Problem:** plugin.json didn't specify where to find command files
**Fix:** Added `"commands": ["./commands/"]` to plugin.json
**PR:** #1360
### Issue 2: plugin.json in wrong location
**Problem:** marketplace.json said `source: "."` (repo root) but plugin.json was in `.claude-plugin/` subdirectory
**Fix:** Moved plugin.json from `.claude-plugin/plugin.json` to repo root `./plugin.json`
**PR:** #1361
### Issue 3: Schema validation error
**Problem:** Source path used `"."` instead of `"./"`
**Error:** `Invalid schema: plugins.0.source: Invalid input: must start with "./"`
**Fix:** Changed source from `"."` to `"./"` in marketplace.json
**PR:** #1362
## Final Working Structure
```
dotfiles/ (repo root)
├── .claude-plugin/
│ └── marketplace.json (source: "./")
├── plugin.json (commands: ["./commands/"])
└── commands/
├── close-issue.md (symlink)
├── create-issue.md (symlink)
├── retro.md (symlink)
└── extract-best-frame.md (symlink)
```
## Key Learnings
1. **Symlinks work fine** - they weren't the issue
2. **Schema is strict** - relative paths MUST start with `"./"` not `"."`
3. **Path resolution** - plugin.json location must match marketplace source
4. **Debug logs are essential** - `~/.claude/debug/*.txt` shows "Total plugin commands loaded: 0"
## Test Plan
After all three fixes:
1. Run `/plugin` → No schema errors
2. Plugin shows in list as enabled
3. Type `/close` → `/close-issue` appears in autocomplete
4. All 4 commands are available
## Related Documentation
- [Plugin Marketplaces](https://docs.claude.com/en/docs/claude-code/plugin-marketplaces)
- [Slash Commands](https://docs.claude.com/en/docs/claude-code/slash-commands)
Contributor guide
No contributing guide indexed for this repository
Research direction
Check the final plugin.json at the repository root and .claude-plugin/marketplace.json, then inspect the commands/ directory and the referenced debug logs. Verify that the marketplace source is "./", plugin.json declares "./commands/", no schema error appears, and all four commands are available in autocomplete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100