https://github.com/karashiiro/kpaste
Share code and text snippets with syntax highlighting, paste management, and easy sharing. Built on ATProto.
https://github.com/karashiiro/kpaste
atproto paste
Last synced: 5 months ago
JSON representation
Share code and text snippets with syntax highlighting, paste management, and easy sharing. Built on ATProto.
- Host: GitHub
- URL: https://github.com/karashiiro/kpaste
- Owner: karashiiro
- License: mit
- Created: 2025-09-21T19:00:27.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-10-07T18:38:04.000Z (6 months ago)
- Last Synced: 2025-10-07T20:37:30.021Z (6 months ago)
- Topics: atproto, paste
- Language: TypeScript
- Homepage: https://paste.karashiiro.moe
- Size: 688 KB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KPaste
Share code and text snippets with syntax highlighting, paste management, and easy sharing. Stores pastes in your PDS for convenience.
## Project Structure
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.
### Published Packages
- **[@kpaste-app/lexicon](https://www.npmjs.com/package/@kpaste-app/lexicon)** - ATProto lexicon types for KPaste, published separately for use in other applications. See [packages/lexicon/README.md](./packages/lexicon/README.md) for publishing workflow.
## Development
### Prerequisites
- Node.js (v18 or higher recommended)
- pnpm package manager (v10.17.1 or higher)
### Building
```bash
pnpm install
pnpm build
```
### Devserver
Start the development server:
```bash
pnpm dev
```
Preview production build:
```bash
pnpm preview
```
### Lexicon Management
- `pnpm lex-cli generate -c ./lex.config.js` - Generate TypeScript types from lexicons
- `pnpm publish-lexicon` - Publish lexicon schema to PDS (requires `--handle`, `--password`, optional `--endpoint`)