Start with the product boundary, then find the repository. A screen can involve the web client, the published SDK, the server contract, a background job, and PostgreSQL; changing the nearest file is not always changing the owner of the behaviour.

Repository and service map

PartSourceOwns
Wild HQ sitewildhq-siteThe instincts, this handbook, public metadata, and Housekeeping Mode notice.
Packbase webwildbasehq/packbase-react-uiThe React application, routes, UI state, accessibility, localisation, Storybook, and the Cloudflare Worker around the built site.
Packbase serverwildbasehq/packbase, mainly apps/serverHTTP contracts, authentication enforcement, domain logic, PostgreSQL access, storage, jobs, maintenance state, and admin APIs.
Packbase SDK and REST API documentationdocs-sdk.packbase.appThe authoritative published reference for the current typed client and HTTP API.
Wildbase Workwork.wildhq.orgTasks, proposals, issue state, and durable work or vote records.
DiscordThe Wild HQ serverConversation and coordination, never the durable or secret store.

A browser request in one paragraph

The deployed Packbase web application is a Vite-built React single-page application served through a Cloudflare Worker. For HTML requests, the Worker asks the Packbase server for /context, then may inject route metadata before returning the page. In the browser, Packbase SDK clients make public or Clerk-authenticated API calls. The server validates and authorises those calls, uses PostgreSQL through Prisma, talks to object storage and other configured services, and runs several background workers in the same server process.

When debugging, locate the failing boundary before editing:

  • wrong layout, interaction, or client state: web;
  • missing or awkward typed client capability: SDK boundary;
  • wrong validation, authorisation, or domain result: server route or domain code;
  • delayed or duplicated side effect: background worker;
  • invalid relation, historical state, or migration: database layer;
  • wrong share metadata or maintenance response: /context, /server/describeServer, or the Cloudflare Worker.

Current frontend boundary

The old Packbase admin UI is retired, and the old apps/web tree in the server repository is frozen. New product, staff, and moderation interface work belongs in the Packbase web repository. Server-side /admin routes still exist; retiring a frontend does not retire its API automatically.

Packbase overviewThe main Packbase concepts, request paths, repositories, and ownership boundaries.

Packbase webWhere Packbase browser behaviour lives and how routes, components, SDK state, stories, localisation, and the Worker fit together.

Packbase serverHow the Packbase API is structured, registered, authenticated, tested, and connected to data and background work.

Admin and moderation workWhere Packbase staff and moderation features now belong, what already exists, and how to preserve server-enforced authority.