Skip to content

fspoettel/arkham.build

Repository files navigation

arkham.build

arkham.build is a web-based deckbuilder for Arkham Horror: The Card Game™.

🗺️ Roadmap

Metadata additions

arkham.build extends the arkhamdb deck schema with a few fields for additional functionality.

  • meta.extra_deck: Parallel Jim's spirit deck. Format: comma-separated list of ids "id1,id2,id3".
  • meta.attachments_{code}: cards that are attached to a specific setup deck, for example Joe Diamond or Stick to the Plan. Format: comma-separated list of ids "id1,id2,id2,id3".
  • meta.card_pool: packs that can be used for this deck. Used for limited pool deckbuilding such as #campaign-playalong. Format: "<pack_code>,<pack_code>". For arkham.build, new format pack codes take precedence over old format.

Development

  1. Create an .env file from .env.example.
  2. npm install
  3. npm run dev

API

The API is a separate, private git project hosted as a Cloudflare worker.

Icons

Arkham-related SVG icons are sourced from ArkhamCards's icomoon project and loaded as webfonts. Additional icons are bundled as SVG via vite-plugin-svgr or imported from lucide-react.

Template readme

vite-react-ts-template

extended version of vite's official react-ts template.

additional features:

Install

# install dependencies.
npm i

Develop

npm run dev

Build

npm run build

Test

npm test

# run vitest in watch mode.
npm run test:watch

# collect coverage.
npm run test:coverage

Lint

npm run lint

Format

npm run fmt

Prettier will be run automatically on commit via lint-staged.

Preview

Serves the content of ./dist over a local http server.

npm run preview