No description
- TypeScript 96.9%
- CSS 2%
- Dockerfile 0.7%
- MDX 0.2%
- JavaScript 0.2%
| apps | ||
| deploy/staging | ||
| packages | ||
| tests/e2e | ||
| .dockerignore | ||
| .gitignore | ||
| biome.json | ||
| bun.lock | ||
| compose.staging.yaml | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
Fellies Platform
Monorepo for the Fellies platform, built with Bun workspaces.
Structure
apps/
public/ Public-facing Next.js app
admin/ Internal/admin Next.js app
docs/ User documentation site (Starlight)
dev-docs/ Engineering docs + API docs (Docusaurus + Scalar)
packages/
auth/ Shared auth package
mam/ Shared media asset management package
Tooling
- Runtime and workspace manager: Bun
- Frontend apps: Next.js
- User docs: Starlight
- Engineering docs: Docusaurus
- API docs: Scalar via Docusaurus
- Linting and formatting: Biome
- Unit/component tests:
bun test - E2E tests: Playwright
Install
bun install
Main Commands
# apps
bun run dev
bun run dev:public
bun run dev:admin
# docs
bun run dev:docs
bun run dev:dev-docs
# builds
bun run build:public
bun run build:admin
bun run build:docs
bun run build:dev-docs
# staging
bun run staging:up
bun run staging:down
bun run staging:logs
bun run staging:reset:first-start
# quality
bun run lint
bun run check
bun run format
# tests
bun run test
bun run test:unit
bun run test:e2e
Testing Layout
- App unit/component tests live next to source files in
apps/publicandapps/admin - Shared package tests live inside
packages/* - E2E tests live in
tests/e2e - Playwright runs desktop and mobile smoke coverage for both Next apps
TypeScript
tsconfig.base.jsonholds shared compiler settingstsconfig.jsonis the root wrapper config- App and package configs extend the shared base
Notes
- Bun is currently kept on the default isolated linker behavior
- Root
.gitignoreowns ignore rules for the monorepo - VS Code workspace settings are in
platform.fellies.org.code-workspace - Staging deployment files live in
deploy/staging/README.md - The staging compose entrypoint is
compose.staging.yaml