ensemble

skill
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 9 GitHub stars
Code Basarisiz
  • rm -rf — Recursive force deletion command in .github/workflows/auto-implement.yml
  • fs module — File system access in .github/workflows/auto-implement.yml
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose

This tool is a modular plugin ecosystem designed for Claude Code that provides AI-augmented development workflows, automated agents, and framework-specific skills (such as React and Rails) to assist in coding tasks.

Security Assessment

The tool has a medium overall risk profile. While it does not request explicitly dangerous permissions, a code scan flagged a recursive force deletion command (`rm -rf`) located inside a GitHub Actions workflow file. Although this appears to be restricted to an automated CI/CD pipeline rather than your local execution environment, the presence of file system access operations warrants caution. No hardcoded secrets were detected. Users should be aware that as an AI orchestration tool, it inherently executes commands and interacts with local files as part of its core functionality.

Quality Assessment

The project is actively maintained, with its latest repository push occurring today. It is properly licensed under the permissive and standard MIT license. However, community trust and visibility are currently very low. With only 9 GitHub stars, the project has not yet been widely adopted or heavily vetted by the broader open-source community. The codebase is highly ambitious, boasting 24 different packages across 4 tiers, which might be difficult for a small user base to thoroughly test and secure.

Verdict

Use with caution—the project is active and properly licensed, but low community visibility combined with dangerous CI pipeline commands means you should review the code before integrating it into your local environment.
SUMMARY

Ensemble Plugin Ecosystem - Modular Claude Code plugins for AI-augmented development workflows

README.md

Ensemble Plugins

Modular plugin ecosystem for Claude Code, enabling flexible, pay-what-you-need AI-augmented development workflows.

Overview

Ensemble Plugins v5.0.0 provides a modular plugin system for Claude Code, allowing developers to install only the capabilities they need—from core orchestration to framework-specific skills.

Architecture

The plugin ecosystem is organized into 4 tiers across 24 packages:

Tier 1: Core Foundation

  • ensemble-core (5.0.0) - Essential orchestration, agents, and utilities

Tier 2: Workflow Plugins

  • ensemble-product - Product management (PRD creation, analysis)
  • ensemble-development - Frontend/backend implementation agents
  • ensemble-quality - Code review, testing, DoD enforcement
  • ensemble-infrastructure - AWS, Kubernetes, Docker, Helm, Fly.io automation
  • ensemble-git - Git workflow and conventional commits
  • ensemble-e2e-testing - Playwright integration for E2E testing
  • ensemble-metrics - Productivity analytics and dashboard

Tier 3: Framework Skills

  • ensemble-react - React component development
  • ensemble-nestjs - NestJS backend patterns
  • ensemble-rails - Ruby on Rails MVC
  • ensemble-phoenix - Phoenix LiveView patterns
  • ensemble-blazor - Blazor .NET components

Tier 4: Testing Framework Integration

  • ensemble-jest - Jest testing patterns
  • ensemble-pytest - Pytest testing patterns
  • ensemble-rspec - RSpec testing patterns
  • ensemble-xunit - xUnit testing patterns
  • ensemble-exunit - ExUnit testing patterns

Utilities

  • ensemble-agent-progress-pane (5.1.0) - Real-time subagent monitoring in terminal panes
  • ensemble-task-progress-pane (5.0.0) - TodoWrite progress visualization
  • ensemble-multiplexer-adapters - Terminal multiplexer abstraction layer

Runtime Translation

  • ensemble-opencode (5.3.0) - OpenCode runtime support (translates Ensemble artifacts to OpenCode-compatible formats)

Meta-Package

  • ensemble-full - Complete ecosystem (all plugins bundled)

Installation

Plugins are installed using Claude Code's interactive /plugin command.

Quick Start (Full Ecosystem)

In Claude Code, run:

# Add the Ensemble marketplace
/plugin marketplace add FortiumPartners/ensemble

# Install the full bundle (all plugins)
/plugin install ensemble-full@ensemble

Or use the interactive UI: type /pluginDiscover tab → select ensemble-full → choose your scope.

Modular Installation

Install only what you need from the marketplace:

# Core foundation (required)
/plugin install ensemble-core@ensemble

