Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 40 additions & 18 deletions plugins/backend/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,49 @@
},
"license": "MIT",
"agents": [
"api-scaffolding/agents",
"api-testing-observability/agents",
"backend-api-security/agents",
"backend-development/agents",
"c4-architecture/agents",
"database-cloud-optimization/agents",
"database-design/agents",
"database-migrations/agents",
"full-stack-orchestration/agents"
"./api-scaffolding/agents/api-scaffolding-backend-architect.md",
"./api-scaffolding/agents/api-scaffolding-graphql-architect.md",
"./api-scaffolding/agents/django-pro.md",
"./api-scaffolding/agents/fastapi-pro.md",
"./api-testing-observability/agents/api-documenter.md",
"./backend-api-security/agents/backend-api-security-backend-architect.md",
"./backend-api-security/agents/backend-security-coder.md",
"./backend-development/agents/backend-development-backend-architect.md",
Comment on lines 10 to +18

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Inventory enotdir on agents 🐞 Bug ≡ Correctness

Domain plugin manifests now list individual agent .md files in manifest.agents, but backend
inventory treats each entry as a directory and calls readdir() on it. This will deterministically
throw ENOTDIR and break rstack-agents inventory (and any other inventory builds) for these domain
plugins.
Agent Prompt
## Issue description
Domain plugin manifests now provide `agents` as a list of individual `./.../*.md` files, but `src/core/inventory/backend-inventory.js` assumes `manifest.agents` contains directories and passes each entry into `listFilesRecursive(...)`, which calls `readdir(...)`. When the entry is a file, this throws `ENOTDIR` and breaks inventory generation.

## Issue Context
This PR intentionally changed domain `plugin.json` manifests to satisfy Claude Code manifest validation rules (agents must be files, path must start with `./`). Repo tooling must accept both shapes (directory-based and file-based) to remain compatible.

## Fix Focus Areas
- src/core/inventory/backend-inventory.js[82-95]
- src/core/inventory/backend-inventory.js[223-255]

## Implementation notes
- Update the inventory plugin scanning to support `manifest.agents` entries that are either:
  - directories (existing behavior), OR
  - individual `.md` files (new domain-manifest behavior).
- One robust approach:
  - Replace `listFilesRecursive(dir, ...)` with logic that `stat`s the path:
    - if directory: recurse as today
    - if file: treat it as a singleton candidate (include it if it matches predicate)
- Ensure the same logic is safe for `commands` and `skills` if they ever become file-based (optional), but at minimum fix `agents` so current manifests don’t crash inventory.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — already fixed in this same PR by an earlier commit (5b1aa49), pushed before this review ran: added resolveMarkdownFiles() in src/core/inventory/backend-inventory.js, which stats each manifest path and handles both directories and individual .md files instead of assuming scandir() always works. Verified via tests/backend-inventory.test.js (5/5 pass) and this PR's CI (Node 18.x/20.x/22.x test jobs, now green).

"./backend-development/agents/backend-development-graphql-architect.md",
"./backend-development/agents/backend-development-performance-engineer.md",
"./backend-development/agents/backend-development-security-auditor.md",
"./backend-development/agents/backend-development-test-automator.md",
"./backend-development/agents/event-sourcing-architect.md",
"./backend-development/agents/tdd-orchestrator.md",
"./backend-development/agents/temporal-python-pro.md",
"./c4-architecture/agents/c4-code.md",
"./c4-architecture/agents/c4-component.md",
"./c4-architecture/agents/c4-container.md",
"./c4-architecture/agents/c4-context.md",
"./database-cloud-optimization/agents/cloud-architect.md",
"./database-cloud-optimization/agents/database-cloud-optimization-backend-architect.md",
"./database-cloud-optimization/agents/database-cloud-optimization-database-architect.md",
"./database-cloud-optimization/agents/database-optimizer.md",
"./database-design/agents/database-design-database-architect.md",
"./database-design/agents/sql-pro.md",
"./database-migrations/agents/database-admin.md",
"./database-migrations/agents/database-optimizer.md",
"./full-stack-orchestration/agents/deployment-engineer.md",
"./full-stack-orchestration/agents/full-stack-orchestration-performance-engineer.md",
"./full-stack-orchestration/agents/full-stack-orchestration-security-auditor.md",
"./full-stack-orchestration/agents/full-stack-orchestration-test-automator.md"
],
"commands": [
"api-testing-observability/commands",
"backend-development/commands",
"c4-architecture/commands",
"database-cloud-optimization/commands",
"database-migrations/commands",
"full-stack-orchestration/commands"
"./api-testing-observability/commands",
"./backend-development/commands",
"./c4-architecture/commands",
"./database-cloud-optimization/commands",
"./database-migrations/commands",
"./full-stack-orchestration/commands"
],
"skills": [
"api-scaffolding/skills",
"backend-development/skills",
"database-design/skills"
"./api-scaffolding/skills",
"./backend-development/skills",
"./database-design/skills"
]
}
34 changes: 20 additions & 14 deletions plugins/data-ml/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,29 @@
},
"license": "MIT",
"agents": [
"blockchain-web3/agents",
"data-engineering/agents",
"data-validation-suite/agents",
"llm-application-dev/agents",
"machine-learning-ops/agents",
"quantitative-trading/agents"
"./blockchain-web3/agents/blockchain-developer.md",
"./data-engineering/agents/backend-architect.md",
"./data-engineering/agents/data-engineer.md",
"./data-validation-suite/agents/backend-security-coder.md",
"./llm-application-dev/agents/ai-engineer.md",
"./llm-application-dev/agents/prompt-engineer.md",
"./llm-application-dev/agents/vector-database-engineer.md",
"./machine-learning-ops/agents/data-scientist.md",
"./machine-learning-ops/agents/ml-engineer.md",
"./machine-learning-ops/agents/mlops-engineer.md",
"./quantitative-trading/agents/quant-analyst.md",
"./quantitative-trading/agents/risk-manager.md"
],
"commands": [
"data-engineering/commands",
"llm-application-dev/commands",
"machine-learning-ops/commands"
"./data-engineering/commands",
"./llm-application-dev/commands",
"./machine-learning-ops/commands"
],
"skills": [
"blockchain-web3/skills",
"data-engineering/skills",
"llm-application-dev/skills",
"machine-learning-ops/skills",
"quantitative-trading/skills"
"./blockchain-web3/skills",
"./data-engineering/skills",
"./llm-application-dev/skills",
"./machine-learning-ops/skills",
"./quantitative-trading/skills"
]
}
57 changes: 39 additions & 18 deletions plugins/devops-cloud/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,48 @@
},
"license": "MIT",
"agents": [
"application-performance/agents",
"cicd-automation/agents",
"cloud-infrastructure/agents",
"deployment-strategies/agents",
"deployment-validation/agents",
"incident-response/agents",
"kubernetes-operations/agents",
"observability-monitoring/agents"
"./application-performance/agents/frontend-developer.md",
"./application-performance/agents/observability-engineer.md",
"./application-performance/agents/performance-engineer.md",
"./cicd-automation/agents/cicd-automation-cloud-architect.md",
"./cicd-automation/agents/cicd-automation-deployment-engineer.md",
"./cicd-automation/agents/cicd-automation-devops-troubleshooter.md",
"./cicd-automation/agents/kubernetes-architect.md",
"./cicd-automation/agents/terraform-specialist.md",
"./cloud-infrastructure/agents/cloud-infrastructure-cloud-architect.md",
"./cloud-infrastructure/agents/cloud-infrastructure-deployment-engineer.md",
"./cloud-infrastructure/agents/hybrid-cloud-architect.md",
"./cloud-infrastructure/agents/kubernetes-architect.md",
"./cloud-infrastructure/agents/network-engineer.md",
"./cloud-infrastructure/agents/service-mesh-expert.md",
"./cloud-infrastructure/agents/terraform-specialist.md",
"./deployment-strategies/agents/deployment-strategies-deployment-engineer.md",
"./deployment-strategies/agents/terraform-specialist.md",
"./deployment-validation/agents/deployment-validation-cloud-architect.md",
"./incident-response/agents/code-reviewer.md",
"./incident-response/agents/debugger.md",
"./incident-response/agents/error-detective.md",
"./incident-response/agents/incident-responder.md",
"./incident-response/agents/incident-response-devops-troubleshooter.md",
"./incident-response/agents/test-automator.md",
"./kubernetes-operations/agents/kubernetes-architect.md",
"./observability-monitoring/agents/database-optimizer.md",
"./observability-monitoring/agents/network-engineer.md",
"./observability-monitoring/agents/observability-engineer.md",
"./observability-monitoring/agents/performance-engineer.md"
],
"commands": [
"application-performance/commands",
"cicd-automation/commands",
"deployment-validation/commands",
"incident-response/commands",
"observability-monitoring/commands"
"./application-performance/commands",
"./cicd-automation/commands",
"./deployment-validation/commands",
"./incident-response/commands",
"./observability-monitoring/commands"
],
"skills": [
"cicd-automation/skills",
"cloud-infrastructure/skills",
"incident-response/skills",
"kubernetes-operations/skills",
"observability-monitoring/skills"
"./cicd-automation/skills",
"./cloud-infrastructure/skills",
"./incident-response/skills",
"./kubernetes-operations/skills",
"./observability-monitoring/skills"
]
}
32 changes: 23 additions & 9 deletions plugins/docs-content/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,32 @@
},
"license": "MIT",
"agents": [
"code-documentation/agents",
"content-marketing/agents",
"documentation-generation/agents",
"seo-analysis-monitoring/agents",
"seo-content-creation/agents",
"seo-technical-optimization/agents"
"./code-documentation/agents/code-reviewer.md",
"./code-documentation/agents/docs-architect.md",
"./code-documentation/agents/tutorial-engineer.md",
"./content-marketing/agents/content-marketer.md",
"./content-marketing/agents/search-specialist.md",
"./documentation-generation/agents/api-documenter.md",
"./documentation-generation/agents/docs-architect.md",
"./documentation-generation/agents/mermaid-expert.md",
"./documentation-generation/agents/reference-builder.md",
"./documentation-generation/agents/tutorial-engineer.md",
"./seo-analysis-monitoring/agents/seo-authority-builder.md",
"./seo-analysis-monitoring/agents/seo-cannibalization-detector.md",
"./seo-analysis-monitoring/agents/seo-content-refresher.md",
"./seo-content-creation/agents/seo-content-auditor.md",
"./seo-content-creation/agents/seo-content-planner.md",
"./seo-content-creation/agents/seo-content-writer.md",
"./seo-technical-optimization/agents/seo-keyword-strategist.md",
"./seo-technical-optimization/agents/seo-meta-optimizer.md",
"./seo-technical-optimization/agents/seo-snippet-hunter.md",
"./seo-technical-optimization/agents/seo-structure-architect.md"
],
"commands": [
"code-documentation/commands",
"documentation-generation/commands"
"./code-documentation/commands",
"./documentation-generation/commands"
],
"skills": [
"documentation-generation/skills"
"./documentation-generation/skills"
]
}
35 changes: 23 additions & 12 deletions plugins/frontend-mobile/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,32 @@
},
"license": "MIT",
"agents": [
"frontend-mobile-development/agents",
"frontend-mobile-security/agents",
"game-development/agents",
"multi-platform-apps/agents",
"ui-design/agents"
"./frontend-mobile-development/agents/frontend-developer.md",
"./frontend-mobile-development/agents/mobile-developer.md",
"./frontend-mobile-security/agents/frontend-developer.md",
"./frontend-mobile-security/agents/frontend-security-coder.md",
"./frontend-mobile-security/agents/mobile-security-coder.md",
"./game-development/agents/minecraft-bukkit-pro.md",
"./game-development/agents/unity-developer.md",
"./multi-platform-apps/agents/backend-architect.md",
"./multi-platform-apps/agents/flutter-expert.md",
"./multi-platform-apps/agents/frontend-developer.md",
"./multi-platform-apps/agents/ios-developer.md",
"./multi-platform-apps/agents/mobile-developer.md",
"./multi-platform-apps/agents/ui-ux-designer.md",
"./ui-design/agents/accessibility-expert.md",
"./ui-design/agents/design-system-architect.md",
"./ui-design/agents/ui-designer.md"
],
"commands": [
"frontend-mobile-development/commands",
"frontend-mobile-security/commands",
"multi-platform-apps/commands",
"ui-design/commands"
"./frontend-mobile-development/commands",
"./frontend-mobile-security/commands",
"./multi-platform-apps/commands",
"./ui-design/commands"
],
"skills": [
"frontend-mobile-development/skills",
"game-development/skills",
"ui-design/skills"
"./frontend-mobile-development/skills",
"./game-development/skills",
"./ui-design/skills"
]
}
47 changes: 29 additions & 18 deletions plugins/languages/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,38 @@
],
"license": "MIT",
"agents": [
"arm-cortex-microcontrollers/agents",
"dotnet-contribution/agents",
"functional-programming/agents",
"javascript-typescript/agents",
"julia-development/agents",
"jvm-languages/agents",
"python-development/agents",
"shell-scripting/agents",
"systems-programming/agents",
"web-scripting/agents"
"./arm-cortex-microcontrollers/agents/arm-cortex-expert.md",
"./dotnet-contribution/agents/dotnet-architect.md",
"./functional-programming/agents/elixir-pro.md",
"./functional-programming/agents/haskell-pro.md",
"./javascript-typescript/agents/javascript-pro.md",
"./javascript-typescript/agents/typescript-pro.md",
"./julia-development/agents/julia-pro.md",
"./jvm-languages/agents/csharp-pro.md",
"./jvm-languages/agents/java-pro.md",
"./jvm-languages/agents/scala-pro.md",
"./python-development/agents/django-pro.md",
"./python-development/agents/fastapi-pro.md",
"./python-development/agents/python-pro.md",
"./shell-scripting/agents/bash-pro.md",
"./shell-scripting/agents/posix-shell-pro.md",
"./systems-programming/agents/c-pro.md",
"./systems-programming/agents/cpp-pro.md",
"./systems-programming/agents/golang-pro.md",
"./systems-programming/agents/rust-pro.md",
"./web-scripting/agents/php-pro.md",
"./web-scripting/agents/ruby-pro.md"
],
"commands": [
"javascript-typescript/commands",
"python-development/commands",
"systems-programming/commands"
"./javascript-typescript/commands",
"./python-development/commands",
"./systems-programming/commands"
],
"skills": [
"dotnet-contribution/skills",
"javascript-typescript/skills",
"python-development/skills",
"shell-scripting/skills",
"systems-programming/skills"
"./dotnet-contribution/skills",
"./javascript-typescript/skills",
"./python-development/skills",
"./shell-scripting/skills",
"./systems-programming/skills"
]
}
44 changes: 24 additions & 20 deletions plugins/product-team/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,33 @@
},
"license": "Apache-2.0 AND MIT",
"agents": [
"agent-orchestration/agents",
"agent-teams/agents",
"business-analytics/agents",
"conductor/agents",
"context-management/agents",
"customer-sales-automation/agents",
"developer-essentials/agents",
"startup-business-analyst/agents",
"team-collaboration/agents"
"./agent-orchestration/agents/context-manager.md",
"./agent-teams/agents/team-debugger.md",
"./agent-teams/agents/team-implementer.md",
"./agent-teams/agents/team-lead.md",
"./agent-teams/agents/team-reviewer.md",
"./business-analytics/agents/business-analyst.md",
"./conductor/agents/conductor-validator.md",
"./context-management/agents/context-manager.md",
"./customer-sales-automation/agents/customer-support.md",
"./customer-sales-automation/agents/sales-automator.md",
"./developer-essentials/agents/monorepo-architect.md",
"./startup-business-analyst/agents/startup-analyst.md",
"./team-collaboration/agents/dx-optimizer.md"
],
"commands": [
"agent-orchestration/commands",
"agent-teams/commands",
"conductor/commands",
"context-management/commands",
"startup-business-analyst/commands",
"team-collaboration/commands"
"./agent-orchestration/commands",
"./agent-teams/commands",
"./conductor/commands",
"./context-management/commands",
"./startup-business-analyst/commands",
"./team-collaboration/commands"
],
"skills": [
"agent-teams/skills",
"business-analytics/skills",
"conductor/skills",
"developer-essentials/skills",
"startup-business-analyst/skills"
"./agent-teams/skills",
"./business-analytics/skills",
"./conductor/skills",
"./developer-essentials/skills",
"./startup-business-analyst/skills"
]
}
Loading
Loading