Skip to content

Orchestre v5 Resource Reference

Overview

Orchestre v5 provides contextual resources through the MCP (Model Context Protocol) resource system. Resources are read-only data sources that prompts can access to provide better context and more accurate implementations.

Resource URI Scheme

All Orchestre resources follow the URI pattern:

orchestre://[namespace]/[type]/[identifier]

Available Resource Namespaces

Memory Resources (orchestre://memory/)

Provides access to the distributed memory system.

URI PatternDescriptionContent Type
orchestre://memory/projectMain project memory (CLAUDE.md)Markdown
orchestre://memory/features/*Feature-specific documentationMarkdown
orchestre://memory/architectureArchitecture decisions and patternsMarkdown
orchestre://memory/sessions/*Development session logsMarkdown
orchestre://memory/patterns/*Discovered code patternsMarkdown
orchestre://memory/reviews/*Code review resultsMarkdown
orchestre://memory/knowledge/*Knowledge base entriesMarkdown

Example Usage:

orchestre://memory/features/authentication.md
orchestre://memory/sessions/2024-01-15-auth-impl.md
orchestre://memory/patterns/repository-pattern.md

Pattern Resources (orchestre://patterns/)

Provides access to best practices and implementation patterns.

URI PatternDescriptionContent Type
orchestre://patterns/architectureArchitectural patternsJSON/Markdown
orchestre://patterns/implementationCode implementation patternsJSON/Markdown
orchestre://patterns/saasSaaS-specific patternsJSON/Markdown
orchestre://patterns/securitySecurity best practicesJSON/Markdown
orchestre://patterns/enterpriseEnterprise feature patternsJSON/Markdown
orchestre://patterns/multi-tenancyMulti-tenancy patternsJSON/Markdown
orchestre://patterns/discoveredProject-specific discovered patternsJSON/Markdown

Example Content Structure:

json
{
  "pattern": "Repository Pattern",
  "category": "architecture",
  "description": "Abstracts data access logic",
  "implementation": {
    "typescript": "class UserRepository { ... }",
    "examples": ["src/repositories/user.ts"]
  },
  "when_to_use": ["Complex queries", "Multiple data sources"],
  "trade_offs": {
    "pros": ["Testability", "Flexibility"],
    "cons": ["Additional abstraction layer"]
  }
}

Template Resources (orchestre://templates/)

Provides template-specific resources and configurations.

URI PatternDescriptionContent Type
orchestre://templates/saas-mvpSaaS MVP templatesJSON
orchestre://templates/saas-componentsReusable SaaS componentsJSON
orchestre://templates/documentationDocumentation templatesMarkdown
orchestre://templates/[name]/configTemplate configurationJSON
orchestre://templates/[name]/patternsTemplate-specific patternsJSON

Template Configuration Example:

json
{
  "template": "makerkit-nextjs",
  "features": {
    "authentication": {
      "provider": "supabase",
      "methods": ["email", "oauth"]
    },
    "payments": {
      "provider": "stripe",
      "features": ["subscriptions", "one-time"]
    }
  },
  "structure": {
    "type": "monorepo",
    "packages": ["web", "mobile", "shared"]
  }
}

Context Resources (orchestre://context/)

Provides current working context.

URI PatternDescriptionContent Type
orchestre://context/recentRecent development contextJSON
orchestre://context/currentCurrent working contextJSON
orchestre://context/environmentEnvironment informationJSON

Context Structure Example:

json
{
  "recent_files": [
    "src/features/auth/login.tsx",
    "src/features/auth/hooks.ts"
  ],
  "recent_patterns": ["React hooks", "Form validation"],
  "current_task": "Implementing OAuth login",
  "session_start": "2024-01-15T10:00:00Z",
  "completed_tasks": 3
}

Project Resources (orchestre://project/)

Provides project-specific information.

URI PatternDescriptionContent Type
orchestre://project/configProject configurationJSON
orchestre://project/structureProject structure analysisJSON
orchestre://project/dependenciesDependency informationJSON
orchestre://project/techstackTechnology stack detailsJSON

Resource Access by Prompts

Different prompts automatically include relevant resources:

orchestre-orchestrate

  • orchestre://memory/project
  • orchestre://patterns/architecture

orchestre-execute-task

  • orchestre://memory/project
  • orchestre://context/recent
  • orchestre://patterns/implementation

orchestre-compose-saas-mvp

  • orchestre://patterns/saas
  • orchestre://templates/saas-mvp

orchestre-generate-implementation-tutorial

  • orchestre://patterns/saas
  • orchestre://memory/project
  • orchestre://templates/saas-components

orchestre-security-audit

  • orchestre://patterns/security
  • orchestre://memory/project

orchestre-add-enterprise-feature

  • orchestre://patterns/enterprise
  • orchestre://memory/features

orchestre-migrate-to-teams

  • orchestre://patterns/multi-tenancy
  • orchestre://memory/architecture

orchestre-document-feature

  • orchestre://memory/features
  • orchestre://templates/documentation

orchestre-discover-context

  • orchestre://memory/project
  • orchestre://patterns/discovered

Resource Content Examples

Memory Resource Example

markdown
# Feature: Authentication System

## Overview
Multi-provider authentication system supporting email/password and OAuth.

## Implementation Details
- **Provider**: Supabase Auth
- **OAuth Providers**: Google, GitHub, Microsoft
- **Session Management**: JWT with refresh tokens
- **MFA**: TOTP-based two-factor authentication

## Architecture
### Components
- `AuthProvider`: React context for auth state
- `useAuth`: Hook for accessing auth functions
- `AuthGuard`: Component for protecting routes

### Security Measures
- Rate limiting on login attempts
- Secure session storage
- CSRF protection
- Account lockout after failed attempts

Pattern Resource Example

json
{
  "pattern": "Multi-tenant Data Isolation",
  "type": "architectural",
  "description": "Ensures data isolation between tenants in a shared database",
  "strategies": [
    {
      "name": "Row-Level Security",
      "implementation": "Add tenant_id to all tables and filter queries",
      "pros": ["Simple", "Cost-effective"],
      "cons": ["Requires discipline", "Performance considerations"],
      "example": "WHERE tenant_id = current_tenant_id()"
    },
    {
      "name": "Schema Separation",
      "implementation": "Separate schema per tenant",
      "pros": ["Strong isolation", "Easy backup/restore"],
      "cons": ["Complex migrations", "Resource overhead"]
    }
  ],
  "best_practices": [
    "Always include tenant_id in queries",
    "Use database-level RLS policies",
    "Audit data access regularly",
    "Test isolation thoroughly"
  ]
}

Template Resource Example

json
{
  "component": "SubscriptionManager",
  "category": "payments",
  "description": "Manages subscription lifecycle with Stripe",
  "dependencies": ["stripe", "@stripe/stripe-js"],
  "files": [
    {
      "path": "components/SubscriptionManager.tsx",
      "type": "component"
    },
    {
      "path": "lib/stripe-client.ts",
      "type": "utility"
    },
    {
      "path": "api/webhooks/stripe.ts",
      "type": "api"
    }
  ],
  "configuration": {
    "environment_variables": [
      "STRIPE_PUBLIC_KEY",
      "STRIPE_SECRET_KEY",
      "STRIPE_WEBHOOK_SECRET"
    ]
  }
}

Creating Custom Resources

While Orchestre provides standard resources, you can extend the system:

1. Custom Memory Resources

Place markdown files in .orchestre/memory/custom/:

.orchestre/memory/custom/deployment-guide.md
.orchestre/memory/custom/api-conventions.md

2. Project-Specific Patterns

Document patterns in .orchestre/patterns/:

.orchestre/patterns/custom-validation.md
.orchestre/patterns/error-handling.md

3. Template Extensions

Add template-specific resources:

.orchestre/templates/custom-components.json
.orchestre/templates/integration-guides.md

Resource Lifecycle

  1. Creation: Resources are created by:

    • Orchestre commands during execution
    • Manual creation by developers
    • Discovery from existing code
  2. Updates: Resources are updated:

    • After task completion
    • During documentation commands
    • Through manual edits
  3. Access: Resources are accessed:

    • Automatically by prompts
    • Through MCP resource API
    • By developers for reference
  4. Maintenance: Resources should be:

    • Reviewed periodically
    • Updated when patterns change
    • Pruned when obsolete

Best Practices

  1. Keep Resources Current: Update resources as the project evolves
  2. Use Consistent Formatting: Follow template structures
  3. Link Related Resources: Reference other resources when relevant
  4. Version Control: Commit resource files with code changes
  5. Document Decisions: Explain why patterns were chosen

Troubleshooting

Resource Not Found

  • Check URI spelling and format
  • Ensure resource file exists
  • Verify file permissions

Outdated Resources

  • Run /orchestre-discover-context to refresh
  • Manually update resource files
  • Check last modified dates

Resource Conflicts

  • Review and merge conflicting information
  • Document decision in ADR
  • Update affected resources

Performance Issues

  • Limit resource size to essential information
  • Use specific URIs instead of wildcards
  • Cache frequently accessed resources

Built with ❤️ for the AI Coding community, by Praney Behl