shipwright-cli 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/code-reviewer.md +2 -0
- package/.claude/agents/devops-engineer.md +2 -0
- package/.claude/agents/doc-fleet-agent.md +2 -0
- package/.claude/agents/pipeline-agent.md +2 -0
- package/.claude/agents/shell-script-specialist.md +2 -0
- package/.claude/agents/test-specialist.md +2 -0
- package/.claude/hooks/agent-crash-capture.sh +32 -0
- package/.claude/hooks/post-tool-use.sh +3 -2
- package/.claude/hooks/pre-tool-use.sh +35 -3
- package/README.md +4 -4
- package/claude-code/hooks/config-change.sh +18 -0
- package/claude-code/hooks/instructions-reloaded.sh +7 -0
- package/claude-code/hooks/worktree-create.sh +25 -0
- package/claude-code/hooks/worktree-remove.sh +20 -0
- package/config/code-constitution.json +130 -0
- package/dashboard/middleware/auth.ts +134 -0
- package/dashboard/middleware/constants.ts +21 -0
- package/dashboard/public/index.html +2 -6
- package/dashboard/public/styles.css +100 -97
- package/dashboard/routes/auth.ts +38 -0
- package/dashboard/server.ts +66 -25
- package/dashboard/services/config.ts +26 -0
- package/dashboard/services/db.ts +118 -0
- package/dashboard/src/canvas/pixel-agent.ts +298 -0
- package/dashboard/src/canvas/pixel-sprites.ts +440 -0
- package/dashboard/src/canvas/shipyard-effects.ts +367 -0
- package/dashboard/src/canvas/shipyard-scene.ts +616 -0
- package/dashboard/src/canvas/submarine-layout.ts +267 -0
- package/dashboard/src/components/header.ts +8 -7
- package/dashboard/src/core/router.ts +1 -0
- package/dashboard/src/design/submarine-theme.ts +253 -0
- package/dashboard/src/main.ts +2 -0
- package/dashboard/src/types/api.ts +2 -1
- package/dashboard/src/views/activity.ts +2 -1
- package/dashboard/src/views/shipyard.ts +39 -0
- package/dashboard/types/index.ts +166 -0
- package/docs/plans/2026-02-28-compound-audit-and-shipyard-design.md +186 -0
- package/docs/plans/2026-02-28-skipper-shipwright-implementation-plan.md +1182 -0
- package/docs/plans/2026-02-28-skipper-shipwright-integration-design.md +531 -0
- package/docs/plans/2026-03-01-ai-powered-skill-injection-design.md +298 -0
- package/docs/plans/2026-03-01-ai-powered-skill-injection-plan.md +1109 -0
- package/docs/plans/2026-03-01-capabilities-cleanup-plan.md +658 -0
- package/docs/plans/2026-03-01-clean-architecture-plan.md +924 -0
- package/docs/plans/2026-03-01-compound-audit-cascade-design.md +191 -0
- package/docs/plans/2026-03-01-compound-audit-cascade-plan.md +921 -0
- package/docs/plans/2026-03-01-deep-integration-plan.md +851 -0
- package/docs/plans/2026-03-01-pipeline-audit-trail-design.md +145 -0
- package/docs/plans/2026-03-01-pipeline-audit-trail-plan.md +770 -0
- package/docs/plans/2026-03-01-refined-depths-brand-design.md +382 -0
- package/docs/plans/2026-03-01-refined-depths-implementation.md +599 -0
- package/docs/plans/2026-03-01-skipper-kernel-integration-design.md +203 -0
- package/docs/plans/2026-03-01-unified-platform-design.md +272 -0
- package/docs/plans/2026-03-07-claude-code-feature-integration-design.md +189 -0
- package/docs/plans/2026-03-07-claude-code-feature-integration-plan.md +1165 -0
- package/docs/research/BACKLOG_QUICK_REFERENCE.md +352 -0
- package/docs/research/CUTTING_EDGE_RESEARCH_2026.md +546 -0
- package/docs/research/RESEARCH_INDEX.md +439 -0
- package/docs/research/RESEARCH_SOURCES.md +440 -0
- package/docs/research/RESEARCH_SUMMARY.txt +275 -0
- package/docs/superpowers/specs/2026-03-10-pipeline-quality-revolution-design.md +341 -0
- package/package.json +2 -2
- package/scripts/lib/adaptive-model.sh +427 -0
- package/scripts/lib/adaptive-timeout.sh +316 -0
- package/scripts/lib/audit-trail.sh +309 -0
- package/scripts/lib/auto-recovery.sh +471 -0
- package/scripts/lib/bandit-selector.sh +431 -0
- package/scripts/lib/bootstrap.sh +104 -2
- package/scripts/lib/causal-graph.sh +455 -0
- package/scripts/lib/compat.sh +126 -0
- package/scripts/lib/compound-audit.sh +337 -0
- package/scripts/lib/constitutional.sh +454 -0
- package/scripts/lib/context-budget.sh +359 -0
- package/scripts/lib/convergence.sh +594 -0
- package/scripts/lib/cost-optimizer.sh +634 -0
- package/scripts/lib/daemon-adaptive.sh +10 -0
- package/scripts/lib/daemon-dispatch.sh +106 -17
- package/scripts/lib/daemon-failure.sh +34 -4
- package/scripts/lib/daemon-patrol.sh +23 -2
- package/scripts/lib/daemon-poll-github.sh +361 -0
- package/scripts/lib/daemon-poll-health.sh +299 -0
- package/scripts/lib/daemon-poll.sh +27 -611
- package/scripts/lib/daemon-state.sh +112 -66
- package/scripts/lib/daemon-triage.sh +10 -0
- package/scripts/lib/dod-scorecard.sh +442 -0
- package/scripts/lib/error-actionability.sh +300 -0
- package/scripts/lib/formal-spec.sh +461 -0
- package/scripts/lib/helpers.sh +177 -4
- package/scripts/lib/intent-analysis.sh +409 -0
- package/scripts/lib/loop-convergence.sh +350 -0
- package/scripts/lib/loop-iteration.sh +682 -0
- package/scripts/lib/loop-progress.sh +48 -0
- package/scripts/lib/loop-restart.sh +185 -0
- package/scripts/lib/memory-effectiveness.sh +506 -0
- package/scripts/lib/mutation-executor.sh +352 -0
- package/scripts/lib/outcome-feedback.sh +521 -0
- package/scripts/lib/pipeline-cli.sh +336 -0
- package/scripts/lib/pipeline-commands.sh +1216 -0
- package/scripts/lib/pipeline-detection.sh +100 -2
- package/scripts/lib/pipeline-execution.sh +897 -0
- package/scripts/lib/pipeline-github.sh +28 -3
- package/scripts/lib/pipeline-intelligence-compound.sh +431 -0
- package/scripts/lib/pipeline-intelligence-scoring.sh +407 -0
- package/scripts/lib/pipeline-intelligence-skip.sh +181 -0
- package/scripts/lib/pipeline-intelligence.sh +100 -1136
- package/scripts/lib/pipeline-quality-bash-compat.sh +182 -0
- package/scripts/lib/pipeline-quality-checks.sh +17 -715
- package/scripts/lib/pipeline-quality-gates.sh +563 -0
- package/scripts/lib/pipeline-stages-build.sh +730 -0
- package/scripts/lib/pipeline-stages-delivery.sh +965 -0
- package/scripts/lib/pipeline-stages-intake.sh +1133 -0
- package/scripts/lib/pipeline-stages-monitor.sh +407 -0
- package/scripts/lib/pipeline-stages-review.sh +1022 -0
- package/scripts/lib/pipeline-stages.sh +59 -2929
- package/scripts/lib/pipeline-state.sh +36 -5
- package/scripts/lib/pipeline-util.sh +487 -0
- package/scripts/lib/policy-learner.sh +438 -0
- package/scripts/lib/process-reward.sh +493 -0
- package/scripts/lib/project-detect.sh +649 -0
- package/scripts/lib/quality-profile.sh +334 -0
- package/scripts/lib/recruit-commands.sh +885 -0
- package/scripts/lib/recruit-learning.sh +739 -0
- package/scripts/lib/recruit-roles.sh +648 -0
- package/scripts/lib/reward-aggregator.sh +458 -0
- package/scripts/lib/rl-optimizer.sh +362 -0
- package/scripts/lib/root-cause.sh +427 -0
- package/scripts/lib/scope-enforcement.sh +445 -0
- package/scripts/lib/session-restart.sh +493 -0
- package/scripts/lib/skill-memory.sh +300 -0
- package/scripts/lib/skill-registry.sh +775 -0
- package/scripts/lib/spec-driven.sh +476 -0
- package/scripts/lib/test-helpers.sh +18 -7
- package/scripts/lib/test-holdout.sh +429 -0
- package/scripts/lib/test-optimizer.sh +511 -0
- package/scripts/shipwright-file-suggest.sh +45 -0
- package/scripts/skills/adversarial-quality.md +61 -0
- package/scripts/skills/api-design.md +44 -0
- package/scripts/skills/architecture-design.md +50 -0
- package/scripts/skills/brainstorming.md +43 -0
- package/scripts/skills/data-pipeline.md +44 -0
- package/scripts/skills/deploy-safety.md +64 -0
- package/scripts/skills/documentation.md +38 -0
- package/scripts/skills/frontend-design.md +45 -0
- package/scripts/skills/generated/.gitkeep +0 -0
- package/scripts/skills/generated/_refinements/.gitkeep +0 -0
- package/scripts/skills/generated/_refinements/adversarial-quality.patch.md +3 -0
- package/scripts/skills/generated/_refinements/architecture-design.patch.md +3 -0
- package/scripts/skills/generated/_refinements/brainstorming.patch.md +3 -0
- package/scripts/skills/generated/cli-version-management.md +29 -0
- package/scripts/skills/generated/collection-system-validation.md +99 -0
- package/scripts/skills/generated/large-scale-c-refactoring-coordination.md +97 -0
- package/scripts/skills/generated/pattern-matching-similarity-scoring.md +195 -0
- package/scripts/skills/generated/test-parallelization-detection.md +65 -0
- package/scripts/skills/observability.md +79 -0
- package/scripts/skills/performance.md +48 -0
- package/scripts/skills/pr-quality.md +49 -0
- package/scripts/skills/product-thinking.md +43 -0
- package/scripts/skills/security-audit.md +49 -0
- package/scripts/skills/systematic-debugging.md +40 -0
- package/scripts/skills/testing-strategy.md +47 -0
- package/scripts/skills/two-stage-review.md +52 -0
- package/scripts/skills/validation-thoroughness.md +55 -0
- package/scripts/sw +9 -3
- package/scripts/sw-activity.sh +9 -2
- package/scripts/sw-adaptive.sh +2 -1
- package/scripts/sw-adversarial.sh +2 -1
- package/scripts/sw-architecture-enforcer.sh +3 -1
- package/scripts/sw-auth.sh +12 -2
- package/scripts/sw-autonomous.sh +5 -1
- package/scripts/sw-changelog.sh +4 -1
- package/scripts/sw-checkpoint.sh +2 -1
- package/scripts/sw-ci.sh +5 -1
- package/scripts/sw-cleanup.sh +4 -26
- package/scripts/sw-code-review.sh +10 -4
- package/scripts/sw-connect.sh +2 -1
- package/scripts/sw-context.sh +2 -1
- package/scripts/sw-cost.sh +48 -3
- package/scripts/sw-daemon.sh +66 -9
- package/scripts/sw-dashboard.sh +3 -1
- package/scripts/sw-db.sh +59 -16
- package/scripts/sw-decide.sh +8 -2
- package/scripts/sw-decompose.sh +360 -17
- package/scripts/sw-deps.sh +4 -1
- package/scripts/sw-developer-simulation.sh +4 -1
- package/scripts/sw-discovery.sh +325 -2
- package/scripts/sw-doc-fleet.sh +4 -1
- package/scripts/sw-docs-agent.sh +3 -1
- package/scripts/sw-docs.sh +2 -1
- package/scripts/sw-doctor.sh +453 -2
- package/scripts/sw-dora.sh +4 -1
- package/scripts/sw-durable.sh +4 -3
- package/scripts/sw-e2e-orchestrator.sh +17 -16
- package/scripts/sw-eventbus.sh +7 -1
- package/scripts/sw-evidence.sh +364 -12
- package/scripts/sw-feedback.sh +550 -9
- package/scripts/sw-fix.sh +20 -1
- package/scripts/sw-fleet-discover.sh +6 -2
- package/scripts/sw-fleet-viz.sh +4 -1
- package/scripts/sw-fleet.sh +5 -1
- package/scripts/sw-github-app.sh +16 -3
- package/scripts/sw-github-checks.sh +3 -2
- package/scripts/sw-github-deploy.sh +3 -2
- package/scripts/sw-github-graphql.sh +18 -7
- package/scripts/sw-guild.sh +5 -1
- package/scripts/sw-heartbeat.sh +5 -30
- package/scripts/sw-hello.sh +67 -0
- package/scripts/sw-hygiene.sh +6 -1
- package/scripts/sw-incident.sh +265 -1
- package/scripts/sw-init.sh +18 -2
- package/scripts/sw-instrument.sh +10 -2
- package/scripts/sw-intelligence.sh +42 -6
- package/scripts/sw-jira.sh +5 -1
- package/scripts/sw-launchd.sh +2 -1
- package/scripts/sw-linear.sh +4 -1
- package/scripts/sw-logs.sh +4 -1
- package/scripts/sw-loop.sh +432 -1128
- package/scripts/sw-memory.sh +356 -2
- package/scripts/sw-mission-control.sh +6 -1
- package/scripts/sw-model-router.sh +481 -26
- package/scripts/sw-otel.sh +13 -4
- package/scripts/sw-oversight.sh +14 -5
- package/scripts/sw-patrol-meta.sh +334 -0
- package/scripts/sw-pipeline-composer.sh +5 -1
- package/scripts/sw-pipeline-vitals.sh +2 -1
- package/scripts/sw-pipeline.sh +53 -2664
- package/scripts/sw-pm.sh +12 -5
- package/scripts/sw-pr-lifecycle.sh +2 -1
- package/scripts/sw-predictive.sh +7 -1
- package/scripts/sw-prep.sh +185 -2
- package/scripts/sw-ps.sh +5 -25
- package/scripts/sw-public-dashboard.sh +15 -3
- package/scripts/sw-quality.sh +2 -1
- package/scripts/sw-reaper.sh +8 -25
- package/scripts/sw-recruit.sh +156 -2303
- package/scripts/sw-regression.sh +19 -12
- package/scripts/sw-release-manager.sh +3 -1
- package/scripts/sw-release.sh +4 -1
- package/scripts/sw-remote.sh +3 -1
- package/scripts/sw-replay.sh +7 -1
- package/scripts/sw-retro.sh +158 -1
- package/scripts/sw-review-rerun.sh +3 -1
- package/scripts/sw-scale.sh +10 -3
- package/scripts/sw-security-audit.sh +6 -1
- package/scripts/sw-self-optimize.sh +6 -3
- package/scripts/sw-session.sh +9 -3
- package/scripts/sw-setup.sh +3 -1
- package/scripts/sw-stall-detector.sh +406 -0
- package/scripts/sw-standup.sh +15 -7
- package/scripts/sw-status.sh +3 -1
- package/scripts/sw-strategic.sh +4 -1
- package/scripts/sw-stream.sh +7 -1
- package/scripts/sw-swarm.sh +18 -6
- package/scripts/sw-team-stages.sh +13 -6
- package/scripts/sw-templates.sh +5 -29
- package/scripts/sw-testgen.sh +7 -1
- package/scripts/sw-tmux-pipeline.sh +4 -1
- package/scripts/sw-tmux-role-color.sh +2 -0
- package/scripts/sw-tmux-status.sh +1 -1
- package/scripts/sw-tmux.sh +3 -1
- package/scripts/sw-trace.sh +3 -1
- package/scripts/sw-tracker-github.sh +3 -0
- package/scripts/sw-tracker-jira.sh +3 -0
- package/scripts/sw-tracker-linear.sh +3 -0
- package/scripts/sw-tracker.sh +3 -1
- package/scripts/sw-triage.sh +2 -1
- package/scripts/sw-upgrade.sh +3 -1
- package/scripts/sw-ux.sh +5 -2
- package/scripts/sw-webhook.sh +3 -1
- package/scripts/sw-widgets.sh +3 -1
- package/scripts/sw-worktree.sh +15 -3
- package/scripts/test-skill-injection.sh +1233 -0
- package/templates/pipelines/autonomous.json +27 -3
- package/templates/pipelines/cost-aware.json +34 -8
- package/templates/pipelines/deployed.json +12 -0
- package/templates/pipelines/enterprise.json +12 -0
- package/templates/pipelines/fast.json +6 -0
- package/templates/pipelines/full.json +27 -3
- package/templates/pipelines/hotfix.json +6 -0
- package/templates/pipelines/standard.json +12 -0
- package/templates/pipelines/tdd.json +12 -0
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
# Refined Depths Brand Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
|
|
4
|
+
|
|
5
|
+
**Goal:** Unify Shipwright and Skipper under the "Refined Depths" design system — deeper backgrounds, cyan-primary accent, system fonts, frosted glass effects, restrained gradients.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Three CSS files drive the Skipper dashboard (theme.css, layout.css, components.css). One CSS file drives the Shipwright Fleet Command dashboard (styles.css). Both get updated to share the same design tokens. HTML files lose Google Fonts imports. Documentation (CLAUDE.md, design-system.md) gets updated to reflect the new system.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** CSS custom properties, system font stacks, backdrop-filter for frosted glass.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
### Task 1: Update Skipper Dashboard — theme.css (Dark Mode)
|
|
14
|
+
|
|
15
|
+
**Files:**
|
|
16
|
+
|
|
17
|
+
- Modify: `skipper/crates/skipper-api/static/css/theme.css:90-137`
|
|
18
|
+
|
|
19
|
+
**Step 1: Replace dark mode CSS variables**
|
|
20
|
+
|
|
21
|
+
Replace the `[data-theme="dark"]` block (lines 90-137) with new Refined Depths values:
|
|
22
|
+
|
|
23
|
+
```css
|
|
24
|
+
[data-theme="dark"] {
|
|
25
|
+
/* Backgrounds — Ocean Depths, quieted */
|
|
26
|
+
--bg: #050508;
|
|
27
|
+
--bg-primary: #08090e;
|
|
28
|
+
--bg-elevated: #0e1018;
|
|
29
|
+
--surface: #171c28;
|
|
30
|
+
--surface2: #1e2536;
|
|
31
|
+
--surface3: #111520;
|
|
32
|
+
--border: #1e2536;
|
|
33
|
+
--border-light: #2a3244;
|
|
34
|
+
--border-subtle: #151a24;
|
|
35
|
+
--text: #e8eaed;
|
|
36
|
+
--text-secondary: #b0b4bc;
|
|
37
|
+
--text-dim: #8b8f9a;
|
|
38
|
+
--text-muted: #555a66;
|
|
39
|
+
|
|
40
|
+
/* Brand — Cyan accent */
|
|
41
|
+
--accent: #00d4ff;
|
|
42
|
+
--accent-light: #33ddff;
|
|
43
|
+
--accent-dim: #00a8cc;
|
|
44
|
+
--accent-glow: rgba(0, 212, 255, 0.12);
|
|
45
|
+
--accent-subtle: rgba(0, 212, 255, 0.08);
|
|
46
|
+
|
|
47
|
+
/* Status */
|
|
48
|
+
--success: #4ade80;
|
|
49
|
+
--success-dim: #22c55e;
|
|
50
|
+
--success-subtle: rgba(74, 222, 128, 0.1);
|
|
51
|
+
--error: #f43f5e;
|
|
52
|
+
--error-dim: #e11d48;
|
|
53
|
+
--error-subtle: rgba(244, 63, 94, 0.1);
|
|
54
|
+
--warning: #fbbf24;
|
|
55
|
+
--warning-dim: #d97706;
|
|
56
|
+
--warning-subtle: rgba(251, 191, 36, 0.1);
|
|
57
|
+
--info: #3b82f6;
|
|
58
|
+
--info-dim: #2563eb;
|
|
59
|
+
--info-subtle: rgba(59, 130, 246, 0.1);
|
|
60
|
+
--success-muted: rgba(74, 222, 128, 0.2);
|
|
61
|
+
--error-muted: rgba(244, 63, 94, 0.2);
|
|
62
|
+
--warning-muted: rgba(251, 191, 36, 0.2);
|
|
63
|
+
--info-muted: rgba(59, 130, 246, 0.2);
|
|
64
|
+
--border-strong: #2a3244;
|
|
65
|
+
--card-highlight: rgba(255, 255, 255, 0.03);
|
|
66
|
+
|
|
67
|
+
/* Chat */
|
|
68
|
+
--agent-bg: #0a0d14;
|
|
69
|
+
--user-bg: #0a1520;
|
|
70
|
+
|
|
71
|
+
/* Shadows — deeper for dark mode */
|
|
72
|
+
--shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
73
|
+
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
74
|
+
--shadow-md: 0 4px 8px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
75
|
+
--shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.4), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
76
|
+
--shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.5), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
77
|
+
--shadow-glow: 0 0 40px rgba(0, 0, 0, 0.4);
|
|
78
|
+
--shadow-accent: 0 4px 16px rgba(0, 212, 255, 0.1);
|
|
79
|
+
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.03);
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Step 2: Verify the file compiles (open in browser or check syntax)**
|
|
84
|
+
|
|
85
|
+
Confirm: CSS variables are valid, no typos, no missing semicolons.
|
|
86
|
+
|
|
87
|
+
**Step 3: Commit**
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
git add skipper/crates/skipper-api/static/css/theme.css
|
|
91
|
+
git commit -m "style(skipper): update dark mode to Refined Depths palette"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### Task 2: Update Skipper Dashboard — theme.css (Light Mode)
|
|
97
|
+
|
|
98
|
+
**Files:**
|
|
99
|
+
|
|
100
|
+
- Modify: `skipper/crates/skipper-api/static/css/theme.css:5-88`
|
|
101
|
+
|
|
102
|
+
**Step 1: Replace light mode CSS variables**
|
|
103
|
+
|
|
104
|
+
Replace the `[data-theme="light"], :root` block (lines 5-88) with cool-gray Refined Depths values:
|
|
105
|
+
|
|
106
|
+
```css
|
|
107
|
+
[data-theme="light"],
|
|
108
|
+
:root {
|
|
109
|
+
/* Backgrounds — cool grays */
|
|
110
|
+
--bg: #f8f9fa;
|
|
111
|
+
--bg-primary: #f1f3f5;
|
|
112
|
+
--bg-elevated: #ffffff;
|
|
113
|
+
--surface: #e9ecef;
|
|
114
|
+
--surface2: #f1f3f5;
|
|
115
|
+
--surface3: #dee2e6;
|
|
116
|
+
--border: #ced4da;
|
|
117
|
+
--border-light: #adb5bd;
|
|
118
|
+
--border-subtle: #dee2e6;
|
|
119
|
+
|
|
120
|
+
/* Text hierarchy */
|
|
121
|
+
--text: #1a1d21;
|
|
122
|
+
--text-secondary: #343a40;
|
|
123
|
+
--text-dim: #495057;
|
|
124
|
+
--text-muted: #868e96;
|
|
125
|
+
|
|
126
|
+
/* Brand — Cyan accent (darker for light bg contrast) */
|
|
127
|
+
--accent: #0091b3;
|
|
128
|
+
--accent-light: #00b4d8;
|
|
129
|
+
--accent-dim: #007a99;
|
|
130
|
+
--accent-glow: rgba(0, 145, 179, 0.1);
|
|
131
|
+
--accent-subtle: rgba(0, 145, 179, 0.05);
|
|
132
|
+
|
|
133
|
+
/* Status colors */
|
|
134
|
+
--success: #22c55e;
|
|
135
|
+
--success-dim: #16a34a;
|
|
136
|
+
--success-subtle: rgba(34, 197, 94, 0.08);
|
|
137
|
+
--error: #ef4444;
|
|
138
|
+
--error-dim: #dc2626;
|
|
139
|
+
--error-subtle: rgba(239, 68, 68, 0.06);
|
|
140
|
+
--warning: #f59e0b;
|
|
141
|
+
--warning-dim: #d97706;
|
|
142
|
+
--warning-subtle: rgba(245, 158, 11, 0.08);
|
|
143
|
+
--info: #3b82f6;
|
|
144
|
+
--info-dim: #2563eb;
|
|
145
|
+
--info-subtle: rgba(59, 130, 246, 0.06);
|
|
146
|
+
--success-muted: rgba(34, 197, 94, 0.15);
|
|
147
|
+
--error-muted: rgba(239, 68, 68, 0.15);
|
|
148
|
+
--warning-muted: rgba(245, 158, 11, 0.15);
|
|
149
|
+
--info-muted: rgba(59, 130, 246, 0.15);
|
|
150
|
+
--border-strong: #adb5bd;
|
|
151
|
+
--card-highlight: rgba(0, 0, 0, 0.02);
|
|
152
|
+
|
|
153
|
+
/* Chat-specific */
|
|
154
|
+
--agent-bg: #f8f9fa;
|
|
155
|
+
--user-bg: #e8f7fa;
|
|
156
|
+
|
|
157
|
+
/* Layout */
|
|
158
|
+
--sidebar-width: 240px;
|
|
159
|
+
--sidebar-collapsed: 56px;
|
|
160
|
+
--header-height: 48px;
|
|
161
|
+
|
|
162
|
+
/* Radius */
|
|
163
|
+
--radius-xs: 4px;
|
|
164
|
+
--radius-sm: 6px;
|
|
165
|
+
--radius-md: 10px;
|
|
166
|
+
--radius-lg: 14px;
|
|
167
|
+
--radius-xl: 20px;
|
|
168
|
+
|
|
169
|
+
/* Shadows — light mode */
|
|
170
|
+
--shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
171
|
+
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 1px rgba(0, 0, 0, 0.04);
|
|
172
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
173
|
+
--shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.04);
|
|
174
|
+
--shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.06);
|
|
175
|
+
--shadow-glow: 0 0 40px rgba(0, 0, 0, 0.05);
|
|
176
|
+
--shadow-accent: 0 4px 16px rgba(0, 145, 179, 0.1);
|
|
177
|
+
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.5);
|
|
178
|
+
|
|
179
|
+
/* Typography — system fonts */
|
|
180
|
+
--font-sans:
|
|
181
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue",
|
|
182
|
+
sans-serif;
|
|
183
|
+
--font-mono:
|
|
184
|
+
"SF Mono", ui-monospace, "Cascadia Code", "Geist Mono", monospace;
|
|
185
|
+
|
|
186
|
+
/* Motion — toned-down spring */
|
|
187
|
+
--ease-spring: cubic-bezier(0.34, 1.2, 0.64, 1);
|
|
188
|
+
--ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
|
|
189
|
+
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
190
|
+
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
191
|
+
--transition-fast: 0.15s var(--ease-smooth);
|
|
192
|
+
--transition-normal: 0.25s var(--ease-smooth);
|
|
193
|
+
--transition-spring: 0.4s var(--ease-spring);
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Step 2: Update selection color**
|
|
198
|
+
|
|
199
|
+
Change line 172-175 from orange to cyan:
|
|
200
|
+
|
|
201
|
+
```css
|
|
202
|
+
::selection {
|
|
203
|
+
background: var(--accent);
|
|
204
|
+
color: white;
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Step 3: Commit**
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
git add skipper/crates/skipper-api/static/css/theme.css
|
|
212
|
+
git commit -m "style(skipper): update light mode to cool-gray Refined Depths palette"
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### Task 3: Update Skipper Dashboard — theme.css (Animations & Global Styles)
|
|
218
|
+
|
|
219
|
+
**Files:**
|
|
220
|
+
|
|
221
|
+
- Modify: `skipper/crates/skipper-api/static/css/theme.css:201-277`
|
|
222
|
+
|
|
223
|
+
**Step 1: Remove shimmer and pulse-ring keyframes**
|
|
224
|
+
|
|
225
|
+
Delete the `@keyframes shimmer` block (lines 222-225) and `@keyframes pulse-ring` block (lines 227-231). Keep fadeIn, slideUp, slideDown, scaleIn, spin, and cardEntry.
|
|
226
|
+
|
|
227
|
+
**Step 2: Update the skeleton loading to use a simpler fade instead of shimmer**
|
|
228
|
+
|
|
229
|
+
Replace line 252-254:
|
|
230
|
+
|
|
231
|
+
```css
|
|
232
|
+
.skeleton {
|
|
233
|
+
background: var(--surface);
|
|
234
|
+
border-radius: var(--radius-sm);
|
|
235
|
+
opacity: 0.5;
|
|
236
|
+
animation: fadeIn 1s ease-in-out infinite alternate;
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**Step 3: Update cardEntry spring to use toned-down spring**
|
|
241
|
+
|
|
242
|
+
The stagger classes reference `--ease-spring` which is now toned down (1.2 vs 1.56). No code change needed — the variable update in Task 2 handles it.
|
|
243
|
+
|
|
244
|
+
**Step 4: Commit**
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
git add skipper/crates/skipper-api/static/css/theme.css
|
|
248
|
+
git commit -m "style(skipper): remove shimmer/pulse animations, simplify skeleton loading"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
### Task 4: Remove Google Fonts from Skipper Dashboard
|
|
254
|
+
|
|
255
|
+
**Files:**
|
|
256
|
+
|
|
257
|
+
- Modify: `skipper/crates/skipper-api/static/index_head.html:9-11`
|
|
258
|
+
|
|
259
|
+
**Step 1: Remove the three Google Fonts lines**
|
|
260
|
+
|
|
261
|
+
Remove lines 9-11:
|
|
262
|
+
|
|
263
|
+
```html
|
|
264
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
265
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
266
|
+
<link
|
|
267
|
+
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600;700&display=swap"
|
|
268
|
+
rel="stylesheet"
|
|
269
|
+
/>
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**Step 2: Commit**
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
git add skipper/crates/skipper-api/static/index_head.html
|
|
276
|
+
git commit -m "style(skipper): remove Google Fonts imports, use system font stack"
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### Task 5: Update Shipwright Fleet Command Dashboard — styles.css
|
|
282
|
+
|
|
283
|
+
**Files:**
|
|
284
|
+
|
|
285
|
+
- Modify: `dashboard/public/styles.css:10-82` (dark mode tokens)
|
|
286
|
+
- Modify: `dashboard/public/styles.css:85-121` (light mode tokens)
|
|
287
|
+
|
|
288
|
+
**Step 1: Replace dark mode CSS variables (lines 10-82)**
|
|
289
|
+
|
|
290
|
+
```css
|
|
291
|
+
:root {
|
|
292
|
+
/* Ocean Depths — quieted */
|
|
293
|
+
--abyss: #050508;
|
|
294
|
+
--deep: #0a0d14;
|
|
295
|
+
--ocean: #111520;
|
|
296
|
+
--surface: #171c28;
|
|
297
|
+
--foam: #1e2536;
|
|
298
|
+
|
|
299
|
+
/* Accent — cyan primary */
|
|
300
|
+
--cyan: #00d4ff;
|
|
301
|
+
--cyan-subtle: rgba(0, 212, 255, 0.08);
|
|
302
|
+
--cyan-muted: rgba(0, 212, 255, 0.25);
|
|
303
|
+
--purple: #7c3aed;
|
|
304
|
+
--blue: #0066ff;
|
|
305
|
+
|
|
306
|
+
/* Status */
|
|
307
|
+
--green: #4ade80;
|
|
308
|
+
--amber: #fbbf24;
|
|
309
|
+
--rose: #f43f5e;
|
|
310
|
+
|
|
311
|
+
/* Text */
|
|
312
|
+
--text-primary: #e8eaed;
|
|
313
|
+
--text-secondary: #8b8f9a;
|
|
314
|
+
--text-muted: #555a66;
|
|
315
|
+
|
|
316
|
+
/* Cards */
|
|
317
|
+
--card-bg: rgba(10, 13, 20, 0.8);
|
|
318
|
+
--card-border: rgba(255, 255, 255, 0.06);
|
|
319
|
+
--card-hover-border: rgba(0, 212, 255, 0.15);
|
|
320
|
+
--card-radius: 14px;
|
|
321
|
+
|
|
322
|
+
/* Typography — system fonts */
|
|
323
|
+
--font-body:
|
|
324
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue",
|
|
325
|
+
sans-serif;
|
|
326
|
+
--font-mono:
|
|
327
|
+
"SF Mono", ui-monospace, "Cascadia Code", "Geist Mono", monospace;
|
|
328
|
+
|
|
329
|
+
/* Transitions */
|
|
330
|
+
--transition-fast: 0.15s ease;
|
|
331
|
+
--transition-base: 0.25s ease;
|
|
332
|
+
--transition-slow: 0.4s ease;
|
|
333
|
+
|
|
334
|
+
/* Spacing scale */
|
|
335
|
+
--space-1: 4px;
|
|
336
|
+
--space-2: 8px;
|
|
337
|
+
--space-3: 12px;
|
|
338
|
+
--space-4: 16px;
|
|
339
|
+
--space-5: 20px;
|
|
340
|
+
--space-6: 24px;
|
|
341
|
+
--space-8: 32px;
|
|
342
|
+
--space-10: 40px;
|
|
343
|
+
--space-12: 48px;
|
|
344
|
+
--space-16: 64px;
|
|
345
|
+
|
|
346
|
+
/* Border radius */
|
|
347
|
+
--radius-sm: 6px;
|
|
348
|
+
--radius-md: 10px;
|
|
349
|
+
--radius-lg: 14px;
|
|
350
|
+
--radius-xl: 20px;
|
|
351
|
+
--radius-full: 9999px;
|
|
352
|
+
|
|
353
|
+
/* Shadows */
|
|
354
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
355
|
+
--shadow-md: 0 4px 8px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
356
|
+
--shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.4), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
357
|
+
--shadow-elevated: 0 24px 48px rgba(0, 0, 0, 0.5), 0 0 1px rgba(0, 0, 0, 0.1);
|
|
358
|
+
|
|
359
|
+
/* Z-index */
|
|
360
|
+
--z-base: 1;
|
|
361
|
+
--z-dropdown: 10;
|
|
362
|
+
--z-sticky: 20;
|
|
363
|
+
--z-overlay: 30;
|
|
364
|
+
--z-modal: 40;
|
|
365
|
+
--z-toast: 50;
|
|
366
|
+
|
|
367
|
+
/* Easing */
|
|
368
|
+
--ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
|
|
369
|
+
--ease-spring: cubic-bezier(0.34, 1.2, 0.64, 1);
|
|
370
|
+
}
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**Step 2: Replace light mode CSS variables (lines 85-121)**
|
|
374
|
+
|
|
375
|
+
```css
|
|
376
|
+
:root[data-theme="light"] {
|
|
377
|
+
--abyss: #f8f9fa;
|
|
378
|
+
--deep: #ffffff;
|
|
379
|
+
--ocean: #f1f3f5;
|
|
380
|
+
--surface: #e9ecef;
|
|
381
|
+
--foam: #dee2e6;
|
|
382
|
+
|
|
383
|
+
--cyan: #0091b3;
|
|
384
|
+
--cyan-subtle: rgba(0, 145, 179, 0.08);
|
|
385
|
+
--cyan-muted: rgba(0, 145, 179, 0.25);
|
|
386
|
+
--purple: #6d28d9;
|
|
387
|
+
--blue: #0055cc;
|
|
388
|
+
|
|
389
|
+
--green: #16a34a;
|
|
390
|
+
--amber: #d97706;
|
|
391
|
+
--rose: #dc2626;
|
|
392
|
+
|
|
393
|
+
--text-primary: #1a1d21;
|
|
394
|
+
--text-secondary: #495057;
|
|
395
|
+
--text-muted: #868e96;
|
|
396
|
+
|
|
397
|
+
--card-bg: rgba(255, 255, 255, 0.9);
|
|
398
|
+
--card-border: rgba(0, 0, 0, 0.06);
|
|
399
|
+
--card-hover-border: rgba(0, 145, 179, 0.15);
|
|
400
|
+
|
|
401
|
+
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 1px rgba(0, 0, 0, 0.04);
|
|
402
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
403
|
+
--shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.04);
|
|
404
|
+
--shadow-elevated:
|
|
405
|
+
0 24px 48px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.06);
|
|
406
|
+
|
|
407
|
+
--border: rgba(0, 0, 0, 0.08);
|
|
408
|
+
}
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
**Step 3: Remove `--font-display` references**
|
|
412
|
+
|
|
413
|
+
Delete line 37: `--font-display: "Instrument Serif", Georgia, serif;`
|
|
414
|
+
|
|
415
|
+
Search for any usage of `--font-display` in styles.css and replace with `--font-body`.
|
|
416
|
+
|
|
417
|
+
**Step 4: Remove glow shadows**
|
|
418
|
+
|
|
419
|
+
Delete lines 65-68 (the `--shadow-glow-*` variables). Replace any usage of `--shadow-glow-cyan` etc. with `--shadow-md`.
|
|
420
|
+
|
|
421
|
+
**Step 5: Commit**
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
git add dashboard/public/styles.css
|
|
425
|
+
git commit -m "style(dashboard): update Fleet Command to Refined Depths palette"
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
### Task 6: Remove Google Fonts from Fleet Command Dashboard
|
|
431
|
+
|
|
432
|
+
**Files:**
|
|
433
|
+
|
|
434
|
+
- Modify: `dashboard/public/index.html:7-12`
|
|
435
|
+
|
|
436
|
+
**Step 1: Remove Google Fonts import lines**
|
|
437
|
+
|
|
438
|
+
Remove lines 7-12:
|
|
439
|
+
|
|
440
|
+
```html
|
|
441
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
442
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
443
|
+
<link
|
|
444
|
+
href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap"
|
|
445
|
+
rel="stylesheet"
|
|
446
|
+
/>
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
**Step 2: Commit**
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
git add dashboard/public/index.html
|
|
453
|
+
git commit -m "style(dashboard): remove Google Fonts imports, use system font stack"
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
### Task 7: Update CLAUDE.md Color References
|
|
459
|
+
|
|
460
|
+
**Files:**
|
|
461
|
+
|
|
462
|
+
- Modify: `.claude/CLAUDE.md:944-951`
|
|
463
|
+
|
|
464
|
+
**Step 1: Update the Colors table**
|
|
465
|
+
|
|
466
|
+
Replace lines 944-951:
|
|
467
|
+
|
|
468
|
+
```markdown
|
|
469
|
+
### Colors
|
|
470
|
+
|
|
471
|
+
| Name | Hex | Usage |
|
|
472
|
+
| ----- | --------- | ------------------------------------ |
|
|
473
|
+
| Cyan | `#00d4ff` | Primary accent, active borders, CTAs |
|
|
474
|
+
| Green | `#4ade80` | Success indicators |
|
|
475
|
+
| Amber | `#fbbf24` | Warning indicators |
|
|
476
|
+
| Rose | `#f43f5e` | Error indicators |
|
|
477
|
+
|
|
478
|
+
Purple (`#7c3aed`) and Blue (`#0066ff`) are used only as gradient endpoints, never as standalone accents.
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
**Step 2: Commit**
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
git add .claude/CLAUDE.md
|
|
485
|
+
git commit -m "docs: update CLAUDE.md color table to Refined Depths system"
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
490
|
+
### Task 8: Update website/design-system.md
|
|
491
|
+
|
|
492
|
+
**Files:**
|
|
493
|
+
|
|
494
|
+
- Modify: `website/design-system.md` (full file)
|
|
495
|
+
|
|
496
|
+
**Step 1: Replace the entire file with the Refined Depths spec**
|
|
497
|
+
|
|
498
|
+
Copy the full content from `docs/plans/2026-03-01-refined-depths-brand-design.md` into `website/design-system.md`, updating the header to read "Shipwright Design System" (the canonical design system reference).
|
|
499
|
+
|
|
500
|
+
**Step 2: Commit**
|
|
501
|
+
|
|
502
|
+
```bash
|
|
503
|
+
git add website/design-system.md
|
|
504
|
+
git commit -m "docs: replace website design system with Refined Depths v3.0"
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
### Task 9: Verify and Fix Component CSS References
|
|
510
|
+
|
|
511
|
+
**Files:**
|
|
512
|
+
|
|
513
|
+
- Modify: `skipper/crates/skipper-api/static/css/components.css` (if needed)
|
|
514
|
+
|
|
515
|
+
**Step 1: Search for hardcoded orange colors**
|
|
516
|
+
|
|
517
|
+
Search components.css for any hardcoded `#FF5C00`, `#FF7A2E`, `#E05200`, or `rgb(255, 92, 0` references that bypass CSS variables. Replace with `var(--accent)`, `var(--accent-light)`, or `var(--accent-dim)`.
|
|
518
|
+
|
|
519
|
+
**Step 2: Search for hardcoded old background colors**
|
|
520
|
+
|
|
521
|
+
Search for `#080706`, `#0F0E0E`, `#161413`, `#1F1D1C`, `#F5F4F2`, `#EDECEB` — any hardcoded old palette values that should use CSS variables instead.
|
|
522
|
+
|
|
523
|
+
**Step 3: Search for `--accent` fallback references in index_body.html**
|
|
524
|
+
|
|
525
|
+
The inline styles in index_body.html use CSS variable fallbacks like `var(--accent, #7c3aed)`. Search for fallback values that reference the old orange or purple and update them:
|
|
526
|
+
|
|
527
|
+
- Replace fallback `#7c3aed` with `#00d4ff` where it represents the accent
|
|
528
|
+
- Replace fallback `#1e1e2e` with `#0a0d14`
|
|
529
|
+
|
|
530
|
+
**Step 4: Commit**
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
git add skipper/crates/skipper-api/static/css/components.css
|
|
534
|
+
git add skipper/crates/skipper-api/static/index_body.html
|
|
535
|
+
git commit -m "style(skipper): fix hardcoded color references to use CSS variables"
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
|
|
540
|
+
### Task 10: Update README Badge Colors
|
|
541
|
+
|
|
542
|
+
**Files:**
|
|
543
|
+
|
|
544
|
+
- Modify: `README.md:15-18`
|
|
545
|
+
|
|
546
|
+
**Step 1: Verify badge colors match new palette**
|
|
547
|
+
|
|
548
|
+
Lines 15-18 already use:
|
|
549
|
+
|
|
550
|
+
- `4ade80` (green) — stays
|
|
551
|
+
- `00d4ff` (cyan) — stays
|
|
552
|
+
- `7c3aed` (purple for bash badge) — change to `555a66` (muted, per design doc)
|
|
553
|
+
|
|
554
|
+
Replace line 18:
|
|
555
|
+
|
|
556
|
+
```markdown
|
|
557
|
+
<img src="https://img.shields.io/badge/bash-3.2%2B-555a66?style=flat-square" alt="Bash 3.2+">
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
**Step 2: Commit**
|
|
561
|
+
|
|
562
|
+
```bash
|
|
563
|
+
git add README.md
|
|
564
|
+
git commit -m "docs: update README badge colors to Refined Depths palette"
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
---
|
|
568
|
+
|
|
569
|
+
### Task 11: Final Visual Verification
|
|
570
|
+
|
|
571
|
+
**Step 1: Build the Skipper dashboard and check in browser**
|
|
572
|
+
|
|
573
|
+
```bash
|
|
574
|
+
cd skipper && cargo build --workspace --lib
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
Open the Skipper dashboard in a browser and verify:
|
|
578
|
+
|
|
579
|
+
- Dark mode: near-black backgrounds, cyan accents, system fonts
|
|
580
|
+
- Light mode: cool-gray backgrounds, darker cyan accents
|
|
581
|
+
- Theme toggle works correctly
|
|
582
|
+
- All buttons, cards, badges render with new colors
|
|
583
|
+
|
|
584
|
+
**Step 2: Check the Fleet Command dashboard**
|
|
585
|
+
|
|
586
|
+
Start the dashboard server and verify visually.
|
|
587
|
+
|
|
588
|
+
**Step 3: Run any existing tests**
|
|
589
|
+
|
|
590
|
+
```bash
|
|
591
|
+
cd skipper && cargo test --workspace
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
**Step 4: Final commit if any fixes needed**
|
|
595
|
+
|
|
596
|
+
```bash
|
|
597
|
+
git add -A
|
|
598
|
+
git commit -m "style: final visual fixes for Refined Depths brand system"
|
|
599
|
+
```
|