npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@scira/cli

v0.1.9

Published

Scira — terminal-native AI research agent with grounded sources, verified claims, and local run storage.

Downloads

1,552

Readme

Scira CLI

Scira CLI

Terminal-native AI research and coding agent. Ask a question, get a grounded report with cited sources and verified claims — all stored locally and inspectable.

Documentation: docs site (local: cd docs && bun run dev) · MDX sources in docs/content/docs/

Install

npm install -g @scira/cli

Requires Node.js ≥ 20. Run the interactive setup:

scira init

This walks you through API keys and configuration with signup links and step-by-step instructions.

Check your setup:

scira doctor    # verify keys are detected
scira keys      # show where to get any missing keys

Quickstart

# Interactive TUI (home screen with session history)
scira

# Headless run — writes a report to .scira/runs/<id>/report.md
scira "compare browser automation tools in 2025"

# Interactive TUI for a specific question
scira new "history of the Silk Road" --tui

# Classic readline shell for a specific question
scira new "history of the Silk Road" --shell

API keys

Scira needs credentials for an LLM provider (model calls) and a search provider (web search). Run scira init for a guided setup, or copy .env.example and fill in keys manually.

Where keys are loaded from (highest priority first):

  1. Shell environment (already exported in your terminal)
  2. <project>/.scira/.env when you run Scira from that project
  3. ~/.scira/.env for global defaults
# Option A: interactive wizard (saves to ~/.scira/.env)
scira init

# Option B: manual — global keys
mkdir -p ~/.scira && cp .env.example ~/.scira/.env

# Option B: manual — project keys only
mkdir -p .scira && cp .env.example .scira/.env

scira doctor   # confirm keys are detected
scira keys     # signup links + steps for anything still missing

LLM providers (set one in config via scira init or /llm)

| Key | Provider | Where to get it | |---|---|---| | AI_GATEWAY_API_KEY | Vercel AI Gateway (default) | vercel.com/docs/ai-gateway → dashboard → AI Gateway → API Keys | | XAI_API_KEY | xAI (Grok) | console.x.ai → API Keys | | CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN | Cloudflare Workers AI | dash.cloudflare.com (account ID) + API Tokens with Workers AI permission | | HF_API_KEY | Hugging Face Inference | huggingface.co/settings/tokens |

Search providers (set one via scira init or /provider)

| Key | Provider | Where to get it | |---|---|---| | EXA_API_KEY | Exa (default) | dashboard.exa.ai/api-keys | | FIRECRAWL_API_KEY | Firecrawl | firecrawl.dev/app/api-keys | | PARALLEL_API_KEY | Parallel | platform.parallel.ai |

FIRECRAWL_API_KEY is also used as an automatic fallback when Exa or Parallel search fails, so it is worth setting even if Firecrawl is not your primary search provider.

Commands

| Command | Description | |---|---| | scira init | Interactive setup for API keys and configuration | | scira keys | Show where to get and save missing API keys | | scira [question] | Open TUI home, or run headlessly if a question is given | | scira new <question> | Start a run; add --tui or --shell to open interactive UI | | scira resume <run-id> | Resume a run; add --tui or --shell to specify UI | | scira list | List all runs | | scira show <run-id> | Print run status (sources, claims, report state) | | scira run <run-id> | Re-run the research agent on an existing run | | scira verify <run-id> | Print the claim verification report | | scira export <run-id> | Export report (md, json, or csv) with --format and --output | | scira mcp list | List configured MCP servers | | scira mcp add <transport> <name> <target> | Add an MCP server (stdio, sse, or http) | | scira mcp oauth <name> | Run OAuth PKCE flow for an MCP server | | scira mcp enable <name> | Enable an MCP server | | scira mcp disable <name> | Disable an MCP server | | scira mcp remove <name> | Remove an MCP server from config | | scira watch <goal> | Monitor a topic on a schedule with diffing | | scira models [--provider <p>] | List available AI Gateway models | | scira config | Print the resolved config | | scira doctor | Check credentials and environment |

Configuration

Config merges ~/.scira/config.json (global) with .scira/config.json (project). All fields are optional.

{
  "model": "deepseek/deepseek-v4-flash",
  "approvalMode": "suggest",
  "runDirectory": ".scira/runs",
  "maxSources": 20,
  "citationPolicy": "strict",
  "search": {
    "provider": "exa",
    "maxResults": 8,
    "includeDomains": [],
    "excludeDomains": []
  }
}

| Field | Default | Description | |---|---|---| | model | deepseek/deepseek-v4-flash | AI Gateway model ID | | approvalMode | suggest | manual, suggest, or auto tool approval | | runDirectory | .scira/runs | Local directory where run data is stored | | maxSources | 20 | Max sources the agent may gather per run | | citationPolicy | strict | strict (all claims cited) or balanced | | search.provider | exa | exa, firecrawl, or parallel | | search.maxResults | 8 | Max results per search query |

Environment variables

See API keys for signup links. Required keys depend on your llmProvider and search.provider in config.

| Variable | Required when | Purpose | |---|---|---| | AI_GATEWAY_API_KEY | llmProvider: gateway | Vercel AI Gateway model calls | | XAI_API_KEY | llmProvider: xai or xSearch | Grok model calls; also enables the xSearch tool for real-time X/Twitter posts | | CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN | llmProvider: workers-ai | Workers AI model calls | | HF_API_KEY | llmProvider: huggingface | Hugging Face Inference | | EXA_API_KEY | search.provider: exa | Web search via Exa | | FIRECRAWL_API_KEY | search.provider: firecrawl | Web search + scrape via Firecrawl | | PARALLEL_API_KEY | search.provider: parallel | Web search via Parallel |

Run Directory

Each run writes to .scira/runs/<run-id>/:

goal.txt          original question
plan.md           agent's research plan
notes.md          incremental findings
sources.jsonl     sources gathered (id, url, title, snapshot path)
claims.jsonl      claims extracted and verified
report.md         final report
convo.json        full conversation + feed (for TUI resume)

License

MIT