skills/cloudflare-project/SKILL.md
Cloudflare Hono TypeScript project rules
npx skillsauth add theprimeagen/skills skills/cloudflare-projectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
npx create-cloudflare@latest <project-name> --framework=hono --lang=ts.wrangler.jsonc as the Wrangler config file (not TOML), and keep bindings plus compatibility settings as the source of truth there.@tsconfig/strictest/tsconfig.json (or equivalent strictest flags) and do not relax strict options.npx wrangler types; include ./worker-configuration.d.ts in tsconfig.json and rerun after any wrangler.jsonc change.src/routes/auth.ts) and then mounted from src/index.ts.tsgo for type checking.npx create-cloudflare@latest my-api --framework=hono --lang=ts
cd my-api
npm i -D @tsconfig/strictest
npx wrangler types
// tsconfig.json
{
"extends": "@tsconfig/strictest/tsconfig.json",
"compilerOptions": {
"types": ["./worker-configuration.d.ts"]
}
}
routes/auth.ts)// src/routes/auth.ts
import { Hono } from "hono";
import type { Context } from "hono";
type AppEnv = { Bindings: Env };
const auth = new Hono<AppEnv>();
async function login(c: Context<AppEnv>) {
return c.json({ ok: true });
}
async function logout(c: Context<AppEnv>) {
return c.json({ ok: true });
}
auth.post("/login", login);
auth.post("/logout", logout);
export function registerAuthRoutes(app: Hono<AppEnv>) {
app.route("/auth", auth);
}
// src/index.ts
import { Hono } from "hono";
import { registerAuthRoutes } from "./routes/auth";
const app = new Hono<{ Bindings: Env }>();
registerAuthRoutes(app);
export default app;
// package.json
{
"scripts": {
"build:ui": "rsbuild build",
"lint": "oxlint .",
"format:check": "oxlint .",
"typecheck": "tsgo"
}
}
tools
# Neovim Lua API Reference This document contains type stubs and API references for Neovim's Lua API. Use this as a reference when writing Neovim plugins or configurations in Lua. --- ## api The following are type stubs for all the functions available on `vim.api.*`. Prefer these functions where possible. ```lua vim.api = {} vim.api.nvim__buf_debug_extmarks(buffer, keys, dot) vim.api.nvim__buf_stats(buffer) vim.api.nvim__complete_set(index, opts) vim.api.nvim__get_lib_dir() vim.api.nvim
development
# Neovim Treesitter API Reference This document contains type stubs and API references for Neovim's treesitter Lua API. Use this as a reference when working with treesitter in Neovim Lua. --- ## tsnode TSNode methods - represents a specific element in a parsed syntax tree. Use these methods to navigate and inspect nodes. ```lua function TSNode:parent() end function TSNode:next_sibling() end function TSNode:prev_sibling() end function TSNode:next_named_sibling() end function TSNode:prev_name
tools
# Neovim LSP API Reference This document contains function definitions from Neovim's LSP help docs. Use this as a reference when working with LSP in Neovim Lua. --- ## lsp Functions extracted from `lsp.txt`. ```lua vim.lsp.buf_attach_client({bufnr}, {client_id}) vim.lsp.buf_detach_client({bufnr}, {client_id}) vim.lsp.buf_is_attached({bufnr}, {client_id}) vim.lsp.buf_notify({bufnr}, {method}, {params}) vim.lsp.buf_request_all({bufnr}, {method}, {params}, {handler}) vim.lsp.buf_request_sync({
tools
# Neovim Diagnostics API Reference This document contains function definitions for Neovim's diagnostics Lua API. Use this as a reference when working with diagnostics in Neovim Lua. --- ## diagnostic vim.diagnostic APIs, types, and helpers. ```lua function get_qf_id_for_title(title) function __newindex(t, name, handler) function __index(t, bufnr) function callback() function to_severity(severity) function severity_predicate(severity) function filter_by_severity(severity, diagnostics) functi