Files
clide/assets/licenses.yaml
T
jpmschweitzerandClaude Opus 4.6 a44a2efae7 add format engine packages: jovial_svg, markdown, html_core (D-058)
Three format engines adopted per the new D-058 rule (format
engines clear the dependency bar; UI chrome stays in-house):

- jovial_svg 1.1.26 (BSD-3) — SVG renderer via CustomPaint
- markdown 7.2.2 (BSD-3) — GFM parser; renderer is ours
- flutter_widget_from_html_core 0.17.2 (MIT) — HTML renderer

Welcome screen now loads logo.svg via jovial_svg instead of a
raster PNG. POLICY.md updated with format engine rule. All three
documented in licenses.yaml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 10:28:46 +02:00

224 lines
7.9 KiB
YAML

# clide — licensing manifest.
#
# Three sections:
# - `self:` — clide's own license (MIT). Rendered first in the About
# screen so the user knows what they're running before they see
# the list of things it depends on.
# - `dependencies:` — third-party artefacts that SHIP in the clide
# binary: fonts, runtime Dart packages, native supporter tools,
# bundled data. The About screen renders these verbatim.
# - `dev_dependencies:` — build-time-only tooling: test runners,
# mocks, lints, golden-test harness. These never enter the shipped
# binary, so the About screen does not render them, but they're
# tracked here for audit completeness alongside the real list.
#
# Adding a new runtime dependency is a two-step commit:
# 1. Add the dependency itself (font file, `pubspec.yaml` entry, etc.)
# 2. Add the entry under `dependencies:` below in the same commit, so
# the About screen stays accurate and the prefer-zero-deps
# guardrail is enforced by the obvious visible consequence: an
# extra row in the list.
#
# Adding a new dev-only dependency is the same two-step commit, just
# under `dev_dependencies:` instead. The guardrail still applies —
# dev deps are supply-chain risk too — but they don't pollute the
# user-facing About screen.
#
# See CLAUDE.md "Dependencies & supply chain" for the full rule, and
# `decisions/tooling.md` for the D-record that pins it.
schema_version: 1
# clide itself. Listed first so the About screen can render "You're
# looking at clide vX, MIT-licensed" at the top of the panel before
# the bundled-dependency list underneath. The root LICENSE is the
# authoritative copy; `app/assets/LICENSE` is a mirror bundled so the
# About screen can read it at runtime.
self:
name: clide
version: "2.0.0-dev"
homepage: https://git.schweitz.net/jpmschweitzer/clide
license: MIT
license_file: assets/LICENSE
copyright: "© 2026 Jeroen Schweitzer"
# Runtime dependencies — ship in the clide binary.
dependencies:
- name: JetBrains Mono
kind: font
version: "2.304"
homepage: https://github.com/JetBrains/JetBrainsMono
license: OFL-1.1
license_file: assets/fonts/jetbrains_mono/OFL.txt
purpose: >-
Monospace face for terminal panes, diff views, code editors, and
any other monospace surface.
weights_bundled: [Regular, Italic, Bold, BoldItalic]
- name: Josefin Sans
kind: font
version: "variable"
homepage: https://fonts.google.com/specimen/Josefin+Sans
license: OFL-1.1
license_file: assets/fonts/josefin_sans/OFL.txt
purpose: >-
Application UI face. Default weight Light (300); full 100-700
range available via the variable-font weight axis.
weights_bundled: [VariableFont, Italic-VariableFont]
- name: Phosphor Icons
kind: font
version: "2.0.8"
homepage: https://phosphoricons.com
license: MIT
license_file: assets/fonts/phosphor/LICENSE
purpose: >-
Icon font for UI glyphs throughout the IDE — sidebar sections,
context panel, toolbar, and editor chrome. Regular, Bold, and
Fill weights bundled.
weights_bundled: [Regular, Bold, Fill]
- name: yaml
kind: dart-package
version: "3.1.3"
homepage: https://pub.dev/packages/yaml
license: MIT
purpose: >-
YAML parser for theme files and extension manifests. Justified
exception to prefer-zero-deps; Dart-team maintained.
- name: xterm
kind: dart-package
version: "4.0.0"
homepage: https://pub.dev/packages/xterm
license: MIT
purpose: >-
Flutter-native terminal emulator (ANSI / xterm / truecolor
parser + renderer). Powers every pane that renders a PTY —
general terminal, Claude, diff views running shell commands.
Writing a vt100 / ANSI parser is weeks of work for no fidelity
gain.
- name: ffi
kind: dart-package
version: "2.1.3"
homepage: https://pub.dev/packages/ffi
license: BSD-3-Clause
purpose: >-
Allocator (`calloc`) and type helpers on top of dart:ffi. Used by
the core PTY wrapper for libc bindings (socketpair, recvmsg with
SCM_RIGHTS, ioctl). Dart-team maintained; zero transitive deps.
- name: tree-sitter
kind: native-shared-lib
version: "0.26.8"
homepage: https://github.com/tree-sitter/tree-sitter
license: MIT
purpose: >-
Incremental parsing library with embedded WASM grammar engine.
Vendored as libtree-sitter.so (wasmtime statically linked) in
app/native/. Called via dart:ffi. Loads grammar .wasm files
through its built-in WASM store API.
- name: wasmtime
kind: native-static-lib
version: "44.0.0"
homepage: https://github.com/bytecodealliance/wasmtime
license: Apache-2.0 with LLVM exception
license_file: native/linux-x64/WASMTIME-LICENSE
purpose: >-
WebAssembly runtime. Statically linked into libtree-sitter.so to
provide grammar WASM loading. Not called directly — tree-sitter's
C API wraps it.
- name: tree-sitter grammars
kind: wasm-assets
version: various
homepage: https://github.com/tree-sitter
license: MIT (most); Apache-2.0 (elixir, erlang, hcl, just)
purpose: >-
Language parsers for syntax highlighting. 47 grammars compiled to
WASM via wasi-sdk, loaded at runtime by tree-sitter's embedded
wasmtime engine. Source repos are tree-sitter/tree-sitter-<lang>
on GitHub; sqlite is dhcmrlchtdj/tree-sitter-sqlite (MIT).
- name: jovial_svg
kind: dart-package
version: "1.1.26"
homepage: https://pub.dev/packages/jovial_svg
license: BSD-3-Clause
purpose: >-
SVG renderer. CustomPaint-based — parses SVG at runtime into
a DAG of drawing commands and renders via Canvas. Used for
workspace SVG files and the app icon. Format engine, not UI
chrome.
- name: markdown
kind: dart-package
version: "7.2.2"
homepage: https://pub.dev/packages/markdown
license: BSD-3-Clause
purpose: >-
Markdown parser (AST only). Parses GFM (tables, task lists,
fenced code blocks) into a node tree. Clide owns the renderer
— walks the AST to produce Flutter widgets with tree-sitter
syntax highlighting in code blocks.
- name: flutter_widget_from_html_core
kind: dart-package
version: "0.17.2"
homepage: https://pub.dev/packages/flutter_widget_from_html_core
license: MIT
purpose: >-
HTML-to-widget renderer. Parses HTML into Flutter widgets
with no JavaScript execution. Used for rendering HTML content
in the viewer. Sandboxed — tag/attribute whitelist enforced
at usage site.
# Build-time-only dependencies — test runners, mocks, lints. Tracked
# here for audit completeness; NOT rendered in the About screen.
dev_dependencies:
- name: mocktail
kind: dart-package
version: "1.0.4"
homepage: https://pub.dev/packages/mocktail
license: MIT
purpose: >-
Mocks at IO / IPC boundaries. ChangeNotifier facades use
hand-rolled fakes instead of mocks (D-025).
- name: alchemist
kind: dart-package
version: "0.12.1"
homepage: https://pub.dev/packages/alchemist
license: MIT
purpose: >-
Golden-test framework; Ahem-font rendering for cross-platform
pixel stability on widget primitives (D-024).
- name: flutter_lints
kind: dart-package
version: "6.0.0"
homepage: https://pub.dev/packages/flutter_lints
license: BSD-3-Clause
purpose: Flutter-team-recommended analyzer lint set (app/).
- name: lints
kind: dart-package
version: "5.0.0"
homepage: https://pub.dev/packages/lints
license: BSD-3-Clause
purpose: >-
Dart-team-recommended analyzer lint set for the Flutter-free
core package at the repo root.
- name: test
kind: dart-package
version: "1.25.8"
homepage: https://pub.dev/packages/test
license: BSD-3-Clause
purpose: >-
Dart test runner for the core package (Flutter-free; the app
uses flutter_test from the Flutter SDK for widget + golden
coverage).