Commit Graph
127 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.6 76029a02a0 collapse tool status to single "ok" when both tools found
Shows "● ok" in green when both ptyc and pql are available.
When either is missing, shows each broken tool by name in amber
("● ptyc not found", "● pql not found"). Font matches the git
branch widget — uses inherited UI face at clideFontCaption size,
no mono override. Dot indicator replaces the Phosphor icon.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 07:43:10 +02:00
jpmschweitzerandClaude Opus 4.6 80daa76623 fix git.branches: use pipe separator instead of null byte
test / unit + widget + golden + a11y (push) Failing after 35s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
The null byte in the --format string didn't survive Process.run
argument passing, so the output was unparseable and no branches
were returned. Switched to pipe separator with lastIndexOf split
to handle branch names containing pipes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:59:42 +02:00
jpmschweitzerandClaude Opus 4.6 8b6fdbd294 fix branch picker: escape to dismiss, error display, backdrop click
Branch picker now handles Escape key to dismiss, shows an × close
button in the header, and displays error/empty states instead of
silently showing nothing. Dialog backdrop is click-to-dismiss (the
dialog content stops propagation so clicks inside don't close it).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:57:46 +02:00
jpmschweitzerandClaude Opus 4.6 2561329836 check ptyc/bin/ptyc relative to cwd for status indicator
The tool status indicator now checks the repo-local ptyc binary
before falling back to PATH lookup, matching the resolution logic
in main.dart.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:54:58 +02:00
jpmschweitzerandClaude Opus 4.6 d0df794e69 resolve ptyc path from repo root in in-process boot
The Flutter app now looks for ptyc/bin/ptyc relative to the
workspace root before falling back to PATH. Fixes
"ProcessException: No such file or directory. Command: ptyc"
when running in-process without ptyc installed globally.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:53:25 +02:00
jpmschweitzerandClaude Opus 4.6 289d064639 wire in-process dispatcher — no daemon socket needed
InProcessClient dispatches IPC requests directly to handlers in the
same process, bypassing the unix socket entirely. All subsystem
registries (pane, files, editor, git, pql) are created in the
Flutter app's boot sequence and registered on a DaemonDispatcher.
Events bridge to the kernel EventBus via _BusEventSink. The app
no longer needs `clide --daemon` running.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:51:33 +02:00
jpmschweitzerandClaude Opus 4.6 1fdd35706e fold project.yaml into pubspec.yaml
pubspec.yaml is now the single source of truth for version and
project metadata. Makefile reads version from pubspec.yaml. All
references to project.yaml across CLAUDE.md, CHANGELOG.md,
decisions, and skills updated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:45:36 +02:00
jpmschweitzerandClaude Opus 4.6 3df0a3f026 replace daemon indicator with ptyc/pql tool status
The status bar now shows whether ptyc and pql are findable on PATH
(green = found, amber = missing) instead of the obsolete daemon
connection state. Per D-056 there is no daemon to connect to.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:43:18 +02:00
jpmschweitzerandClaude Opus 4.6 f2c20fe2d0 update CLAUDE.md for single-package layout (D-056)
Rewritten to reflect the dissolved daemon, single Flutter package
at repo root, and updated repo layout. Removed references to app/,
clide --daemon, two-package structure, and AOT compilation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:41:01 +02:00
jpmschweitzerandClaude Opus 4.6 38ca686b4f ignore .claude/skills/pql/ (managed by pql init)
These files are generated and updated by pql init, not manually
authored. Tracking them causes drift when pql versions change.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:39:20 +02:00
jpmschweitzerandClaude Opus 4.6 514fb03be4 ignore .clide/settings.yaml (per-user layout state)
Contains last-opened project, panel sizes, collapse state — all
personal preferences. Committing it causes merge conflicts when
users have different layouts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:38:26 +02:00
jpmschweitzerandClaude Opus 4.6 46329700d5 dissolve app/ into repo root (D-056)
Single Flutter package at the repo root. All code, tests, assets,
and platform directories moved from app/ to root. Package renamed
from clide_app to clide — all imports rewritten. Merged pubspec
combines core (ffi) and app (flutter, yaml, xterm) dependencies.
Makefile simplified: no APP_PRESENT conditionals, no cd, no daemon
lifecycle. 317 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:37:20 +02:00
jpmschweitzerandClaude Opus 4.6 a526c5b9b7 add D-055 Claude internal tabs, readable session name slugs
D-055: multiple Claude sessions share the workspace as internal
tabs inside the Claude pane header. Primary has no close; secondaries
show ×. Tab row hidden when only primary exists. + button and
double-click-empty spawn new secondaries.

Session names now use a readable path slug (strip $HOME, replace /
with -) with fallback to FNV-1a hash when the slug exceeds 80 chars.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:13:24 +02:00
jpmschweitzerandClaude Opus 4.6 3f0d4e2c02 top-align sidebar and context panel content
Side panel content was vertically centered by Container's default
alignment. Added Alignment.topLeft so file tree, viewer, and other
panel content docks to the top.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 00:02:43 +02:00
jpmschweitzerandClaude Opus 4.6 ed7373aac7 bump type scale: body 15, caption 13, mono 14
Status bar text (git branch, connection indicator) used
clideFontCaption at 12px — too small relative to the new 15px app
default. Bumped the full type scale: body 14→15, caption 12→13,
mono 13→14.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:59:08 +02:00
jpmschweitzerandClaude Opus 4.6 44dad67417 bump phosphor icon font to size 1.0, fix welcome tests
Phosphor glyph fontSize set to 1.0 in unit space so glyphs fill
the full icon size (16px in the rail). Welcome tests updated to
match the redesigned view.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:52:38 +02:00
jpmschweitzerandClaude Opus 4.6 3cde60dfcc fix bottom strip: icon sizing, rail padding, status alignment
Phosphor icons: reduced font size from 0.88 to 0.75 in unit space
and center-aligned paragraph to prevent horizontal stretching.
Icon rail: removed top border, tightened padding (10h/4v from
12h/6v), reduced icon size to 14px to fit the 26px strip. Status
bar: added horizontal padding and vertical center alignment.
Bottom strip row: added top border, crossAxisAlignment.stretch
so all three sections fill the height uniformly. Default app font
bumped from 14 to 15px.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:48:45 +02:00
jpmschweitzerandClaude Opus 4.6 a22bbfbe8d move icon rails to bottom strip row aligned with status bar
Icon rails pulled out of _SidebarSlot and _ContextSlot into the
bottom row alongside StatusbarHost. All three strips — left icon
rail, app strip, right icon rail — now sit on one continuous
horizontal line per D-047. Sidebar and context panels render
content only; their bottom rails share the status bar row with
matched widths. Collapsed spines get a matching-width spacer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:44:09 +02:00
jpmschweitzerandClaude Opus 4.6 f71f2bce7c resolve ptyc path relative to daemon binary
The daemon now checks for ptyc at ../ptyc/bin/ptyc relative to its
own binary location before falling back to PATH lookup. Fixes
"ProcessException: No such file or directory. Command: ptyc" when
ptyc is built but not on PATH.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:44:00 +02:00
jpmschweitzerandClaude Opus 4.6 b581ed3fe8 center welcome content, bump font sizes, hide debug banner
Welcome content block is now centered in the viewport with a
720px max-width constraint. Status line pinned to the bottom.
Font sizes bumped across the board: title 52px, subtitle 16px,
section headers 12px, action labels 15px, recent project names
15px. Debug banner disabled via debugShowCheckedModeBanner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:38:44 +02:00
jpmschweitzerandClaude Opus 4.6 16ecf51091 redesign welcome as full-screen overlay with recent projects
Welcome screen is now a full-window overlay that covers the IDE
when no project is open. Two-column layout: START actions (open
folder, clone from git, start Claude session) with keyboard
shortcut hints, and RECENT projects list showing name, path,
branch, and relative timestamp. Status line shows version, daemon
connection state, and active theme.

ProjectManager tracks up to 10 recent projects with path, branch
name, and last-opened time, persisted as JSON in app.recentProjects.
Boot chain: try last project → try cwd → show welcome. Clicking a
recent project opens it directly into Claude.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:35:21 +02:00
jpmschweitzerandClaude Opus 4.6 eedeaec05a persist last-opened project and wire welcome open dialog
ProjectManager.open() now saves app.lastProject to user settings.
Boot calls openLast() instead of opening cwd — first launch shows
the welcome screen, subsequent launches restore the last project
directly into Claude. The welcome "Open project" button shows a
modal path-entry dialog that validates against git and activates
the Claude tab on success. Removed the dead "New Claude session"
button since secondary sessions are spawned via command palette.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:29:40 +02:00
jpmschweitzerandClaude Opus 4.6 f07a7b55a2 auto-open project from cwd and show Claude as primary
On desktop boot, main.dart calls project.open(cwd) to resolve the
git root. If a project opens successfully, the workspace activates
claude.primary instead of welcome. The _WorkspaceSlot now listens
to ProjectManager: when isOpen, Claude is always the visible
primary surface; when no project, welcome shows. This closes the
gap where the app loaded the project root but still displayed the
welcome screen as if no choice had been made.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:26:35 +02:00
jpmschweitzerandClaude Opus 4.6 257bb0cd94 fix tooltip stacking on fast mouse movement
The delayed show callback fired even after the mouse had already
exited, causing tooltips to stack. Track hover state with a bool
and check it after the delay before showing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:19:32 +02:00
jpmschweitzerandClaude Opus 4.6 8a94fd07a7 wire decisions, tickets, markdown viewer, and graph extensions
Four stub extensions now contribute real tabs with views:

- Decisions panel (sidebar, priority -20): lists confirmed D-records
  from pql decisions list with ID, title, and domain.
- Tickets panel (sidebar, priority -10): lists tickets with status
  dot color-coded by state (done=green, in_progress=blue,
  cancelled=red).
- Markdown viewer (context, priority -100): shows raw content of
  the active .md file, listens for editor.buffer_activated events.
- Graph view (context, priority -80): lists files with inbound and
  outbound link counts from pql search --connections.

All four fetch data via the daemon's pql.exec IPC surface.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:17:03 +02:00
jpmschweitzerandClaude Opus 4.6 cab92b0c6e add Phosphor Icons font and wire into icon rails
Phosphor Icons v2.0.8 (MIT) — regular, bold, and fill weights
bundled under assets/fonts/phosphor/. PhosphorIconPainter bridges
the font glyphs into the existing ClideIconPainter interface via
Paragraph API so icon rails, pane headers, and any widget using
ClideIcon can consume them. Sidebar and context panel icon rails
now use Phosphor glyphs instead of hand-painted CustomPaint icons.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:10:40 +02:00
jpmschweitzerandClaude Opus 4.6 82c63da3ad persist layout state across sessions
Collapse state, panel sizes, active sidebar/context tabs, and
editor split ratio save to .clide/settings.yaml on every layout
change and restore on boot. Guards against missing projectDir
so tests and no-project scenarios degrade gracefully.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:02:48 +02:00
jpmschweitzerandClaude Opus 4.6 43901bc387 implement editor-above-Claude split in workspace
Editor opens above Claude via Ctrl+E with a draggable divider at
35% height (clamped 15-70%). Ctrl+W or Escape closes it. The
workspace no longer renders a tab bar — Claude is the always-visible
primary surface per D-047/D-048; the editor is a split overlay
per D-049, not a tab. The _WorkspaceSlot separates editor from
primary content tabs and renders them as a vertical split when the
editor is open.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 23:01:02 +02:00
jpmschweitzerandClaude Opus 4.6 3f19eca059 remove bazzite-flutter-setup.sh
One-time setup script no longer needed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 22:48:17 +02:00
jpmschweitzerandClaude Opus 4.6 11eb91effe implement collapse spine, focus mode, keyboard shortcuts, context rail
Collapsed side panels render as a 12px vertical spine with rotated
label, hover highlight, and badge dot (D-051). Focus mode snapshots
and restores the full layout arrangement (D-052). Fourteen new
commands in the default-layout extension: collapse toggles
(Ctrl+Shift+1/3), panel focus (Ctrl+1/2/3), focus mode (Ctrl+.),
sidebar section switching (Alt+1-5), Escape dismiss (D-054). Right
panel gets a bottom icon rail matching the sidebar pattern (D-047).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 22:47:45 +02:00
jpmschweitzerandClaude Opus 4.6 9e3a13e7f7 add D-047–D-054, Q-026–Q-030 for interaction model
Eight confirmed decisions: Claude-is-home layout (D-047), chrome
budget (D-048), editor mode (D-049), context auto-behavior (D-050),
collapse spine (D-051), focus mode (D-052), state persistence
(D-053), canonical keyboard map (D-054).

Five open questions: small screen layout (Q-026), two-editor split
(Q-027), terminal strip scope (Q-028), branch picker location
(Q-029), focus when editor dirty (Q-030).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 22:47:30 +02:00
jpmschweitzerandClaude Opus 4.6 c61d2a23e4 add interaction model spec from wireframe flows v3
Extracted shell spec for Claude Code implementation: three-column
layout, prompt bar Y-invariance, collapse spine, focus mode, chrome
budget, editor mode, context auto-behavior, keyboard map, responsive
breakpoints, and state persistence. Source: Wireframe - Flows v3.html.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 22:47:17 +02:00
jpmschweitzerandClaude 02814b35f3 add POLICY.md and set line length to 160
POLICY.md codifies runtime behavior rules (no network on default
launch path), dependency vetting, vendored binary rebuild process,
telemetry prohibition, and licensing requirements. Binding on all
contributors including agents.

Line length 160 in .editorconfig (all files) and
analysis_options.yaml (dart formatter).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 22:20:42 +02:00
jpmschweitzerandClaude 50bd3012bd add wasmtime Apache-2.0 license file per POLICY.md
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 22:13:58 +02:00
jpmschweitzerandClaude ce8529e424 add tree-sitter syntax highlighting via dart:ffi
Vendor libtree-sitter.so (v0.26.8, wasmtime 44.0 statically linked)
and call its C API through dart:ffi. Grammar WASM files are loaded by
tree-sitter's embedded wasmtime engine via ts_wasm_store_load_language.

48 grammars compiled with tree-sitter build --wasm, 48 highlight
queries (42 from upstream repos, 6 written in-house for comment,
erlang, gdscript, gitignore, hcl, hlsl, swift). SQLite grammar
replaces full SQL (974K-line parser exhausted RAM at compile time).

Removes wasm_run and wasm_run_flutter — they downloaded a 22 MB
binary from GitHub at first launch, violating the no-network-on-
default-launch-path policy.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 22:08:00 +02:00
jpmschweitzerandClaude 4f5d97ebc5 define core frame vs shipped extension boundary (D-046)
Core frame builtins are infrastructure the shell can't function
without. Content extensions (editor, claude, canvas, etc.) are
bundled but architecturally removable — users swap the surface,
not the data.

Removes builtin.jira stub: Jira belongs as a third-party
extension, not a frame builtin. Git is a split component —
daemon-side process stays in frame, UI surfaces are extensions.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 22:07:04 +02:00
jpmschweitzerandClaude 5aa153334d update welcome screen per hi-fi design
test / unit + widget + golden + a11y (push) Failing after 41s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
Larger wordmark (48px), START section header, icon-prefixed
action rows for Open project and New Claude session. Semantics
hint preserved for a11y.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 17:31:10 +02:00
jpmschweitzerandClaude ad3e35709e require confirmation before discarding unstaged changes
The discard button in the git panel now opens a dialog warning
that changes will be permanently lost. Prevents accidental data
loss from a misclick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 17:30:55 +02:00
jpmschweitzerandClaude 45054f7aec add git branch picker + status bar indicator
git.branches and git.checkout IPC verbs. Status bar shows current
branch with ahead/behind count; clicking opens a branch picker
dialog for checkout.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 17:30:37 +02:00
jpmschweitzerandClaude 6592a88695 add command palette widget + layout keybindings
ClidePalette renders as a floating overlay with fuzzy-filtered
command list. Ctrl+Shift+P toggles it. Ctrl+B toggles sidebar,
Ctrl+J toggles context panel. All wired through CommandRegistry
via the default layout extension.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 17:30:21 +02:00
jpmschweitzerandClaude eda3b30382 add sidebar icon rail replacing top tab bar
Four new icon painters (git branch, search, terminal, warning).
ClideIconRail widget with parent-owned hover state so only one
icon highlights at a time. Sidebar slot renders content above +
icon rail below; workspace and context slots keep the tab bar.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 17:29:00 +02:00
jpmschweitzerandClaude 1f23ba40f2 fix make run — use PID file, add make stop
test / unit + widget + golden + a11y (push) Failing after 40s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
PID file at /tmp/clide-daemon-<uid>.pid replaces pkill pattern
matching. make run depends on stop so stale daemons are killed
before build. Flutter exit via ctrl-C no longer aborts Make.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:54:18 +02:00
jpmschweitzerandClaude 8b5615426a wire design palette through resolver with fallback chains
Surface map now tries palette keys (bgSunken, surfaceHi, textHi,
etc.) first, falling back to semantic refs for legacy themes.
Sidebar/panel bg differentiates from workspace bg. Buttons use
accent colour with onAccent text. Four-level text gradient flows
to widgets.

WCAG-AA contrast fixes: clide textDim lightened, midnight
onAccent darkened, paper textDim darkened. Contrast test updated
to cover all four themes. Resolver tests updated for the new
palette shape. Goldens regenerated.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:54:11 +02:00
jpmschweitzerandClaude 861fa6652a fix make run daemon lifecycle
test / unit + widget + golden + a11y (push) Failing after 40s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
Kill stale daemon before build to prevent "Text file busy". Trap
EXIT + INT + TERM for reliable cleanup on ctrl-C. Add make stop
for standalone daemon kill.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:32:11 +02:00
jpmschweitzerandClaude 5869697297 add four design themes + syntax tokens to theme pipeline
test / unit + widget + golden + a11y (push) Failing after 39s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
SurfaceTokens gains seven syntax-role fields (keyword, type,
string, number, comment, method, punct). Theme loader parses
the syntax: YAML block and injects values into the surface
override layer. Resolver defaults map syntax roles to semantic
colours so themes without explicit syntax blocks still compile.

Four new theme YAMLs (clide, midnight, paper, terminal) replace
summer-night. Palette keys mapped to the existing semantic layer;
syntax values pass through directly. Goldens regenerated for the
14→font-size change.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:29:41 +02:00
jpmschweitzerandClaude de9a7b9745 update design handoff with framework-free token exports
New tokens/ directory with YAML palette + syntax files for all
four themes, plus a pure dart:ui Dart file (no Material). README
updated to reflect the no-Material constraint and open typography
question.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:29:17 +02:00
jpmschweitzerandClaude 272b59e752 record design handoff decisions (D-043–D-045, Q-025, R-012)
test / unit + widget + golden + a11y (push) Failing after 41s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
D-043: adopt token palettes from design, reject Material wrapper.
D-044: four bundled themes replace summer-night.
D-045: syntax highlighting tokens in the theme pipeline.
Q-025: body text face — mono everywhere vs Josefin Sans + mono.
R-012: MaterialApp wrapper rejected (conflicts with D-007).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:11:40 +02:00
jpmschweitzerandClaude ae1c3d8a34 add claude.ai/design handoff under docs/claude-design/
Four self-contained HTML mockups (wireframe, flows, hi-fi, design
system), four Dart theme files (clide, midnight, paper, terminal),
and flat PNG renders. Reference material for the UI build — not
runtime assets.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:11:22 +02:00
jpmschweitzerandClaude 1a5e682dc8 brand all build targets with the clide logo
test / unit + widget + golden + a11y (push) Failing after 41s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
Replace Flutter default icons across Linux (GTK window icon via
bundled asset), macOS (AppIcon.appiconset all sizes), and web
(favicon, PWA icons, manifest, meta description). Logo PNGs at
16–1024px generated from the SVG source. Window title set to
"clide" everywhere. Web manifest colours match summer-night.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 16:02:08 +02:00
jpmschweitzerandClaude d4f5f7c09f add clide logo SVG
test / unit + widget + golden + a11y (push) Failing after 41s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
Angle-bracket chevrons with teal accent underline, matching the
summer-night palette.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 15:18:54 +02:00