# Workflow plugins
/plugin install ensemble-product@ensemble
/plugin install ensemble-development@ensemble
/plugin install ensemble-quality@ensemble
/plugin install ensemble-infrastructure@ensemble
/plugin install ensemble-git@ensemble
/plugin install ensemble-e2e-testing@ensemble

# Framework skills (optional)
/plugin install ensemble-react@ensemble
/plugin install ensemble-nestjs@ensemble

# Testing support (optional)
/plugin install ensemble-jest@ensemble
/plugin install ensemble-pytest@ensemble

Local Installation (Development)

For local development or testing, use the --plugin-dir flag:

# Clone the repository
git clone https://github.com/FortiumPartners/ensemble.git

# Run Claude Code with a local plugin
claude --plugin-dir ./ensemble/packages/core

Installation Scopes

When installing plugins, you can choose a scope:

  • User (default) — available across all your projects
  • Project — shared with collaborators via .claude/settings.json
  • Local — personal, per-repository (not shared)

Usage

After installation, plugins automatically register their agents, commands, and skills with Claude Code.

Available Commands

Commands are provided by specific plugins:

  • /create-prd - Product requirements (ensemble-product)
  • /create-trd - Technical requirements (ensemble-core)
  • /implement-trd - TRD implementation (ensemble-development)
  • /fold-prompt - Project optimization (ensemble-core)
  • /dashboard - Metrics dashboard (ensemble-metrics)

Agent Mesh

Plugins provide 28 specialized agents across domains:

  • Orchestrators: ai-mesh-orchestrator, tech-lead-orchestrator, product-management-orchestrator, qa-orchestrator, build-orchestrator, deployment-orchestrator, infrastructure-orchestrator
  • Developers: frontend-developer, backend-developer, infrastructure-developer
  • Quality: code-reviewer, test-runner, playwright-tester, deep-debugger
  • Specialists: documentation-specialist, api-documentation-specialist, postgresql-specialist, github-specialist, helm-chart-specialist
  • Utilities: git-workflow, file-creator, context-fetcher, directory-monitor, release-agent, agent-meta-engineer

OpenCode Support

Ensemble plugins can be used with the OpenCode runtime via the ensemble-opencode translation layer. This generates OpenCode-compatible agents, commands, skills, and configuration from the existing Ensemble YAML/JSON/Markdown artifacts.

Generating OpenCode Artifacts

# Generate all OpenCode artifacts to dist/opencode/
npm run generate:opencode

# Preview without writing files
npm run generate:opencode -- --dry-run

# Validate generated config against OpenCode schema
npm run generate:opencode -- --validate

# Custom output directory
npm run generate:opencode -- --output-dir ./my-output

The generator produces:

  • Skills: Copies and validates SKILL.md files to .opencode/skill/
  • Commands: Translates YAML commands to OpenCode Markdown format in .opencode/commands/ensemble/
  • Agents: Converts 28 agent YAML definitions to OpenCode JSON config + Markdown agent files
  • Hooks: Bridges Ensemble PreToolUse/PostToolUse hooks to OpenCode's typed hook API via @opencode-ai/plugin SDK
  • Manifest: Generates opencode.json with agent, command, skill, plugin, and permission configuration

Installing in OpenCode

// In your opencode.json, add the plugin:
{
  "plugin": ["ensemble-opencode"]
}

For local development:

{
  "plugin": ["file:///absolute/path/to/packages/opencode"]
}

Output Structure

dist/opencode/
├── .opencode/
│   ├── agents/          # Agent markdown files
│   ├── commands/
│   │   └── ensemble/    # Translated command files
│   └── skill/           # Framework skill files
└── opencode.json        # OpenCode configuration manifest

Plugin Dependencies

Plugins declare dependencies to ensure compatibility:

ensemble-react
  └─ ensemble-development
      └─ ensemble-core

Claude Code automatically installs required dependencies when you install a plugin.

Development

Repository Structure

ensemble/
├── packages/               # Individual plugins
│   ├── core/              # Core plugin
│   ├── product/           # Product plugin
│   └── ...                # Additional plugins
├── schemas/               # Validation schemas
├── scripts/               # Build and validation scripts
└── marketplace.json       # Plugin registry

