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

@rikafx/cli

v0.12.15

Published

Rika — a local durable coding agent for your terminal

Readme

Rika

Rika is a collaborative coding-agent CLI and terminal application. Every Turn runs as a durable execution that survives client and executor restarts. Local execution remains the default, while an explicitly remote Thread runs in an isolated Box workspace. Hosted identity, access, Threads, and product state live in PostgreSQL; Generalist execution authority lives in the runtime object store.

Install

curl -fsSL https://raw.githubusercontent.com/In-Time-Tec/rika/main/install.sh | sh

Or with a package manager:

npm install -g @rikafx/cli
# or
bun add -g @rikafx/cli

All three install the same binaries and give you a rika command. The curl installer puts them under ~/.local/share/rika/current with a link at ~/.local/bin/rika; set RIKA_VERSION, RIKA_INSTALL_ROOT, or RIKA_BIN_DIR to change the version or locations. Supported targets are macOS arm64, Linux arm64, and Linux x64.

Update any of these installs with:

rika update

Rika uses npm or Bun for package-managed installs and verified release archives for curl installs. It updates the existing installation, not a second copy elsewhere on PATH.

Setup

Only needed to work on Rika itself.

bun install
bun run check
bun run dev

The standard repository commands are build, check, dev, format, test, and typecheck. See the script map for what each development and packaging helper does.

Offline TUI scenarios

apps/tui-v2 is the connected Solid/OpenTUI interface embedded in the production rika CLI, built with Effect V4 and Effect/CLI. It also runs standalone deterministic offline scenarios without authentication, hosted services, model calls, or workspace execution — useful for rendering and interaction checks.

bun run tui-v2
bun run tui-v2 --scenario conversation
bun run tui-v2 scenarios
bun run --cwd apps/tui-v2 build
./apps/tui-v2/dist/rika-tui-v2 --scenario approval

The build produces a native executable for the current host. Add --no-animate to disable decorative animation. The default layout has no persistent Thread list. Ctrl+O opens commands and scenario selection; Ctrl+T or Alt+W opens the Thread switcher and preview; Ctrl+S selects a mode. Type @ for file completion and @@ for Thread mentions. Alt+T toggles the right-hand file tree; Alt+S toggles changed files.

Enter submits or queues a prompt, Shift+Enter inserts a newline, and Ctrl+Enter interrupts and sends. With an empty composer, Up selects a pending instruction: Ctrl+E edits it, Enter steers it into the active Turn, and Backspace removes it. Enter saves an edit; Escape restores the original draft. Tab/Shift+Tab selects expandable transcript sections; Enter toggles the selected section and Shift+D toggles all sections. Large text pastes are compressed in the composer and expanded when submitted. Ctrl+V inserts a deterministic image attachment fixture; it does not access the system clipboard.

Approval, denial, removal, and steering are also available through the command palette. Ctrl+C cancels active playback; a second Ctrl+C force-quits. When idle, Ctrl+C opens the exit menu. Files, images, and Threads are offline fixtures; no workspace files are read or modified. State is discarded on exit.

Personal Railway stack

bun run dev:remote deploys the current Docker worktree to an isolated rika-dev-* Railway project. Alchemy creates private API and web services, private PostgreSQL 17, a runtime-storage Bucket, and the only public service, Caddy. The service processes use production configuration. Set the external GitHub OAuth, GitHub App, Resend, Rivet, model, and Box provider/template values from .env.example before deploying. Set RAILWAY_WORKSPACE_ID in the command process so the project cannot land in another workspace. Authenticate Alchemy's Railway provider with an Alchemy profile or inject RAILWAY_API_TOKEN into the command process. Do not store that provisioning token in .env.

bun run dev:remote
bun run dev:remote:destroy

The generated stage identity is retained at .alchemy/rika-dev-stage with mode 0600. Keep it and the matching .alchemy/state/Rika/<stage> state after failed deploys or destroys so Alchemy can retry cleanup. The destroy command accepts only the generated dev-<UUIDv4> identity and refuses production, staging, and pr-* stages. Interrupted deploys reuse that identity and adopt only its random-named project resources. Destroy also requires the matching Alchemy Railway.Project state, so missing state fails closed instead of reporting a false cleanup.

Configuration

Global settings live at ~/.config/rika/settings.json. A workspace can override them with .rika/settings.json. Model-provider credentials belong to the selected Personal or Organization owner, are encrypted by the API, and are never returned by read APIs. Local, Runner, and Orb execution use that hosted owner; executors never receive model credentials.

{
  "subagents": {
    "maxDepth": 4,
    "maxSubagents": 4
  },
  "keymap": {
    "submit": "enter",
    "newline": "shift+enter"
  }
}
rika auth login
rika provider login codex
# Or configure a hosted API-key provider:
rika credential set openrouter
rika config list
rika doctor
rika

Read PRODUCT.md for product direction and CONTEXT.md for the vocabulary and ownership model.