A community index of Pixel Agents office layouts — browse, download, import.
🖼️ Live gallery • 🎮 Pixel Agents • 👾 Discord • 🛠️ Developer API • 🤝 Contributing
Pixel Index is a public, community-run gallery of office layouts for Pixel Agents — the pixel-art character office that turns your AI coding agents into animated characters at desks. Design an office in Pixel Agents, publish it here, and anyone can browse, preview, and import it back into their own Pixel Agents install.
- Open the live gallery and browse or search by size, furniture, pets, or seats.
- Found one you like? Download the
layout.jsonand load it in Pixel Agents with Layout → Import. - Want to share your own? Log in with Discord, paste or upload your
layout.json, check the preview, then publish — it's public immediately, no review queue.
Once published, it's yours: My layouts lets you edit, replace, or delete it at any time.
This index is post-moderated — content is public on submission, not reviewed before it appears. See CONTENT_POLICY.md for what is not allowed and how to report a layout, and MODERATORS.md for how the moderation team applies it.
An npm workspace: packages/layout-core (validation, shared by everything below),
apps/web (the gallery SPA), services/api (Fastify + Postgres, the public API and
auth), and services/renderer (Playwright + the pinned upstream, draws every preview).
git submodule update --init --recursive
cp .env.example .env # fill in the REQUIRED values — see the file itself
API_COMMIT=$(git rev-parse HEAD) docker compose up --buildBrings up a complete, self-hostable index — Postgres, the API, the renderer, and the
built frontend, all talking to each other over the compose network — no external
network, reverse proxy, or pre-existing infrastructure required. API_COMMIT is
optional but recommended: without it, GET / and GET /api/v1/meta report
commit: null instead of the commit you actually built from — see
docs/deployment.md
for why it has to be passed at build time.
Putting a real domain and TLS in front of it is a deliberately separate step — see
docs/deployment.md for Traefik, Caddy, and plain nginx.
docs/ARCHITECTURE.md covers the four-service stack — what each
piece is, how they talk to each other, why the frontend and API are two separate origins
with a bearer-token session instead of a cookie, and why every preview is drawn by a
real browser rather than reimplemented.
git submodule update --init --recursive
npm ci
(cd vendor/pixel-agents && npm ci)
npx playwright install chromium # needed by renderer tests and the web live-preview E2E
npm run validate # seed/ against the pinned Pixel Agents
npm test # every workspace's unit tests
npm run typecheck # every workspaceEach workspace also has its own npm run dev (apps/web, services/api,
services/renderer) for iterating on just that piece against the others already
running. See docs/CONTRIBUTING.md for the full workflow —
commit conventions, linting, and how to propose a seed layout.
This repository — the tooling, the schemas and the site — is MIT licensed; see
LICENSE. Layouts are not licensed individually; each is credited to
its author in meta.json. The seed layouts are by
pablodelucca, who also wrote Pixel Agents.