···24242525- **`/apps/main-app`** - Main backend (OAuth, site management, custom domains)
2626- **`/apps/hosting-service`** - Microservice that serves cached sites from disk
2727-- **`/cli`** - Rust CLI for direct PDS uploads
2727+- **`/cli`** - CLI for direct PDS uploads as well as serving with firehose updates
2828+- **`/rust-cli`** - Deprecated Rust CLI for direct PDS uploads with firehose updates
2829- **`/apps/main-app/public`** - React frontend
2930- **`/packages`** - Shared packages
3031···61626263# CLI
6364cd cli
6464-cargo build
6565+bun install
6666+bun run index.ts
6767+bun build
6868+node dist/index.js
6569```
66706771## Features
+2-2
agents.md
···9797 - place.wisp.fs has a required site field
9898 - place.wisp.fs#subfs has an optional flat field that place.wisp.subfs#subfs doesn't have
9999100100-The project is a monorepo. The package handler it uses for the typescript side is Bun. For the Rust cli, it is cargo.
100100+The project is a monorepo. The package handler it uses is bun. Please when you want to add a package, which is never unless told to, do bun add ..., please do not try to edit package.json yourself.
101101102102### Typescript Bun Workspace Layout
103103···133133134134### CLI
135135136136-**`cli/`** - Rust CLI using Jacquard (AT Protocol library)
136136+**`cli/`** - TypeScript CLI using commander, clack.
137137- Direct PDS uploads without interacting with main-app
138138- Can also do the same firehose watching, caching, and serving hosting-service does, just without domain management
139139