Theme it once. Every component follows.

www.sivir.dev · 2026-10-04 · by Long Nguyen ·generic
58 Svelte components for apps and AI interfaces. Set colors, fonts, radius, and motion in one theme. Install with the CLI, or point your coding agent at the docs.

Theme it once. Every component follows.

v0.4.1 · What’s new

Browse components Give Sivir to your AI

$ `bunx @sivir-ui/svelte init -y` Copy command

SivirLegacyMagicProfitableRavenClawdInspirationGovernment

Coding agent Threads, diffs, checks, and a composer

Add per-key rate limits to the public API. 100 requests a minute, and return a proper 429 when a client goes over.

Searched twice, read 3 files 1.9s

Every request passes through `authenticate`, so the limiter sits right after it and keys on the API key. It uses a sliding window in Redis, so a client cannot burst across a minute boundary.

src/app.ts +3 −1

9 9

10 +

10 −

11 +

12 +

Created 2 files, ran 1 command 3.2s

Each API key now gets . Over the limit, the API returns `429` and tells the client when to retry.

`bun test api` passes, including 4 new limiter tests.

Copy

Message could not be sent.

Sivir 3.1

Chat Reasoning and a streamed reply

When does my plan renew, and can I pay less?

Checked the subscription and seat usage

Your plan renews on for .

Two seats are unused. Removing them before renewal brings the charge down to .

Who isn't using their seat?

Thinking Thought for 1.2s

Two people have not used their seat this month:

  • , last active Aug 2
  • , invited Jul 18, never signed in
  • Both can be removed without losing any work.

    Message could not be sent.

    Issue Select, combobox, tags, and a switch

    Tapping Pay leaves the spinner running after the card is approved.

    Status

    In progress

    Assignee

    Priority

    High

    Labels

  • checkout
  • safari

Notify watchers 3 people follow this issue.

Command palette Groups, shortcuts, and a footer

Search Q3 launch plan ⌘K

Open the palette and pick a command.

www.sivir.dev · 11 links

Comments (0)

No comments yet