Skip to content
Prompt

keypal — Cursor Rules

by izadoesdev

AI Summary

A Cursor rules booster that guides AI to prefer Bun as the default runtime and build tool over Node.js, npm, and other alternatives, with specific API recommendations. Developers using Bun in their projects benefit from consistent AI suggestions aligned with their tooling preferences.

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to add the "keypal — Cursor Rules" prompt rules to my project.
Repository: https://github.com/izadoesdev/keypal

Please read the repo to find the rules/prompt file, then:
1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type)
2. If there's an existing rules file, merge the new rules in rather than overwriting
3. Confirm what was added

Description

Use Bun instead of Node.js, npm, pnpm, or vite.

APIs

• Bun.serve() supports WebSockets, HTTPS, and routes. Don't use express. • bun:sqlite for SQLite. Don't use better-sqlite3. • Bun.redis for Redis. Don't use ioredis. • Bun.sql for Postgres. Don't use pg or postgres.js. • WebSocket is built-in. Don't use ws. • Prefer Bun.file over node:fs's readFile/writeFile • Bun.$ls instead of execa.

Testing

Use bun test to run tests. `ts#index.test.ts import { test, expect } from "bun:test"; test("hello world", () => { expect(1).toBe(1); }); `

Frontend

Use HTML imports with Bun.serve(). Don't use vite. HTML imports fully support React, CSS, Tailwind. Server: `ts#index.ts import index from "./index.html" Bun.serve({ routes: { "/": index, "/api/users/:id": { GET: (req) => { return new Response(JSON.stringify({ id: req.params.id })); }, }, }, // optional websocket support websocket: { open: (ws) => { ws.send("Hello, world!"); }, message: (ws, message) => { ws.send(message); }, close: (ws) => { // handle close } }, development: { hmr: true, console: true, } }) ` HTML files can import .tsx, .jsx or .js files directly and Bun's bundler will transpile & bundle automatically. <link> tags can point to stylesheets and Bun's CSS bundler will bundle. `html#index.html <html> <body> <h1>Hello, world!</h1> <script type="module" src="./frontend.tsx"></script> </body> </html> ` With the following frontend.tsx: `tsx#frontend.tsx import React from "react"; // import .css files directly and it works import './index.css'; import { createRoot } from "react-dom/client"; const root = createRoot(document.body); export default function Frontend() { return <h1>Hello, world!</h1>; } root.render(<Frontend />); ` Then, run index.ts `sh bun --hot ./index.ts ` For more information, read the Bun API docs in node_modules/bun-types/docs/**.md.

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 4mo ago
Stale
Adoption100+ stars on GitHub
196 ★ · Growing
DocsMissing or thin
Undocumented

GitHub Signals

Stars196
Forks14
Issues11
Updated4mo ago
View on GitHub
MIT License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Any AI assistant that accepts custom rules or system prompts

Claude
ChatGPT
Cursor
Windsurf
Copilot
+ more