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

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 |
…

Ver todo o marketplace