# clide_app — Flutter desktop UI. # # Renders clide's IDE surfaces; depends on the root `clide` Dart core # package (shared with the CLI + daemon). Prefer-zero-deps; every # third-party entry below is exact-pinned and justified. No carets. name: clide_app description: >- Flutter desktop IDE for Claude Code — renders the UI. Talks to the Dart core (CLI + daemon) via IPC; all PTY/subprocess/filesystem work lives in the daemon (D-005). publish_to: none version: 2.0.0-dev repository: https://git.schweitz.net/jpmschweitzer/clide environment: sdk: ">=3.5.0 <4.0.0" flutter: ">=3.19.0" dependencies: flutter: sdk: flutter # Dart core — shared types, IPC protocol, anything CLI + daemon + app # all import. Kept Flutter-free so `dart compile exe` produces a lean # static binary (see D-005). clide: path: ../ # YAML — the one justified exception to prefer-zero-deps. Dart-team # maintained, used for theme files and extension manifests. yaml: 3.1.3 # xterm.dart — Flutter-native terminal emulator (ANSI / xterm / truecolor # parser + renderer). Writing a vt100/ANSI parser that handles everything # tmux / neovim / claude emit would be weeks of work for no fidelity # win. Listed in licenses.yaml per D-042. MIT. xterm: 4.0.0 dev_dependencies: flutter_test: sdk: flutter flutter_lints: 6.0.0 # Integration tests for the real-app startup-regression gate. integration_test: sdk: flutter # Mocks at IO/IPC boundaries; hand-rolled fakes for ChangeNotifiers. mocktail: 1.0.4 # Golden-test framework (Ahem font, cross-platform pixel stability). # Used only for widget primitives, not compositions. alchemist: 0.12.1 flutter: uses-material-design: false assets: - lib/kernel/src/theme/themes/ - lib/kernel/src/i18n/catalog/ # Licensing — read by the About screen. `licenses.yaml` is the # manifest (self + runtime deps + dev deps); each `license_file` # pointer must also be a bundled asset so the About screen can # display each dependency's full license text at runtime. # Root LICENSE is mirrored into assets/LICENSE for the same reason # (root paths can't be referenced from a Flutter package's assets). # See CLAUDE.md "Dependencies & supply chain" and D-042. - assets/licenses.yaml - assets/LICENSE - assets/fonts/jetbrains_mono/OFL.txt - assets/fonts/josefin_sans/OFL.txt - assets/fonts/phosphor/LICENSE - assets/logo/clide-logo.svg - assets/logo/clide-logo-16.png - assets/logo/clide-logo-32.png - assets/logo/clide-logo-48.png - assets/logo/clide-logo-192.png - assets/logo/clide-logo-256.png - assets/logo/clide-logo-512.png - assets/logo/clide-logo-1024.png # Tree-sitter WASM grammars and highlight queries. - assets/grammars/ - assets/queries/ # Bundled fonts. OFL-licensed; license files live alongside each. # # JosefinSans — UI default. Variable font covers weights 100-700 # plus an italic axis companion; we default to Light (300) per the # project's aesthetic direction. # # JetBrainsMono — terminal / code surfaces. Static weights keep # rendering predictable across xterm.dart, goldens, and CI. fonts: - family: JosefinSans fonts: - asset: assets/fonts/josefin_sans/JosefinSans-VariableFont.ttf - asset: assets/fonts/josefin_sans/JosefinSans-Italic-VariableFont.ttf style: italic - family: Phosphor fonts: - asset: assets/fonts/phosphor/Phosphor.ttf - asset: assets/fonts/phosphor/Phosphor-Bold.ttf weight: 700 - asset: assets/fonts/phosphor/Phosphor-Fill.ttf - family: JetBrainsMono fonts: - asset: assets/fonts/jetbrains_mono/JetBrainsMono-Regular.ttf - asset: assets/fonts/jetbrains_mono/JetBrainsMono-Italic.ttf style: italic - asset: assets/fonts/jetbrains_mono/JetBrainsMono-Bold.ttf weight: 700 - asset: assets/fonts/jetbrains_mono/JetBrainsMono-BoldItalic.ttf weight: 700 style: italic