2 Commits

Author SHA1 Message Date
113839b0d8 feat: add plugin integration analysis to config-analyze command
Add automatic detection of active marketplace plugins and verification
that CLAUDE.md properly references them. This ensures projects using
marketplace plugins will have proper documentation to guide Claude Code
in using available tools.

Changes:
- Add claude-md-integration.md snippets to all 4 plugins (projman,
  cmdb-assistant, claude-config-maintainer, project-hygiene)
- Update marketplace.json with MCP server mappings for plugin detection
- Enhance /config-analyze to detect active plugins via MCP server names
- Update maintainer agent with plugin integration workflow
- Add plugin coverage percentage to analysis report
- User confirmation required before adding plugin references

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 18:24:29 -05:00
15e0654950 chore: rebrand for public release
- Move repository from bandit to personal-projects organization
- Remove all "Bandit Labs" references
- Update author to Leo Miranda
- Rename marketplace from bandit-claude-marketplace to claude-code-marketplace
- Add MIT LICENSE file
- Remove outdated root .mcp.json (MCP servers now bundled in plugins)
- Update all repository URLs to new location

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 17:49:40 -05:00
26 changed files with 421 additions and 86 deletions

View File

@@ -1,35 +1,53 @@
{
"name": "bandit-claude-marketplace",
"name": "claude-code-marketplace",
"version": "2.0.0",
"description": "Project management plugins with Gitea and NetBox integrations",
"owner": {
"name": "Bandit Labs",
"email": "dev@banditlabs.io"
"name": "Leo Miranda",
"email": "leobmiranda@gmail.com"
},
"plugins": [
{
"name": "projman",
"version": "2.0.0",
"description": "Sprint planning and project management with Gitea integration",
"source": "./plugins/projman"
"source": "./plugins/projman",
"mcpServers": ["gitea"],
"integrationFile": "claude-md-integration.md"
},
{
"name": "project-hygiene",
"version": "0.1.0",
"description": "Post-task cleanup hook that removes temp files and manages orphaned files",
"source": "./plugins/project-hygiene"
"source": "./plugins/project-hygiene",
"mcpServers": [],
"integrationFile": "claude-md-integration.md",
"hooks": ["PostToolUse"]
},
{
"name": "cmdb-assistant",
"version": "1.0.0",
"description": "NetBox CMDB integration for infrastructure management",
"source": "./plugins/cmdb-assistant"
"source": "./plugins/cmdb-assistant",
"mcpServers": ["netbox"],
"integrationFile": "claude-md-integration.md"
},
{
"name": "claude-config-maintainer",
"version": "1.0.0",
"description": "CLAUDE.md optimization and maintenance for Claude Code projects",
"source": "./plugins/claude-config-maintainer"
"source": "./plugins/claude-config-maintainer",
"mcpServers": [],
"integrationFile": "claude-md-integration.md"
}
],
"pluginDetection": {
"mcpServerMapping": {
"gitea": "projman",
"netbox": "cmdb-assistant"
},
"hookMapping": {
"PostToolUse:Write|Edit": "project-hygiene"
}
}
]
}

View File

@@ -1,28 +0,0 @@
{
"mcpServers": {
"gitea": {
"command": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/gitea/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/gitea",
"env": {
"PYTHONPATH": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/gitea"
}
},
"wikijs": {
"command": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/wikijs/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/wikijs",
"env": {
"PYTHONPATH": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/wikijs"
}
},
"netbox": {
"command": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/netbox/.venv/bin/python",
"args": ["-m", "mcp_server.server"],
"cwd": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/netbox",
"env": {
"PYTHONPATH": "/home/lmiranda/repos/bandit/support-claude-mktplace/mcp-servers/netbox"
}
}
}
}

View File

