# Slice Kit A starter kit for building apps on the Atmosphere with [Quickslice](https://tangled.org/slices.network/quickslice). ## Prerequisites - [Docker](https://docs.docker.com/get-docker/) - [Node.js](https://nodejs.org/) ## Quick Start 1. Start the server: ```bash docker compose up ``` 2. Login at http://127.0.0.1:8080 to create an admin account 3. Go to the settings page. Enter your domain authority (e.g., `com.example`) - this is the namespace for your app's lexicons. Leave blank if unsure; `app.bsky.actor.profile` will be treated as an external collection. 4. Upload `lexicons.zip` in the Lexicons section 5. Register an OAuth client at http://127.0.0.1:8080/oauth/clients - Name: `frontend client` - Type: `public` - Redirect URIs: `http://localhost:3000/` - Scope: `atproto transition:generic` 6. Copy the client ID and set it in `index.html`: ```javascript const CLIENT_ID = "your_client_id_here"; ``` 7. Serve the frontend: ```bash make serve ``` 8. Open http://localhost:3000 and login with your Bluesky handle. You should see your Bluesky avatar and profile info after logging in, it's synced automatically after logging in. 9. Configure the Quickslice MCP server for your AI assistant. Example: ```bash claude mcp add --scope user quickslice http://127.0.0.1:8080/mcp ``` 10. Add your own custom lexicons to the `/lexicons` folder, run `make zip`, and upload on the settings page. Ask the Quickslice MCP about your lexicons and use it to help build your app. ## Configuration Environment variables in `docker-compose.yml`: | Variable | Description | |----------|-------------| | `DATABASE_URL` | SQLite database path | | `SECRET_KEY_BASE` | Session signing key (generate your own for production) | | `OAUTH_SIGNING_KEY` | OAuth token signing key (generate your own for production) | | `OAUTH_LOOPBACK_MODE` | Enables localhost OAuth redirects for development | | `EXTERNAL_BASE_URL` | Public URL of your server | ## Make Commands | Command | Description | |---------|-------------| | `make serve` | Serve frontend locally | | `make format` | Format HTML files with Prettier | | `make zip` | Create `lexicons.zip` from lexicons directory | ## Production **Backend:** See the [deployment guide](https://quickslice.slices.network/guides/deployment) for deploying your Quickslice instance. **Frontend:** Deploy to a CDN or [wisp.place](https://wisp.place).