The anti-scores scores app, live at attie.app. Built on Next.js.
This repo is a small monorepo:
apps/webcontains the Next.js app and Attie API facade.apps/applecontains the native SwiftUI app sources andAttieCoreSwift package.packages/contractscontains shared fixture contracts and catalogue defaults.packages/design-tokenscontains platform-neutral design tokens.
This project uses npm and is pinned to Node 24 LTS. If you use a Node version
manager, it should pick up .node-version automatically.
npm install
npm run devOpen http://localhost:3000 with your browser to see the result.
For the Apple package:
swift test --package-path apps/apple/Packages/AttieCoreOpen apps/apple/Attie.xcworkspace in Xcode to work with the native sources.
Use npm audit; package-lock.json is the source of truth for installed
dependency versions.
Useful local checks:
npm run lint
npm run typecheck
npm run test
npm run build
npm run auditBefore updating dependencies, run:
npm outdated
npm update
npm run check
npm run auditThe only package-manager override should be a small, documented security fix for a transitive dependency that has not yet been refreshed upstream.
The comic book illustration used on interstitials is public domain imagery. Specifically, it is from page 36 of Sport Thrills issue 15, November 1951, uploaded by Mark Bowen to the Digital Comic Museum.