# Chat Integration The `@strata` chat participant integrates strata into Copilot Chat. Ask natural language questions about your workspace and get AI-powered answers with full context. ## How to Use In Copilot Chat (or Claude Chat), type `@strata` followed by your question: ``` @strata what's the current workspace status? @strata how do I validate config/main.yaml? @strata which files have errors? ``` The participant injects workspace context into the LLM's response, so answers are tailored to your actual state — not generic. ## Slash Commands In addition to freeform questions, use slash commands for specific workflows: ### `/status` Shows workspace health, active profile, readiness, and next steps. **Response includes:** ``` | Property | Value | | ------------ | --------- | | Health | 🟢 HEALTHY | | Profile | dev | | Readiness | Phase 5/8 | | Repositories | 2 | ``` Plus any issues and the next suggested action. **Use case:** "Give me a quick overview of my workspace" ### `/validate` Validates the current file or a file you name. ``` @strata /validate config/main.yaml ``` **Response shows:** - ✅ Validation passed (0 errors) - ❌ List of errors with field paths and messages **Use case:** "Check if my deployment file is valid before pushing" ### `/guide` Shows the 8-phase readiness checklist. ``` ✅ Phase 1: Workspace initialized ✅ Phase 2: Repositories registered ⏳ Phase 5: Build artifacts ready — strata build run -f deploy/main.yaml ``` **Use case:** "What do I need to do next to be ready to deploy?" ### `/build` Lists all deployment files and shows how to build each one. **Response shows:** ``` Available deployment files: - deploy/dev.yaml strata build run -f deploy/dev.yaml --dry-run strata build run -f deploy/dev.yaml - deploy/prd.yaml strata build run -f deploy/prd.yaml --dry-run strata build run -f deploy/prd.yaml ``` **Use case:** "How do I build my deployments?" ### `/deploy` Lists all deployment files and shows how to deploy each one. **Response shows:** ``` Available deployment files: - deploy/dev.yaml strata deploy run -f deploy/dev.yaml --dry-run strata deploy run -f deploy/dev.yaml --force - deploy/prd.yaml strata deploy run -f deploy/prd.yaml --dry-run strata deploy run -f deploy/prd.yaml --force ``` **Use case:** "Walk me through deploying to production" ## Freeform Questions Ask any question and the participant provides workspace context: ``` @strata what configuration files do I have? @strata why might terraform not be available? @strata how do I connect the api module to my deployment? ``` The LLM sees: ``` The user is working in a strata infrastructure workspace. Health: HEALTHY Profile: dev Readiness: Phase 5/8 complete Next step: Build artifacts ready Repositories: infra, modules User question: [your question] ``` The LLM can then answer your question with full awareness of your workspace state. ## Follow-Up Suggestions After each response, the participant suggests follow-up questions: ``` After /status: → Show readiness guide → Validate current file After /validate: → Show workspace status → How do I build? After /guide: → Build my deployment → Deploy my deployment ``` Click a suggestion to send it. This creates a natural conversation flow without you needing to retype commands. ## Workspace Context Injection When you ask a freeform question, the participant automatically includes: | Context | Example | | ------------ | --------------------------------- | | Health | HEALTHY, DEGRADED, or BROKEN | | Profile | currently active profile name | | Readiness | phases complete (e.g., 5/8) | | Next step | what to do next with command hint | | Repositories | list of registered repositories | | Issues | any health issues reported | This means the LLM can give answers like: > "Your workspace is healthy and in Phase 5. To be ready for production, you need to: 1) Generate build artifacts with `strata build run -f deploy/prd.yaml`, 2) Run a dry-run deployment to preview changes..." Instead of generic answers that don't match your actual state. ## Error Handling **"Strata CLI is not available"** → The extension couldn't find the CLI. Check: 1. `strata.cliPath` setting points to a valid executable 2. Run `which strata` in a terminal to verify it's in `$PATH` 3. Reload the extension: `Ctrl+Shift+P` → "Developer: Reload Window" **Model call failed** → If the LLM can't generate a response, the participant falls back to showing you the raw workspace context and command hints. **Timeout** → The LLM took too long. You can: 1. Ask a simpler question (shorter context = faster response) 2. Use a slash command instead (faster, no LLM call) 3. Check if the LLM service is operational ## Privacy The participant **only sends**: - Workspace health status - Profile names (not contents) - Repository names and branches - Document kinds and validation status - Your question It does **not** send: - File contents - Secret values - Credentials - Sensitive configuration data All communication with the LLM goes through your Copilot Chat or Claude Chat client — the strata extension just injects context. ## Limitations - The participant can only validate files in your open workspace - It can't modify files or apply fixes directly (use CodeLens quick fixes instead) - Freeform questions depend on the LLM's knowledge (for truly custom questions, slash commands are more reliable) - Follow-up suggestions only work within the same chat session ## Examples ### "How do I set up a new deployment?" ``` @strata how do I set up a new deployment? ``` Response includes: ``` Based on your workspace (Phase 5/8), here's how to set up a new deployment: 1. Scaffold a deployment file: strata new deployment --name my-deployment 2. Reference your configuration: kind: deployment spec: stages: - provisioner: platform_iac provisioner_config: source: @infra/my-infrastructure 3. Validate it: strata validate deploy/my-deployment.yaml 4. Build to preview: strata build run -f deploy/my-deployment.yaml --dry-run ``` ### "What's blocking me from deploying?" ``` @strata /status ``` Response: ``` | Property | Value | | --------- | -------------------------------------- | | Health | 🟡 DEGRADED | | Profile | prd | | Readiness | Phase 3/8 | | Issues | 1 validation error in deploy/main.yaml | Next step: Fix deployment validation errors Hint: strata validate deploy/main.yaml ``` ### "Check this file for me" ``` @strata /validate deploy/production.yaml ``` Response: ``` Validating deploy/production.yaml… ❌ 1 error found: - Unknown field 'replicas' — did you mean 'instances'? (spec.replicas) ``` Follow-up: "Fix this error" → opens CodeLens quick fix.