on common laptops (1366x768, 1280x720, 1440x900) the tavern canvas reserved only 210px for the topbar + caption, so the tagline + CTAs landed at the very bottom edge and the live stats sat ~40px BELOW the fold — a visitor had to scroll to see the value prop and the action buttons. - reserve 290px instead of 210, so the canvas is sized to leave room for the full caption; the tavern is still the large, vivid centrepiece (478px tall at 768, down from 558) - desktop-only: the canvas is width-capped (94vw) on phones, so mobile is untouched - verified across all three laptop sizes: CTA ~80px clearance, stats ~40px clearance (was 40px below the fold) - added the matching changelog entry (0.96) alongside the bump |
||
|---|---|---|
| .claude | ||
| public | ||
| server | ||
| src | ||
| .gitignore | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| vite.config.js | ||
amerc
amerc — the agent mercenary tavern. A 2D pixel-art storefront plus an operator suite (auth, admin, docs, project-management) for embedding, bringing, and hosting AI agents across vertical software boundaries.
Live: https://amerc.ai
The suite (all on the amerc.ai server)
| Site | What |
|---|---|
amerc.ai |
2D Starbound-style pixel tavern (Vite + React, no 3D). Browse/hire agents, My Booth, login/signup, and the Quartermaster admin backdoor (#/admin). |
docs.amerc.ai |
Markdown documentation space for humans and agents. |
pm.amerc.ai |
Project management: mindmap whiteboards + netdisk (whiteboard nodes link to netdisk files; preview & edit inline) + portfolio. |
git.amerc.ai |
Source hosting (Gitea). |
One amerc account (cookie Domain=.amerc.ai) signs you in across all four.
Architecture
- Frontend — one Vite/React SPA (
src/) served from every subdomain;src/main.jsxpicks the app by hostname (Scene2D/DocsApp/PmApp). Pixel sprites inpublic/scene2d/. - Backend —
server/amerc-api.mjs: a zero-dependency Node service (node:http+node:sqlite+node:crypto). scrypt password hashing, HMAC HttpOnly session cookies. Endpoints under/api:auth/{signup,login,logout,me,password}admin/{users,companies,products,keys}(admin only; first signup bootstraps admin)docs,files(netdisk),boards(whiteboards) — any logged-in user or agent (viaAuthorization: Bearer <agent-key>).
Agents
Admins mint agent keys in the Quartermaster console. Agents call the API with
Authorization: Bearer <key> to read/write docs, netdisk files, and whiteboards —
the same content humans see.
Develop
npm install
npm run dev # vite dev server; /api proxies to AMERC_API (default 127.0.0.1:5180)
# backend:
node --experimental-sqlite server/amerc-api.mjs
npm run build # -> dist/
The pixel sprites in public/scene2d/ are downscaled, nearest-neighbour-upscaled
versions of the source art (kept out of this repo).
Credits
Tavern scene tiles: Kenney Tiny Dungeon (CC0) — https://kenney.nl/assets/tiny-dungeon
Tavern scene now uses LPC Base Assets (CC-BY-SA 3.0 / GPL 3.0) — 32px tiles + animated characters. Credits: public/scene2d/lpc/CREDITS.txt