diff --git a/README.md b/README.md index 59ecd1e9..255eddc8 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,15 @@ ![Sidequest.js Logo](./packages/docs/public/logo-full.png "Sidequest.js Logo") -**Sidequest** is a modern, scalable background job processor for Node.js applications. Built with TypeScript and designed for production use, it provides reliable job processing with multiple database backends, a beautiful web dashboard, and comprehensive monitoring capabilities. +**Sidequest** is a Redis-free background job processor for **Node.js**. It persists jobs in the database you already run (PostgreSQL, MySQL, SQLite, or MongoDB), so you get durable, distributed background processing without standing up Redis. It is a production-grade [BullMQ](https://docs.sidequestjs.com/getting-started/migrating-from-bullmq) and pg-boss alternative, with a built-in web dashboard. + +### At a glance + +- **Runtime:** Node.js (>= 22.6.0). _Does not run on Bun yet._ +- **Storage:** PostgreSQL, MySQL, SQLite, or MongoDB. Jobs are **durable and persisted in your database**, not in memory. SQLite is recommended for local development and tests. +- **Distribution:** runs across multiple nodes against one shared database. Jobs are claimed atomically (`SELECT ... FOR UPDATE SKIP LOCKED` on Postgres/MySQL), so each job runs once. +- **Isolation:** the engine runs in a forked child process; jobs execute in worker threads. Inline and no-fork [execution modes](https://docs.sidequestjs.com/production/execution-modes) are also available. +- **Built in:** web dashboard, retries with exponential/fixed backoff, job uniqueness, cron scheduling, and automatic stale-job recovery. For the complete documentation, visit [docs.sidequestjs.com](https://docs.sidequestjs.com). diff --git a/packages/docs/public/llms.txt b/packages/docs/public/llms.txt new file mode 100644 index 00000000..09ce7303 --- /dev/null +++ b/packages/docs/public/llms.txt @@ -0,0 +1,25 @@ +# Sidequest + +> Sidequest is a Redis-free background job processor for Node.js. It persists jobs in your existing PostgreSQL, MySQL, SQLite, or MongoDB database and runs them in worker threads, giving you durable, distributed background processing without standing up Redis. It is a production-grade BullMQ and pg-boss alternative. + +## Facts + +- Runtime: Node.js (>= 22.6.0). Sidequest does not run on Bun yet. +- Storage backends: PostgreSQL, MySQL, SQLite, and MongoDB. Jobs are durable and persisted in the database. Sidequest is not an in-memory queue. SQLite is recommended for local development and tests; Postgres is recommended for production. +- Distribution: runs across multiple nodes and workers against one shared database. Jobs are claimed atomically (SELECT ... FOR UPDATE SKIP LOCKED on Postgres and MySQL), so each job is delivered to exactly one worker. +- Isolation: the engine runs in a forked child process by default, and jobs execute in piscina worker threads. Inline and no-fork execution modes are available for serverless and framework integrations. +- Built in: web dashboard (default port 8678), retries with fixed or exponential backoff, job uniqueness, cron scheduling, and automatic stale-job recovery. +- API: class-based jobs (`class EmailJob extends Job { async run(...args) {} }`) with a fluent builder (`Sidequest.build(EmailJob).maxAttempts(3).enqueue(...args)`). +- License: LGPL-3.0-or-later. Packages: `sidequest` plus the `@sidequest/postgres-backend`, `@sidequest/mysql-backend`, `@sidequest/sqlite-backend`, and `@sidequest/mongo-backend` drivers. + +## Docs + +- [Why Sidequest](https://docs.sidequestjs.com/introduction/why): positioning and when to use it +- [How It Works](https://docs.sidequestjs.com/introduction/how-it-works): architecture +- [Quick Start](https://docs.sidequestjs.com/quick-start) +- [Migrating from BullMQ](https://docs.sidequestjs.com/getting-started/migrating-from-bullmq) +- [Configuration](https://docs.sidequestjs.com/getting-started/configuration) +- [Backends](https://docs.sidequestjs.com/production/backends) +- [Execution Modes](https://docs.sidequestjs.com/production/execution-modes) +- [API Reference](https://docs.sidequestjs.com/api/sidequest) +- [FAQ](https://docs.sidequestjs.com/faq) diff --git a/packages/sidequest/package.json b/packages/sidequest/package.json index 260da1d8..4d965972 100644 --- a/packages/sidequest/package.json +++ b/packages/sidequest/package.json @@ -1,16 +1,31 @@ { "name": "sidequest", "version": "1.16.0", - "description": "Sidequest is a modern, scalable background job processor for Node.js applications.", + "description": "Redis-free background job processor for Node.js. Persist jobs in your existing PostgreSQL, MySQL, SQLite, or MongoDB, with a built-in dashboard. A distributed, durable BullMQ and pg-boss alternative.", "keywords": [ "nodejs", - "javascript", "typescript", + "job-queue", "queue", - "concurrency", "background-jobs", + "jobs", + "worker", + "worker-threads", "distributed", - "background" + "concurrency", + "redis-free", + "no-redis", + "bullmq-alternative", + "pg-boss-alternative", + "postgresql", + "mysql", + "sqlite", + "mongodb", + "sql", + "database-queue", + "dashboard", + "scheduler", + "cron" ], "homepage": "https://sidequestjs.com/", "bugs": {