Skill · em Construir backend e dados
PocketBase Hooks
Server-side JavaScript hooks for PocketBase (pb_hooks). Use when writing custom routes, event hooks, cron jobs, sending emails, making HTTP requests, querying the database, or extending PocketBase with server-side logic. Covers the goja ES5 runtime, routing, middleware, all event hooks, DB queries,…
Procedência
- Origem: davila7/claude-code-templates
- Caminho:
cli-tool/components/skills/pocketbase/pb-hooks - Versão fixada:
57f899e5394bb8ca166f38eacae8f0853cbfe033 - Licença: MIT
- Espelhado em 25/09/2026
- nenhum download no Claude Code Templates (lido em 25/09/2026)
Antes de instalar
1 arquivo · 16,2 KB · só texto, nenhum script
Instalar na sua CLI
O comando baixa a versão fixada (commit 57f899e) direto da origem, para a pasta que a CLI lê. Precisa de curl (macOS e Linux); no Windows não há comando, porque o Rook Labs é para macOS.
Claude Code
Neste projeto: O name desta skill (“PocketBase Hooks”) não segue o padrão das CLIs (minúsculas e hífens, igual ao nome da pasta): instalada assim, a CLI pode ignorá-la.
Global: O name desta skill (“PocketBase Hooks”) não segue o padrão das CLIs (minúsculas e hífens, igual ao nome da pasta): instalada assim, a CLI pode ignorá-la.
Codex
Neste projeto: O name desta skill (“PocketBase Hooks”) não segue o padrão das CLIs (minúsculas e hífens, igual ao nome da pasta): instalada assim, a CLI pode ignorá-la.
Global: O name desta skill (“PocketBase Hooks”) não segue o padrão das CLIs (minúsculas e hífens, igual ao nome da pasta): instalada assim, a CLI pode ignorá-la.
Antigravity
Neste projeto: O name desta skill (“PocketBase Hooks”) não segue o padrão das CLIs (minúsculas e hífens, igual ao nome da pasta): instalada assim, a CLI pode ignorá-la.
Global: O name desta skill (“PocketBase Hooks”) não segue o padrão das CLIs (minúsculas e hífens, igual ao nome da pasta): instalada assim, a CLI pode ignorá-la.
Peça ao Rook
Já usa o Rook Labs? Cole no chat do Rook: instale a skill https://rooklabs.sh/marketplace/cct.pocketbase-hooks
Prévia do SKILL.md
---
name: "PocketBase Hooks"
description: "Server-side JavaScript hooks for PocketBase (pb_hooks). Use when writing custom routes, event hooks, cron jobs, sending emails, making HTTP requests, querying the database, or extending PocketBase with server-side logic. Covers the goja ES5 runtime, routing, middleware, all event hooks, DB queries, record…
---
# PocketBase Server-Side JavaScript (pb_hooks)
## Runtime Basics
- Files go in `pb_hooks/*.pb.js` (must end with `.pb.js`)
- Engine: **goja** — ES5.1 + some ES6. **No ES6 modules** (`import`/`export`), **no async/await**, **no arrow functions in older versions**. Use `function(){}` and CommonJS `require()`.
- Each file is loaded on app start and on hot-reload
- `__hooks` — absolute path to the pb_hooks directory
- TypeScript declarations: `pb_data/types.d.ts` (auto-generated, useful for IDE support)
- `--hooksPool=25` flag controls concurrent JS goroutines (default: 25)
- Each handler runs in an isolated context — no shared mutable state between requests
## Routing
### Adding routes
```js
routerAdd("GET", "/api/hello/{name}", function(e) {
var name = e.request.pathValue("name")
return e.json(200, { "message": "Hello " + name })
}, /* optional middleware */)
```
### Path patterns
- `{name}` — named path parameter
- `{path...}` — wildcard (matches rest of path)
- `{$}` — exact match (no trailing slash)
### Response methods
| Method | Usage |
|--------|-------|
| `e.json(status, data)` | JSON response |
| `e.string(status, text)` | Plain text |
| `e.html(status, html)` | HTML response |
…