| 1 | # Cascade IDE — concept overview (English) |
| 2 | |
| 3 | **Read this first** if you do not read Russian. Full ADRs in English live under [adr/](adr/README.md); this page and [UX docs](ui-ux/cascade-ide-ui-layout-v1.md) are the short onboarding path. |
| 4 | |
| 5 | ## What is Cascade IDE? |
| 6 | |
| 7 | **Cascade IDE (CIDE)** is an **agent-first** desktop IDE for **.NET**, built with **Avalonia**. It is designed so that **you and an AI agent share the same cockpit**: the same commands, the same layout, and the same **Intercom** channel (session dialogue), not a separate “chat widget” bolted onto a classic IDE. |
| 8 | |
| 9 | CIDE is an open **working implementation** of **[IOP](iop-manifest-v1.md)** — a **discipline of communication** (aligned goals, transparency, explicit *intent*), agent synthesis, and **diff verification** in the editor. See [ADR 0121](adr/0121-intent-oriented-programming-paradigm.md) (Accepted) for the full framing. |
| 10 | |
| 11 | - **In-process MCP** — tools and IDE commands are available to agents without ad-hoc glue. |
| 12 | - **Cockpit attention model** — the window is organized like a flight deck, not “editor + side panels”. |
| 13 | - **Intercom** — the name of the primary human↔agent communication surface (see [ADR 0080](adr/0080-intercom-naming-and-multi-party-channel-model.md)). |
| 14 | |
| 15 | ## The three attention zones (Flight layout) |
| 16 | |
| 17 | The shipping UI uses one product mode: **Flight**. The main window is a single grid with **three columns** (no full-width bottom tab strip): |
| 18 | |
| 19 | | Zone | Name | Role | |
| 20 | |------|------|------| |
| 21 | | **PFD** | Primary Flight Display | Navigation: solution explorer, workspace map, optional tool mount — “where am I in the project?” | |
| 22 | | **Forward** | Forward field of view | **Primary work surface**: document editor (AvaloniaEdit dock) *or* full Intercom (proposed toggle, [ADR 0120](adr/0120-primary-work-surface-intercom-or-editor.md)) | |
| 23 | | **MFD** | Multi-Function Display | Secondary shell: **pages** (terminal, build output, Git, chat page, IDE Health strip, settings, …) — “instruments”, not the main horizon | |
| 24 | |
| 25 | Long-running streams (build log, terminal) live on **MFD pages**, not in a legacy bottom panel across the whole window. |
| 26 | |
| 27 | **Canonical layout doc:** [UI layout v1](ui-ux/cascade-ide-ui-layout-v1.md) · **Normative ADR:** [0021 PFD/MFD cockpit](adr/0021-pfd-mfd-cockpit-attention-model.md) |
| 28 | |
| 29 | ``` |
| 30 | ┌──────────┬─────────────────────────────┬──────────────┐ |
| 31 | │ PFD │ Forward │ MFD │ |
| 32 | │ explore │ editor OR Intercom │ page stack │ |
| 33 | │ / map │ (primary focus) │ build/term/… │ |
| 34 | └──────────┴─────────────────────────────┴──────────────┘ |
| 35 | ``` |
| 36 | |
| 37 | ## Intercom (not “just chat”) |
| 38 | |
| 39 | **Intercom** is the IDE’s session channel: topics, topic cards, agent steering, and **slash commands** in the composer (`/build run`, `/topic open`, …) — same `command_id` as the palette and MCP ([ADR 0119](adr/0119-chat-slash-commands-intercom-surface.md), Implemented). Chat UI may be rendered with a Skia surface ([ADR 0044](adr/0044-avalonia-host-skia-agent-chat-surface.md)); the product idea is **parity** between what you type and what an agent can invoke via MCP. |
| 40 | |
| 41 | ## Three command surfaces (one `command_id`) |
| 42 | |
| 43 | | Mode | Entry | Role | |
| 44 | |------|-------|------| |
| 45 | | **Rehearsal** | Command palette (**Ctrl+Q**) | Full catalog, search, onboarding | |
| 46 | | **Performance** | **CascadeChord** (**Ctrl+K**) + Melody `c:` | Muscle-memory shortcuts; compact mnemonics live here, not in `/` | |
| 47 | | **Session channel** | **Slash** in Intercom composer (`/` + autocomplete) | IDE and Intercom verbs without leaving the input line | |
| 48 | |
| 49 | Details: [Design Handbook §2.6](../design/cide-design-handbook-v1.md) (RU) · [ADR 0013](adr/0013-command-surface-and-discoverability.md) · [ADR 0060](adr/0060-keyboard-chord-stack-fms-tactical-strategic.md) · [ADR 0119](adr/0119-chat-slash-commands-intercom-surface.md). |
| 50 | |
| 51 | ## What we are building next (Proposed) |
| 52 | |
| 53 | | ADR | Idea | |
| 54 | |-----|------| |
| 55 | | [0120](adr/0120-primary-work-surface-intercom-or-editor.md) | Choose whether **Forward** is Intercom-centric (Cursor-like) or editor-centric | |
| 56 | |
| 57 | ## Where to go next |
| 58 | |
| 59 | | If you want… | Start here | |
| 60 | |--------------|------------| |
| 61 | | IOP paradigm (intent → verify) | [IOP manifest](iop-manifest-v1.md) | |
| 62 | | Window layout & control names for automation | [UI layout v1](ui-ux/cascade-ide-ui-layout-v1.md) | |
| 63 | | Concept vs code (legacy Focus/Balanced/Power vs Flight) | [Concept → implementation map](ui-ux/concept-to-implementation-map-v1.md) | |
| 64 | | All decisions by lifecycle status | [ADR navigator](site/adr-nav/index.md) | |
| 65 | | Architecture policy & snapshot | [Policy](architecture-policy.md) · [Current architecture](architecture/current-architecture-v1.md) | |
| 66 | | Agent/MCP commands | [MCP protocol](../MCP-PROTOCOL.md) | |
| 67 | | Project principles | [ADR 0100 constitution](adr/0100-project-constitution.md) | |
| 68 | | **Design handbook (RU, navigation hub)** | [CIDE Design Handbook v1](../design/cide-design-handbook-v1.md) | |
| 69 | |
| 70 | ## Language on this site |
| 71 | |
| 72 | - **Russian** (`/cascade-ide/…`) — canonical for the team: `docs/adr/` in the repository. |
| 73 | - **English** (`/cascade-ide/en/…`) — this overview, `en/ui-ux/`, **`en/adr/`**, and **`en/architecture-policy.md`** (+ architecture slice docs). |
| 74 | - Use the **RU / EN** switch in the header. |
| 75 | |
| 76 | --- |
| 77 | |
| 78 | *Questions or contributions welcome via [GitHub](https://github.com/AI-Guiders/cascade-ide).* |
| 79 | |