Skip to content

chore: codebase audit 2, design system - #31

Merged
bakirgdev merged 8 commits into
mainfrom
chore/codebase-audit-2
Oct 17, 2026
Merged

bakirgdev merged 8 commits into
mainfrom
chore/codebase-audit-2

Conversation

@bakirgdev

@bakirgdev bakirgdev commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

What and why

Codebase audit, part 2: design/ and everything that consumes it. The design system is now a complete brandbook, simpler, free of internal contradictions, and enforced in CI. The app, the landing page, the docs site, the repo docs and every screenshot follow it.

  • docs(design): brand.md is a brandbook (positioning and boilerplate, logo and mascot rules, color and type at a glance, imagery, naming, attribution, App Store badge rules from Apple's guidelines). components.md splits drawn components from system controls, which it only names. One capitalization rule everywhere (controls Title Case, content sentence case), Send as link terminology with a "link server" term, MiB/GiB only for exact binary thresholds, and an approved list of six security claims. Web-only tokens all carry a web segment; dead tokens are removed.
  • ci(design): new scripts/verify-design.sh checks tokens.css = DesignTokens.swift = color sets, fails on a shared token with no mirror decision, and lints app Swift and web CSS/HTML for literals and springs. verify-contrast.sh covers more pairs and rules (and no longer truncates multi-line tokens). The contrast job (now named "design checks") runs both on design, app Swift, color set and web CSS/HTML changes.
  • docs(agents): root AGENTS.md points at design/ and requires apple-design, swiftui-expert-skill, mobile-ios-design and apple-appstore-reviewer for the matching work, with install commands.
  • feat(app): shared button variants (accent and destructive labels now meet contrast), the accept gate per spec (Receiving header, trust badge, file rows, no Cancel; a Home banner returns to a pending request), DropZone, Copy to Copied, phase cross-fade, the four iPhone haptics, tabular live numbers, Dynamic Type glyph sizes, tokens instead of literals, copy and Title Case fixes.
  • fix(web), fix(docs-site), docs: landing hover, hit targets, App Store badge no longer inverted, Apple trademark line, claims trimmed; Docusaurus mapped onto tokens with a token-based code theme; README, SECURITY, store listing and glossary aligned.
  • chore(screenshots): every screen recaptured with scripts/capture-screenshots.sh, web copies refreshed.

AI assistance: substantial

Verification

  • xcodebuild macOS and iOS Simulator builds: succeeded. CrocAppTests (macOS): 266 passed. scripts/format-swift.sh --lint: pass.
  • scripts/verify-design.sh and scripts/verify-contrast.sh: exit 0.
  • web/docs: pnpm build and pnpm typecheck pass.
  • scripts/capture-screenshots.sh: all outputs present and sized; accept gate, waiting, sending and Home checked by eye in light and dark.
  • verify-design.sh has not run under mawk before this PR's CI.
scripts/verify-app-mac.sh: MAC-RECEIVE-OK MAC-SEND-OK MAC-LOCAL-SEND-OK MAC-RELAY-OK MAC-NOCOMP-OK
  MAC-ASK-OK MAC-COLLIDE-OK MAC-TRANSPORT-OK MAC-STORE-OK MAC-MENUBAR-OK MAC-LOGIN-OK MAC-INTENT-OK
  (first run lost the known receiver-first race in scenario 10, "flate: corrupt input before offset 6",
  docs/known-issues.md; the rerun passed all 12)
scripts/verify-app-sim.sh: SIM-INTEROP-OK

Docs

  • User-visible change: lines under ## [Unreleased] in CHANGELOG.md
  • Durable knowledge: design/, docs/knowledge/, AGENTS.md

UI changes

Screenshots in assets/screenshots/ are recaptured in this PR (light and dark, every device).

  • Tokens, SF Symbols and the system font only
  • Both themes checked
  • scripts/verify-contrast.sh and scripts/verify-design.sh pass
  • Screenshots recaptured

@bakirgdev
bakirgdev merged commit 7776970 into main Oct 17, 2026
14 checks passed
@bakirgdev
bakirgdev deleted the chore/codebase-audit-2 branch October 17, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant