Listus — todo, shopping, watch and other lists. A standalone full-stack product extracted from sneat-apps.
License: AGPL-3.0
This repo hosts two independent toolchains in subdirectories — neither
package.json nor go.mod lives at the repo root:
| Directory | Stack | Description |
|---|---|---|
frontend/ |
Nx · Angular 21 · Ionic 8 · pnpm | The listus-app standalone app and public Listus UI/runtime packages |
backend/ |
Go 1.26 | Backend service (scaffold — health endpoint only for now) |
The public Listus extension is split into a contract, UI, and runtime:
@sneat/extension-listus-contract— DTOs/types and theLISTUS_SERVICEtoken, owned and released byext-listus.@sneat/extension-listus-ui— routes, pages, components, and space menu.@sneat/extension-listus— concrete services andprovideListus().
The public contract is intentionally small and contains no UI or concrete
services. UI may depend on contracts, while runtime may depend on UI and
contracts. The composition-root app wires provideListus() to bind
LISTUS_SERVICE to ListService. These rules are enforced by
@nx/enforce-module-boundaries using layer:contract, layer:ui,
layer:runtime, and layer:app tags.
cd frontend
pnpm install
pnpm exec nx serve listus-app # standalone app (Vite dev server)
pnpm exec nx run-many -t lint test build
pnpm exec nx e2e listus-app-e2e # Playwright smokelistus-app reuses the sneat space framework and Firebase config, so for real
auth + list data it needs the same backing services as sneat-app:
Firebase emulators (auth :9099, firestore :8080) and sneat-go-server
(:4300), all under project local-sneat-app. See
sneat-apps/docs/RUN-LOCAL.md
for the full stack. (A dedicated listus backend is scaffolded under
backend/ but currently only serves /health.)
cd backend
go run ./cmd/listusd # :8080 (override with LISTUS_ADDR), GET /health -> 200
go test ./...See frontend/README.md and
backend/README.md for more per-stack detail.
This is a Sneat extension — build it against the shared platform standards:
- Sneat extension standards — backend wiring, frontend apps, and UX conventions.
- Frontend UX standards — cards, buttons, lists, page layout, forms, modals, and loading/empty/error states.
- Screen flows & the UI component checklist — read before building any form, page, or wizard: it covers how screens connect (entry → action → exit) so they don't end up orphaned.