Getting Started
Install Pulsar and run your first check
Installation
Download the latest binary from GitHub Releases.
Linux x86_64:
curl -L https://github.com/CarlosEduJs/pulsar/releases/latest/download/pulsar-cli-x86_64-unknown-linux-gnu.tar.xz | tar xJ
sudo mv pulsar /usr/local/bin/macOS (Apple Silicon):
curl -L https://github.com/CarlosEduJs/pulsar/releases/latest/download/pulsar-cli-aarch64-apple-darwin.tar.xz | tar xJ
sudo mv pulsar /usr/local/bin/macOS (Intel):
curl -L https://github.com/CarlosEduJs/pulsar/releases/latest/download/pulsar-cli-x86_64-apple-darwin.tar.xz | tar xJ
sudo mv pulsar /usr/local/bin/Windows:
Download the .zip from GitHub Releases and add the extracted pulsar.exe to your PATH.
After installing, make sure the binary is in your PATH. Run pulsar --help to verify.
Create a sample file
Create a file called test.ts to see Pulsar in action:
import { db } from "./db";
import { users, posts } from "./schema";
// This triggers no-select-star (implicit SELECT *)
const users = db.select().from(users);
// This triggers no-missing-limit (no LIMIT clause)
const posts = await db.select({ id: posts.id }).from(posts);Initialize a config
pulsar initThis creates a pulsar.toml file with all rules enabled and commented-out options you can tweak later.
Run your first check
pulsar check test.tsOutput:
test.ts:4:20 error no-select-star Avoid implicit SELECT *. Specify columns explicitly.
const users = db.select().from(users);
^^^^^^^^^^^^^^^^^^
test.ts:7:20 warning no-missing-limit Query is missing a LIMIT clause.
const posts = await db.select({ id: posts.id }).from(posts);
^^^^^^^^^^^^^^^^^^Each diagnostic shows the file, line:column, rule ID, and a message with the relevant source code highlighted.
Learn about a rule
pulsar explain no-select-starPrints the rule's documentation directly in your terminal.
Next steps
Last updated on