Building from Source

# Clone repository
git clone https://github.com/FortiumPartners/ensemble.git
cd ensemble

# Install dependencies
npm install

# Validate all plugins
npm run validate

# Run tests
npm test

Creating a New Plugin

  1. Create package structure:
mkdir -p packages/my-plugin/{.claude-plugin,agents,commands,skills,lib,tests}
  1. Create packages/my-plugin/.claude-plugin/plugin.json:
{
  "name": "ensemble-my-plugin",
  "version": "1.0.0",
  "description": "My custom plugin",
  "author": {
    "name": "Your Name",
    "email": "[email protected]"
  },
  "license": "MIT",
  "keywords": ["my-plugin", "ensemble"],
  "agents": "./agents",
  "commands": "./commands",
  "skills": "./skills"
}
  1. Create packages/my-plugin/package.json
  2. Add agents, commands, and skills
  3. Validate: npm run validate
  4. Test: npm test

Migration from ensemble v3.x/v4.x

If you're migrating from previous ensemble versions:

  1. Identify current usage: Review which agents/commands you actively use
  2. Install equivalent plugins: Map your usage to the new modular plugins
  3. Update references: Plugin names have changed (e.g., infrastructure-management-subagentensemble-infrastructure)
  4. Test workflows: Verify your development workflows still function

Migration Guide

v3.x/v4.x Component v5.0 Plugin
ensemble-orchestrator ensemble-core
product-management-orchestrator ensemble-product
frontend-developer ensemble-development
backend-developer ensemble-development
infrastructure-management-subagent ensemble-infrastructure
code-reviewer ensemble-quality
test-runner ensemble-quality
git-workflow ensemble-git
playwright-tester ensemble-e2e-testing
manager-dashboard-agent ensemble-metrics
ensemble-pane-viewer ensemble-agent-progress-pane (now 5.1.0)
task-progress-pane ensemble-task-progress-pane (new)

Configuration

Ensemble uses XDG-compliant configuration paths:

Config Directory Location

The config directory is determined in this order:

  1. $XDG_CONFIG_HOME/ensemble/ (if XDG_CONFIG_HOME is set)
  2. ~/.config/ensemble/ (if ~/.config exists)
  3. ~/.ensemble/ (fallback)

Directory Structure

~/.config/ensemble/           # or ~/.ensemble/
├── plugins/
│   ├── task-progress-pane/   # Task progress plugin config
│   └── agent-progress-pane/  # Agent progress pane plugin config
├── logs/                     # Log files
├── cache/                    # Cache data
└── sessions/                 # Session data

Migrating from ai-mesh

If you have existing ai-mesh configuration directories, use the migration script:

# Preview what will be migrated
node scripts/migrate-config.js --dry-run

# Perform migration
node scripts/migrate-config.js

# Force overwrite existing files
node scripts/migrate-config.js --force

The script migrates:

  • ~/.ai-mesh-task-progress/~/.config/ensemble/plugins/task-progress-pane/
  • ~/.ai-mesh-pane-viewer/~/.config/ensemble/plugins/agent-progress-pane/

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make changes in the relevant package(s)
  4. Add/update tests
  5. Run validation: npm run validate
  6. Run tests: npm test
  7. Submit a pull request

Versioning

All plugins follow Semantic Versioning:

  • Major: Breaking changes (e.g., 4.x → 5.0)
  • Minor: New features, backward compatible (e.g., 5.0 → 5.1)
  • Patch: Bug fixes, backward compatible (e.g., 5.0.0 → 5.0.1)

Core plugins (Tier 1-2) maintain version synchronization. Framework and testing plugins (Tier 3-4) may have independent versions.

License

MIT - See LICENSE for details.

Support

Acknowledgments

Built on the foundation of previous ensemble versions, which achieved:

  • 35-40% productivity improvements
  • 87-99% performance optimization
  • 28 specialized agents (v5.0)
  • Production validation across multiple teams

Changelog

See CHANGELOG.md for version history and release notes.


Maintained by Fortium Partners | Website | GitHub

Yorumlar (0)

Sonuc bulunamadi