# IDE Extensions -- Agent Instructions ## Module Identity **Module:** Integrations / __Extensions **Purpose:** Developer-facing IDE plugins (VS Code + JetBrains) that consume the Orchestrator and Router APIs. **Deployable:** None (distributed as IDE marketplace packages, not Docker services). --- ## Important: Non-.NET Projects These are **not** .NET projects. They do not have `.csproj`, `.sln`, or `Dockerfile` files. | Plugin | Technology | Build Tool | Entry Point | | --- | --- | --- | --- | | `vscode-stella-ops/` | TypeScript | npm (`npm run compile`) | `src/extension.ts` | | `jetbrains-stella-ops/` | Kotlin | Gradle (`./gradlew build`) | `src/main/kotlin/org/stellaops/intellij/StellaOpsPlugin.kt` | --- ## Directory Layout ``` src/Integrations/__Extensions/ +-- AGENTS.md # This file +-- vscode-stella-ops/ | +-- package.json # Extension manifest | +-- src/ | +-- extension.ts # VS Code extension entry point +-- jetbrains-stella-ops/ +-- src/main/kotlin/ +-- org/stellaops/intellij/ +-- StellaOpsPlugin.kt # JetBrains plugin entry point ``` --- ## Roles & Responsibilities | Role | Expectations | | --- | --- | | Frontend/Extension Engineer | Implement IDE features, manage extension manifests, ensure offline-tolerant behavior | | QA Engineer | Verify extension builds (npm/gradle), test in IDE environments | | PM/Architect | Coordinate API surface consumed by extensions with Orchestrator team | --- ## Constraints 1. **No business logic:** Extensions are thin clients; all state and decisions reside in backend services. 2. **No secrets in code:** OAuth tokens are stored in IDE secure credential stores only. 3. **TLS enforcement:** All HTTP communication uses HTTPS. 4. **Offline-tolerant:** Extensions must degrade gracefully when the backend is unreachable. 5. **No .NET coupling:** These projects must not introduce .NET dependencies or be added to any `.sln` or `.csproj` files. --- ## API Surface Consumed - `GET /api/v1/releases/*` (Orchestrator) - `GET /api/v1/environments/*` (Orchestrator) - `POST /api/v1/promotions/*` (Orchestrator) - `POST /oauth/token` (Authority) --- ## Build Notes - **VS Code:** Requires Node.js and npm. Build with `npm run compile`. Package with `vsce package`. - **JetBrains:** Requires JDK and Gradle. Build with `./gradlew build`. Package with `./gradlew buildPlugin`. - Neither build is part of the .NET CI pipeline. Separate CI workflows would be needed if automated builds are required. --- ## Required Reading - `docs/modules/integrations/architecture.md` (includes IDE Extensions section) - `src/Integrations/AGENTS.md` (parent module instructions)