dripline

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

dripline — SQL over every API, CLI, and warehouse you actually use

dripline monorepo

Query anything with SQL, schedule it, watch it live.

This repo is a bun workspace containing three things:

  • packages/dripline — the engine, CLI, and SDK. Turn APIs, CLIs, and cloud services into DuckDB tables. Zero plugins in core.
  • packages/dripyard — dashboard + worker supervisor. Point it at a .dripline/ workspace, get a reactive UI over lanes, runs, workers, catalog, warehouse, and an SQL surface.
  • packages/plugins — 58 first-party plugins (github, kubectl, cloudflare, vercel, stripe, datadog, sentry, slack, …). Installed directly from this repo by URL: dripline plugin install git:github.com/Michaelliv/dripline#packages/plugins/<name>.

Quickstart

bun install                   # installs everything, links workspace deps

bun run --filter dripline build
bun run --filter dripline test

# Run the CLI directly from source:
bun --filter dripline dev -- query "SELECT 1"

# Boot the dashboard against a dripline workspace:
cd /path/to/your/.dripline-project
bun --filter dripyard dev -- serve

Layout

packages/
  dripline/           ← engine + CLI + SDK   (npm: dripline)
  dripyard/           ← dashboard + workers  (npm: dripyard)
  plugins/
    github/           ← installed via git:...#packages/plugins/github
    cloudflare/
    stripe/
    …                 ← 58 plugins, one per directory, not on npm

Internal dependencies use workspace:* — editing packages/dripline immediately reflects in packages/dripyard and every plugin, no publish needed.

Releasing

Push a v* tag. CI tests, then publishes dripline and dripyard to npm (--tag next for rc/alpha/beta), then cuts a GitHub release with autogenerated notes. Plugins are not published — users always install them from this repo by git URL.

Tooling

  • bun for install, scripts, test runner, TypeScript execution
  • TypeScript with per-package tsconfig.json
  • biome for format + lint (one config at the root)
  • No lerna, nx, or turbo — bun's native --filter covers what we need

Per-package docs

License

MIT