@@ -251,7 +251,7 @@ See [docs/reference-material/projman-implementation-plan.md](docs/reference-mate
⚠️ **See `docs/CANONICAL-PATHS.md` for the authoritative path reference - THIS IS THE SINGLE SOURCE OF TRUTH**
```
bandit/support-claude-mktplace/
personal-projects/support-claude-mktplace/
├── .claude-plugin/
│ └── marketplace.json
├── plugins/ # ← ALL PLUGINS (with bundled MCP servers)

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Leo Miranda
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,4 +1,4 @@
# Claude Code Marketplace - Bandit Labs
# Claude Code Marketplace
A collection of Claude Code plugins for project management, infrastructure automation, and development workflows.
@@ -93,7 +93,7 @@ Comprehensive NetBox REST API integration for infrastructure management.
1. **Clone the repository:**
```bash
git clone ssh://git@hotserv.tailc9b278.ts.net:2222/bandit/support-claude-mktplace.git
git clone ssh://git@hotserv.tailc9b278.ts.net:2222/personal-projects/support-claude-mktplace.git
cd support-claude-mktplace
```
@@ -212,9 +212,9 @@ All agents use MCP tools exclusively. CLI tools like `tea` or `gh` are forbidden
## License
MIT License - Bandit Labs
MIT License
## Support
- **Issues**: Contact repository maintainer
- **Repository**: `ssh://git@hotserv.tailc9b278.ts.net:2222/bandit/support-claude-mktplace.git`
- **Repository**: `ssh://git@hotserv.tailc9b278.ts.net:2222/personal-projects/support-claude-mktplace.git`

View File

@@ -11,7 +11,7 @@ Last Updated: 2025-12-15
```
support-claude-mktplace/
├── .claude/ # Claude Code local settings
├── .claude-plugin/ # Marketplace manifest (bandit-claude-marketplace)
├── .claude-plugin/ # Marketplace manifest (claude-code-marketplace)
│ └── marketplace.json
├── .scratch/ # Transient work (auto-cleaned)
├── docs/ # All documentation
@@ -26,7 +26,8 @@ support-claude-mktplace/
│ │ │ └── gitea/ # Gitea + Wiki tools
│ │ ├── commands/
│ │ ├── agents/
│ │ ── skills/
│ │ ── skills/
│ │ └── claude-md-integration.md # CLAUDE.md integration snippet
│ ├── projman-pmo/
│ ├── project-hygiene/
│ ├── cmdb-assistant/
@@ -34,11 +35,17 @@ support-claude-mktplace/
│ │ ├── mcp-servers/ # MCP servers bundled IN plugin
│ │ │ └── netbox/
│ │ ├── commands/
│ │ ── agents/
│ └── claude-config-maintainer/
│ │ ── agents/
│ └── claude-md-integration.md # CLAUDE.md integration snippet
│ ├── claude-config-maintainer/
│ │ ├── .claude-plugin/
│ │ ├── commands/
│ │ ├── agents/
│ │ └── claude-md-integration.md # CLAUDE.md integration snippet
│ └── project-hygiene/
│ ├── .claude-plugin/
│ ├── commands/
│ └── agents/
│ ├── hooks/
│ └── claude-md-integration.md # CLAUDE.md integration snippet
├── scripts/ # Setup and maintenance scripts
├── CLAUDE.md
├── README.md
@@ -60,6 +67,7 @@ support-claude-mktplace/
| Plugin commands | `plugins/{plugin-name}/commands/` | `plugins/projman/commands/` |
| Plugin agents | `plugins/{plugin-name}/agents/` | `plugins/projman/agents/` |
| Plugin .mcp.json | `plugins/{plugin-name}/.mcp.json` | `plugins/projman/.mcp.json` |
| Plugin integration snippet | `plugins/{plugin-name}/claude-md-integration.md` | `plugins/projman/claude-md-integration.md` |
### MCP Server Paths (Bundled in Plugins)
@@ -149,5 +157,6 @@ MCP servers are bundled inside each plugin (not shared at root) because:
| Date | Change | By |
|------|--------|-----|
| 2026-01-19 | Added claude-md-integration.md path pattern for plugin integration snippets | Claude Code |
| 2025-12-15 | Restructured: MCP servers now bundled in plugins | Claude Code |
| 2025-12-12 | Initial creation | Claude Code |

View File

@@ -48,11 +48,11 @@ projman-pmo/
"version": "0.1.0",
"displayName": "Projman PMO - Multi-Project Coordination",
"description": "PMO coordination with cross-project visibility, dependency tracking, and resource management",
"author": "Bandit Labs",
"homepage": "ssh://git@hotserv.tailc9b278.ts.net:2222/bandit/support-claude-mktplace",
"author": "Leo Miranda",
"homepage": "https://gitea.hotserv.cloud/personal-projects/support-claude-mktplace",
"repository": {
"type": "git",
"url": "ssh://git@hotserv.tailc9b278.ts.net:2222/bandit/support-claude-mktplace.git"
"url": "ssh://git@hotserv.tailc9b278.ts.net:2222/personal-projects/support-claude-mktplace.git"
},
"license": "MIT",
"keywords": [
@@ -223,7 +223,7 @@ projman-pmo/
### Agent Personality
```markdown
You are the PMO Coordinator for Bandit Labs.
You are the PMO Coordinator for this organization.
Your role:
- Maintain strategic view across all projects

View File

@@ -54,11 +54,11 @@ projman/
"version": "0.1.0",
"displayName": "Projman - Single-Repository Project Management",
"description": "Sprint planning and project management with Gitea and Wiki.js integration",
"author": "Bandit Labs",
"homepage": "https://gitea.example.com/bandit/support-claude-mktplace/projman",
"author": "Leo Miranda",
"homepage": "https://gitea.hotserv.cloud/personal-projects/support-claude-mktplace",
"repository": {
"type": "git",
"url": "https://gitea.example.com/bandit/support-claude-mktplace.git"
"url": "ssh://git@hotserv.tailc9b278.ts.net:2222/personal-projects/support-claude-mktplace.git"
},
"license": "MIT",
"keywords": [
@@ -269,7 +269,7 @@ Agents are also **markdown files** with specialized prompts. They can be invoked
```markdown
# Sprint Planner Agent
You are the Sprint Planner for Bandit Labs.
You are the Sprint Planner for this project.
## Your Identity
@@ -551,7 +551,7 @@ The projman plugin implements a three-agent architecture mirroring the proven wo
**Example Prompt:**
```markdown
You are the Sprint Planner for Bandit Labs.
You are the Sprint Planner for this project.
Your role:
- Guide users through sprint planning
@@ -609,7 +609,7 @@ Sprint Planning Flow:
**Example Prompt:**
```markdown
You are the Sprint Orchestrator for Bandit Labs.
You are the Sprint Orchestrator for this project.
Your role:
- Monitor sprint progress
@@ -668,7 +668,7 @@ Status Monitoring:
**Example Prompt:**
```markdown
You are the Sprint Executor for Bandit Labs.
You are the Sprint Executor for this project.
Your role:
- Provide implementation guidance

View File

@@ -80,7 +80,7 @@ The MCP servers detect their operating mode based on environment variables:
## Repository Structure
```
bandit/support-claude-mktplace/
personal-projects/support-claude-mktplace/
├── mcp-servers/ # ← SHARED BY BOTH PLUGINS
│ ├── gitea/ # Gitea MCP Server
│ │ ├── .venv/

View File

@@ -96,4 +96,4 @@ Target score: **70+** for effective Claude Code usage.
## Contributing
This plugin is part of the bandit/support-claude-mktplace repository.
This plugin is part of the personal-projects/support-claude-mktplace repository.

View File

@@ -31,7 +31,11 @@ You are the **Maintainer Agent** - a specialist in creating and optimizing CLAUD
### 1. Analyze CLAUDE.md Files
When analyzing a CLAUDE.md file, evaluate:
When analyzing a CLAUDE.md file, perform two types of analysis:
#### A. Content Analysis
Evaluate:
**Structure:**
- Is the file well-organized?
@@ -57,6 +61,49 @@ When analyzing a CLAUDE.md file, evaluate:
- Are there verbose explanations that could be shortened?
- Is the file too long for effective use?
#### B. Plugin Integration Analysis
After content analysis, check for marketplace plugin integration:
**Step 1: Detect Active Plugins**
Read `.claude/settings.local.json` and identify enabled MCP servers:
```json
{
"mcpServers": {
"gitea": { ... }, // → projman plugin
"netbox": { ... } // → cmdb-assistant plugin
}
}
```
Use this mapping to identify active plugins:
| MCP Server | Plugin |
|------------|--------|
| `gitea` | projman |
| `netbox` | cmdb-assistant |
Also check for hook-based plugins (project-hygiene uses `PostToolUse` hooks).
**Step 2: Check CLAUDE.md for Plugin References**
For each detected plugin, search CLAUDE.md for:
- Plugin name mention (e.g., "projman", "cmdb-assistant")
- Command references (e.g., `/sprint-plan`, `/cmdb-search`)
- MCP tool mentions (e.g., `list_issues`, `dcim_list_devices`)
**Step 3: Load Integration Snippets**
For plugins not referenced in CLAUDE.md, load their integration snippet from:
`plugins/{plugin-name}/claude-md-integration.md`
**Step 4: Report and Offer Integration**
Report plugin coverage percentage and offer to add missing integrations:
- Show which plugins are detected but not referenced
- Display the integration content that would be added
- Ask user for confirmation before modifying CLAUDE.md
### 2. Optimize CLAUDE.md Structure
**Recommended Structure:**
@@ -145,7 +192,42 @@ Suggested Actions:
Would you like me to implement these improvements?
```
### 5. Create New CLAUDE.md Files
### 5. Insert Plugin Integrations
When adding plugin integration content to CLAUDE.md:
**Placement:**
- Add plugin sections after the main project documentation
- Group all plugin integrations together under a clear header
- Use consistent formatting across all plugin sections
**Process:**
1. Read the plugin's `claude-md-integration.md` file
2. Show the content to the user for review
3. Ask for confirmation: "Add this plugin integration? [Y/n]"
4. If confirmed, insert at appropriate location in CLAUDE.md
5. Repeat for each missing plugin
**User Confirmation Flow:**
```
Plugin Integration: projman
--------------------------
[Show content from plugins/projman/claude-md-integration.md]
Add this integration to CLAUDE.md?
[1] Yes, add this integration
[2] Skip this plugin
[3] Add all remaining plugins
[4] Cancel
```
**Best Practices:**
- Never modify CLAUDE.md without user confirmation
- Show exactly what will be added before making changes
- Allow users to skip specific plugins they don't want documented
- Preserve existing CLAUDE.md structure and content
### 6. Create New CLAUDE.md Files
When creating a new CLAUDE.md:

View File

@@ -0,0 +1,30 @@
## CLAUDE.md Maintenance (claude-config-maintainer)
This project uses the **claude-config-maintainer** plugin to analyze and optimize CLAUDE.md configuration files.
### Available Commands
| Command | Description |
|---------|-------------|
| `/config-analyze` | Analyze CLAUDE.md for optimization opportunities with 100-point scoring |
| `/config-optimize` | Automatically optimize CLAUDE.md structure and content |
| `/config-init` | Initialize a new CLAUDE.md file for a project |
### Scoring System
The analysis uses a 100-point scoring system across four categories:
| Category | Points | What It Measures |
|----------|--------|------------------|
| Structure | 25 | Organization, headers, navigation, grouping |
| Clarity | 25 | Instructions, examples, language, detail level |
| Completeness | 25 | Overview, quick start, critical rules, workflows |
| Conciseness | 25 | Efficiency, no repetition, appropriate length |
### Usage Guidelines
- Run `/config-analyze` periodically to assess CLAUDE.md quality
- Target a score of **70+/100** for effective Claude Code operation
- Address HIGH priority issues first when optimizing
- Use `/config-init` when setting up new projects to start with best practices
- Re-analyze after making changes to verify improvements

View File

@@ -1,10 +1,10 @@
---
description: Analyze CLAUDE.md for optimization opportunities
description: Analyze CLAUDE.md for optimization opportunities and plugin integration
---
# Analyze CLAUDE.md
This command analyzes your project's CLAUDE.md file and provides a detailed report on optimization opportunities.
This command analyzes your project's CLAUDE.md file and provides a detailed report on optimization opportunities and plugin integration status.
## What This Command Does
@@ -12,7 +12,9 @@ This command analyzes your project's CLAUDE.md file and provides a detailed repo
2. **Analyze Structure** - Evaluates organization, headers, and flow
3. **Check Content** - Reviews clarity, completeness, and conciseness
4. **Identify Issues** - Finds redundancy, verbosity, and missing sections
5. **Generate Report** - Provides scored assessment with recommendations
5. **Detect Active Plugins** - Identifies marketplace plugins enabled in the project
6. **Check Plugin Integration** - Verifies CLAUDE.md references active plugins
7. **Generate Report** - Provides scored assessment with recommendations
## Usage
@@ -52,6 +54,29 @@ Analyze the CLAUDE.md file in this project
- Appropriate length for project size
- No generic filler content
## Plugin Integration Analysis
After the content analysis, the command detects and analyzes marketplace plugin integration:
### Detection Method
1. **Read `.claude/settings.local.json`** - Check for enabled MCP servers
2. **Map MCP servers to plugins** - Use marketplace registry to identify active plugins:
- `gitea` → projman
- `netbox` → cmdb-assistant
3. **Check for hooks** - Identify hook-based plugins (project-hygiene)
4. **Scan CLAUDE.md** - Look for plugin integration content
### Plugin Coverage Scoring
For each detected plugin, verify CLAUDE.md contains:
- Plugin section header or mention
- Available commands documentation
- MCP tools reference (if applicable)
- Usage guidelines
Coverage is reported as percentage: `(plugins referenced / plugins detected) * 100`
## Expected Output
```
@@ -101,10 +126,37 @@ Recommendations:
Estimated improvement: 15-20 points after changes
---
Plugin Integration Analysis
===========================
Detected Active Plugins:
✓ projman (via gitea MCP server)
✓ cmdb-assistant (via netbox MCP server)
✓ project-hygiene (via PostToolUse hook)
Plugin Coverage: 33% (1/3 plugins referenced)
✓ projman - Referenced in CLAUDE.md
✗ cmdb-assistant - NOT referenced
✗ project-hygiene - NOT referenced
Missing Integration Content:
1. cmdb-assistant
Add infrastructure management commands and NetBox MCP tools reference.
2. project-hygiene
Add cleanup hook documentation and configuration options.
---
Would you like me to:
[1] Implement all recommended changes
[2] Show before/after for specific section
[3] Generate optimized version for review
[1] Implement all content recommendations
[2] Add missing plugin integrations to CLAUDE.md
[3] Do both (recommended)
[4] Show preview of changes first
```
## When to Use
@@ -115,6 +167,8 @@ Run `/config-analyze` when:
- Claude seems to miss instructions
- Before major project changes
- Periodic maintenance (quarterly)
- After installing new marketplace plugins
- When Claude doesn't seem to use available plugin tools
## Follow-Up Actions

View File

@@ -3,10 +3,10 @@
"version": "1.0.0",
"description": "NetBox CMDB integration for infrastructure management - query, create, update, and manage network devices, IP addresses, sites, and more",
"author": {
"name": "Bandit Labs",
"email": "dev@banditlabs.io"
"name": "Leo Miranda",
"email": "leobmiranda@gmail.com"
},
"homepage": "https://github.com/bandit-labs/cmdb-assistant",
"homepage": "https://gitea.hotserv.cloud/personal-projects/support-claude-mktplace",
"license": "MIT",
"keywords": [
"netbox",

View File

@@ -167,4 +167,4 @@ The plugin uses the shared NetBox MCP server at `../mcp-servers/netbox/`.
## License
MIT License - Part of the Bandit Labs plugin collection.
MIT License - Part of the Claude Code Marketplace.

View File

@@ -0,0 +1,58 @@
## Infrastructure Management (cmdb-assistant)
This project uses the **cmdb-assistant** plugin for NetBox CMDB integration to manage network infrastructure.
### Available Commands
| Command | Description |
|---------|-------------|
| `/cmdb-search` | Search across all NetBox objects |
| `/cmdb-device` | Manage devices (create, update, list) |
| `/cmdb-ip` | Manage IP addresses and prefixes |
| `/cmdb-site` | Manage sites and locations |
### MCP Tools Available
The following NetBox MCP tools are available for infrastructure management:
**DCIM (Data Center Infrastructure Management):**
- `dcim_list_devices`, `dcim_get_device`, `dcim_create_device`, `dcim_update_device` - Device management
- `dcim_list_sites`, `dcim_get_site`, `dcim_create_site` - Site management
- `dcim_list_racks`, `dcim_get_rack`, `dcim_create_rack` - Rack management
- `dcim_list_interfaces`, `dcim_create_interface` - Interface management
- `dcim_list_cables`, `dcim_create_cable` - Cable management
- `dcim_list_device_types`, `dcim_list_device_roles`, `dcim_list_manufacturers` - Reference data
- `dcim_list_regions`, `dcim_list_locations` - Location hierarchy
**IPAM (IP Address Management):**
- `ipam_list_ip_addresses`, `ipam_create_ip_address`, `ipam_get_ip_address` - IP address management
- `ipam_list_prefixes`, `ipam_create_prefix`, `ipam_list_available_prefixes` - Prefix management
- `ipam_list_vlans`, `ipam_create_vlan` - VLAN management
- `ipam_list_vrfs`, `ipam_create_vrf` - VRF management
- `ipam_list_available_ips`, `ipam_create_available_ip` - IP allocation
**Virtualization:**
- `virtualization_list_virtual_machines`, `virtualization_create_virtual_machine` - VM management
- `virtualization_list_clusters`, `virtualization_create_cluster` - Cluster management
- `virtualization_list_vm_interfaces` - VM interface management
**Circuits:**
- `circuits_list_circuits`, `circuits_create_circuit` - Circuit management
- `circuits_list_providers`, `circuits_create_provider` - Provider management
**Tenancy:**
- `tenancy_list_tenants`, `tenancy_create_tenant` - Tenant management
- `tenancy_list_contacts`, `tenancy_create_contact` - Contact management
**Extras:**
- `extras_list_tags`, `extras_create_tag` - Tag management
- `extras_list_journal_entries`, `extras_create_journal_entry` - Audit journal
- `extras_list_object_changes` - Change tracking
### Usage Guidelines
- Use NetBox MCP tools for all infrastructure queries and modifications
- Always verify device/IP existence before creating duplicates
- Use tags for categorization and filtering
- Create journal entries for significant changes to maintain audit trail
- Check available IPs in a prefix before manual allocation

View File

@@ -294,4 +294,4 @@ logging.basicConfig(level=logging.DEBUG)
## License
Part of the Bandit Labs Claude Code Plugins project (`support-claude-mktplace`).
MIT License - Part of the Claude Code Marketplace (`support-claude-mktplace`).

View File

@@ -3,12 +3,12 @@
"version": "0.1.0",
"description": "Post-task cleanup hook that removes temp files, warns about unexpected root files, and manages orphaned supporting files",
"author": {
"name": "Bandit Labs",
"email": "dev@banditlabs.io"
"name": "Leo Miranda",
"email": "leobmiranda@gmail.com"
},
"license": "MIT",
"keywords": ["cleanup", "hygiene", "automation", "hooks", "maintenance"],
"repository": "https://github.com/bandit-labs/project-hygiene",
"repository": "https://gitea.hotserv.cloud/personal-projects/support-claude-mktplace",
"hooks": {
"PostToolUse": [
{

View File

@@ -0,0 +1,36 @@
## Project Cleanup (project-hygiene)
This project uses the **project-hygiene** plugin for automated post-task cleanup.
### How It Works
The plugin automatically runs after file Write or Edit operations to:
1. **Delete temporary files** - Removes `*.tmp`, `*.bak`, `__pycache__/`, `.pytest_cache/`, etc.
2. **Warn about unexpected root files** - Alerts when files are created outside expected locations
3. **Identify orphaned files** - Detects supporting files that may no longer be needed
### Configuration
The plugin can be configured via `.hygiene.json` in the project root:
```json
{
"temp_patterns": ["*.tmp", "*.bak", "*.swp"],
"ignore_dirs": ["node_modules", ".git", ".venv"],
"allowed_root_files": ["CLAUDE.md", "README.md", "LICENSE"],
"warn_on_root_files": true
}
```
### Hook Events
The plugin registers on the following events:
- `PostToolUse` (matcher: `Write|Edit`) - Runs cleanup after file modifications
### Usage Guidelines
- Let the hook run automatically - no manual intervention needed
- Review warnings about unexpected root files
- Configure `.hygiene.json` to customize cleanup behavior for your project
- Check cleanup output if files seem to disappear unexpectedly

View File

@@ -3,11 +3,11 @@
"version": "2.0.0",
"description": "Sprint planning and project management with Gitea integration",
"author": {
"name": "Bandit Labs",
"email": "dev@banditlabs.io"
"name": "Leo Miranda",
"email": "leobmiranda@gmail.com"
},
"license": "MIT",
"repository": "https://gitea.hotserv.cloud/bandit/support-claude-mktplace",
"repository": "https://gitea.hotserv.cloud/personal-projects/support-claude-mktplace",
"keywords": [
"project-management",
"sprint-planning",

View File

@@ -438,5 +438,4 @@ MIT License - See repository root for details
---
**Built for:** Bandit Labs
**Status:** Production Ready

View File

@@ -0,0 +1,56 @@
## Sprint Management (projman)
This project uses the **projman** plugin for sprint planning and project management with Gitea integration.
### Available Commands
| Command | Description |
|---------|-------------|
| `/sprint-plan` | Start sprint planning with AI-guided architecture analysis |
| `/sprint-start` | Begin sprint execution with relevant lessons learned |
| `/sprint-status` | Check current sprint progress and identify blockers |
| `/sprint-close` | Complete sprint and capture lessons learned to Gitea Wiki |
| `/labels-sync` | Synchronize label taxonomy from Gitea |
| `/initial-setup` | Run initial setup for projman plugin |
### MCP Tools Available
The following Gitea MCP tools are available for issue and project management:
**Issue Management:**
- `list_issues` - Query issues with filters (state, labels)
- `get_issue` - Fetch single issue details
- `create_issue` - Create new issue with labels
- `update_issue` - Modify existing issue
- `add_comment` - Add comments to issues
**Labels:**
- `get_labels` - Fetch org + repo label taxonomy
- `suggest_labels` - Analyze context and suggest appropriate labels
- `create_label` - Create missing required labels
**Milestones:**
- `list_milestones` - List sprint milestones
- `get_milestone` - Get milestone details
- `create_milestone` - Create sprint milestone
- `update_milestone` - Update/close milestone
**Dependencies:**
- `list_issue_dependencies` - Get issue dependencies
- `create_issue_dependency` - Create dependency between issues
- `get_execution_order` - Get parallel execution batches
**Wiki (Lessons Learned):**
- `list_wiki_pages` - List wiki pages
- `get_wiki_page` - Fetch specific page content
- `create_wiki_page` - Create new wiki page
- `create_lesson` - Create lessons learned document
- `search_lessons` - Search past lessons by tags
### Usage Guidelines
- **Always use `/sprint-plan`** when starting new development work
- **Check `/sprint-status`** regularly during active sprints
- **Run `/sprint-close`** at the end of each sprint to capture lessons learned
- Use `suggest_labels` when creating issues to ensure proper categorization
- Search lessons learned with `search_lessons` before implementing features to avoid repeated mistakes

View File

@@ -389,7 +389,7 @@ def list_issues(self, state='open', labels=None, repo=None):
## License
Part of the Bandit Labs Claude Code Plugins project.
MIT License - Part of the Claude Code Marketplace project.
## Related Documentation
@@ -407,7 +407,7 @@ For issues or questions:
---
**Built for**: Bandit Labs Project Management Plugins
**Built for**: Claude Code Marketplace - Project Management Plugins
**Phase**: 1 (Complete)
**Status**: ✅ Production Ready
**Last Updated**: 2025-01-06

View File

@@ -45,7 +45,7 @@ class GiteaClient:
"""Parse owner/repo from input. Always requires 'owner/repo' format."""
target = repo or self.repo
if not target or '/' not in target:
raise ValueError("Use 'owner/repo' format (e.g. 'bandit/support-claude-mktplace')")
raise ValueError("Use 'owner/repo' format (e.g. 'org/repo-name')")
parts = target.split('/', 1)
return parts[0], parts[1]

View File

@@ -32,7 +32,7 @@ class LabelTools:
target_repo = repo or self.gitea.repo
if not target_repo or '/' not in target_repo:
raise ValueError("Use 'owner/repo' format (e.g. 'bandit/support-claude-mktplace')")
raise ValueError("Use 'owner/repo' format (e.g. 'org/repo-name')")
org = target_repo.split('/')[0]

View File

@@ -7,7 +7,7 @@ description: Dynamic reference for Gitea label taxonomy (organization + reposito
**Status:** ✅ Synced with Gitea
**Last synced:** 2025-11-21 (via automated testing)
**Source:** Gitea (bandit/support-claude-mktplace)
**Source:** Gitea (personal-projects/support-claude-mktplace)
## Overview
@@ -17,7 +17,7 @@ This skill provides the current label taxonomy used for issue classification in
## Organization Labels (27)
Organization-level labels are shared across all repositories in the `bandit` organization.
Organization-level labels are shared across all repositories in your configured organization.
### Agent (2)
- `Agent/Human` (#0052cc) - Work performed by human developers