KlipCode is a local-first code snippet manager. Start without an account, keep working in a device-local workspace, and sign in with GitHub when you want your library available across devices.
- Create, edit, search, copy, and organize snippets in nested folders.
- Move snippets and folders with drag and drop, and pin important items to the sidebar or home view.
- Use a multi-language editor with syntax highlighting, auto-save, and a rich Markdown preview.
- Optionally generate names for untitled snippets with AI when signed in.
- Sync a library through Convex after GitHub sign-in. Cloud records use
per-user encryption when the Cloudflare Worker
ENCRYPTION_MASTER_KEYis configured; without that secret, the current plaintext compatibility mode is used. - Use the interface in English or Spanish.
- Node.js 20 or newer.
- pnpm 10 (the repository pins pnpm 10.11.1).
Install dependencies and start the Next.js development server:
pnpm install
pnpm devOpen http://localhost:3000. This is enough for the device-local workspace.
To develop cloud sync and authentication, run the Convex development backend in a second terminal before starting the app:
pnpm dev:backend
pnpm devpnpm dev:backend writes the development deployment values to .env.local.
For encrypted local cloud records, copy .env.example to .env
and set ENCRYPTION_MASTER_KEY. GitHub sign-in also requires a GitHub OAuth app
and these Convex environment variables:
pnpm exec convex env set AUTH_GITHUB_ID <client-id>
pnpm exec convex env set AUTH_GITHUB_SECRET <client-secret>pnpm lint
pnpm test
pnpm test:e2e
pnpm build
pnpm previewpnpm preview uses the Cloudflare/OpenNext build path. pnpm deploy also
deploys the Convex backend before publishing the Worker.
KlipCode is deployed as a Cloudflare Worker using OpenNext. Configure the
bindings in wrangler.jsonc, set ENCRYPTION_MASTER_KEY as a
Worker secret, and run:
pnpm deployKlipCode is released under the MIT License.