No description
  • JavaScript 39.2%
  • CSS 23.7%
  • TypeScript 15.9%
  • Svelte 15%
  • HTML 6%
Find a file
2026-05-22 23:44:48 +04:00
.vscode chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
docs feat: add dockerized Pleroma integration workflow 2026-05-13 11:41:41 +04:00
meta feat: add central account cache 2026-05-21 15:55:12 +04:00
scripts feat: add dockerized Pleroma integration workflow 2026-05-13 11:41:41 +04:00
src fix: refine video duotone behavior 2026-05-22 23:44:48 +04:00
static feat: port attachments, composer, and lightbox sections to design-system page 2026-05-14 18:02:36 +04:00
tests/integration feat: add dockerized Pleroma integration workflow 2026-05-13 11:41:41 +04:00
.gitignore chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
.npmrc chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
AGENTS.md docs: update agent project guidance 2026-05-21 08:37:28 +04:00
mise.toml chore: add opencode mise task 2026-05-15 14:23:41 +04:00
package.json feat: add dockerized Pleroma integration workflow 2026-05-13 11:41:41 +04:00
playwright.config.ts test: add responsive regression coverage 2026-05-13 08:44:20 +04:00
playwright.integration.config.ts feat: add dockerized Pleroma integration workflow 2026-05-13 11:41:41 +04:00
pnpm-lock.yaml chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
pnpm-workspace.yaml chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
README.md feat: add dockerized Pleroma integration workflow 2026-05-13 11:41:41 +04:00
svelte.config.js chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
tsconfig.json chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00
vite.config.ts chore: scaffold sveltekit spa 2026-05-12 12:22:24 +04:00

PleromaNet

PleromaNet is a new frontend for Pleroma focused on a reduced, refined interface. The visual design source file is now represented by the implementation plan in meta/issues.md.

Status

This repository contains a SvelteKit TypeScript SPA/static frontend without SSR. It is currently mostly design prototype work; real Pleroma-backed app flows have not landed yet.

Real App Surface

  • / is a small coming-soon landing page that links to the mocked surfaces.
  • There is currently no real Pleroma API-backed app surface.

Prototype / Fake Surfaces

  • /mockup is the signed-in design prototype with mocked profile, timeline, composer, thread, navigation, right rail, settings placeholder, and interaction state.
  • /design-system is a component/design showcase with mocked content.
  • Timeline posts, composer publishing, thread replies, follow buttons, trends, suggestions, settings, notifications, messages, bookmarks, lists, and instance status are mocked UI behavior.
  • No OAuth flow, token storage, authenticated account state, real posting, real follow actions, real thread fetching, or real profile/settings writes exist yet.
  • Dockerized/live Pleroma integration tests have not been added yet.

Development Principles

  • TDD first: red, green, refactor.
  • pnpm is the package manager, with tool versions managed by mise.
  • TypeScript is the application language.
  • SvelteKit is the application framework, configured as an SPA/static frontend without SSR.
  • Svelte 5 only, using current patterns and no legacy usage.
  • Functional TypeScript style: arrow functions, no application classes.
  • Small, topical commits. Large features are split into smaller commits.
  • Detailed contributor and agent rules live in AGENTS.md.

Developing

Install dependencies:

pnpm install

Start a development server:

pnpm dev

# or start the server and open the app in a new browser tab
pnpm dev -- --open

Testing

Default tests are Playwright headless browser tests with mocked/local data only. They do not require Docker or a live Pleroma instance.

pnpm test

Run type checks:

pnpm check

Equivalent mise tasks are available:

mise run test
mise run check
mise run build

Dockerized integration tests against an ephemeral Pleroma backend will be added later and kept behind explicit mise tasks.

Dockerized integration tests are opt-in:

mise run test:integration

See docs/integration.md for backend version, debugging, and cleanup details.

Building

To create a production version of your app:

pnpm build

Preview the production build:

pnpm preview

API Reference

PleromaNet targets Pleroma directly and can rely on Pleroma-specific features being present. Pleroma API documentation is available at https://api.pleroma.social/.