Share code and text snippets with syntax highlighting, paste management, and easy sharing. Stores pastes in your PDS for convenience.
This is a pnpm workspace monorepo:
kpaste/
├── apps/
│ └── kpaste/ # Main KPaste application
├── packages/
│ ├── lexicon/ # ATProto lexicon types (published to npm)
│ ├── atproto-auth/ # Authentication package
│ ├── atproto-utils/ # ATProto utility functions
│ └── ui/ # Shared UI components
└── pnpm-workspace.yaml # Workspace configuration
All commands can be run from the root directory and will automatically target the appropriate workspace packages.
- @kpaste-app/lexicon - ATProto lexicon types for KPaste, published separately for use in other applications. See packages/lexicon/README.md for publishing workflow.
- Node.js (v18 or higher recommended)
- pnpm package manager (v10.17.1 or higher)
pnpm install
pnpm buildStart the development server:
pnpm devPreview production build:
pnpm previewpnpm lex-cli generate -c ./lex.config.js- Generate TypeScript types from lexiconspnpm publish-lexicon- Publish lexicon schema to PDS (requires--handle,--password, optional--endpoint)