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

@crolix-altf4/lunira

v1.2.1

Published

Multi-agent AI development pipeline CLI — forge production-ready code from a single intent

Readme

◆ Lun'Ira

Version License CI Node

intent → code

A multi-agent AI pipeline CLI. Feed the forge a plain-text intent — refined, tested code comes out.



Quick start

npm install -g @crolix-altf4/lunira
lunira               # the forge opens — setup runs automatically on first launch

[!TIP] No API key yet? Type /demo in the forge bar — a full pipeline runs on mock data, no credentials needed.

[!TIP] Easiest entry point: one OpenRouter key gives you access to 200+ models including free tiers. Lun'Ira will suggest it automatically if no provider is configured.


The forge

One plain-text intent enters. Four agents process it in sequence — each focused on a single role, passing only what the next step needs. On failure, the work goes back into the fire.

  "build a REST API to manage users"
           │
           ▼
  ┌──────────────────┐
  │   Product Owner  │  clarifies goal, requirements, constraints
  └────────┬─────────┘
           │  structured requirements
           ▼
  ┌──────────────────┐
  │     Planner      │  architecture, tech stack, task breakdown
  └────────┬─────────┘
           │  architecture + tasks
           ▼
  ┌──────────────────┐
  │    Developer     │  generates complete, runnable files
  └────────┬─────────┘
           │  code files
           ▼
  ┌──────────────────┐
  │   QA Engineer    │  verdict + score + issues
  └────────┬─────────┘
           │  fail? → back to Developer (up to N times)
           ▼
      ✦ artifact sealed

Why four agents instead of one? Context pollution. A single LLM handling PO + architecture + code + QA in one context degrades fast. Lun'Ira splits each responsibility, keeps outputs typed, and gives you full traceability per run.

[!NOTE] "Ira" is the sin of Wrath (Trinity Seven) — the forge that strikes with precision and force. Part of the Lun' ecosystem.


Features

Pipeline

  • Automatic model selection per role — each agent gets the model best suited for its task
  • QA iteration loop — on fail, issues are fed back to Dev for a retry (--max-iterations)
  • Budget guard — abort if total cost exceeds your limit (--budget-usd, --daily-budget-usd)
  • Provider fallback — automatic failover to the next configured provider

7 Providers

| Provider | Free tier | Notes | | ---------- | --------- | -------------------------------------- | | Groq | ✓ | Ultra-fast LPU — default for PO and QA | | Gemini | ✓ | 1M context, strong reasoning | | OpenRouter | ✓ | Gateway to 200+ models, one key | | Ollama | ✓ | Local models, no API key | | Claude | — | Best code quality | | OpenAI | — | GPT-4o, o1 | | NVIDIA NIM | ✓ | Hosted NVIDIA models |

Skills & Plugins

Skills are expertise injected into agent prompts — TypeScript conventions, React patterns, Laravel, security rules, REST design, and more. Think of them as the blacksmith's training.

Plugins are tools the agents can wield — write files, read context, web search, run commands, execute code, open GitHub issues. Bridges to the outside world.

Every plugin carries a safety tier — safe, restricted, or dangerous. The first time you activate a restricted or dangerous plugin from the Arsenal screen, Lun'Ira prompts for consent. Grants are saved in ~/.config/lunira/permissions.json so you're only asked once.

Both are declared per-project via lunira.config.json and selectable per-run from the TUI (/arsenal).

[!NOTE] Skills and plugins are community-extensible via npm packages (lunira-skill-*, lunira-plugin-*). Install with lunira install skill <name> or lunira install plugin <name>, and Lun'Ira discovers them automatically.

TUI

  • Animated living flame mascot (Calcifer-inspired) on the idle screen
  • Slash command navigation — /history, /arsenal, /setup, /demo
  • Live pipeline view with forge fire animation per active step
  • Tabbed results: Verdict · Artefacts · Stratégie · Diff
  • Apply generated files directly to your dungeon ([a] key)
  • Run history (the Annales) with re-run support
  • RPG lexicon — Incantation, Dungeon, Forge, Blacksmith level, Artifact

Setup

The forge is cold until you light it. On first launch, Lun'Ira opens setup automatically.

lunira setup                              # interactive provider configuration
lunira config set groq.apiKey <key>       # or configure directly
lunira config set openrouter.apiKey <key> # one key, 200+ models

[!TIP] Keys are stored in ~/.lunira/config.json. Environment variables always take precedence — useful for CI or per-project overrides:

GROQ_API_KEY=<key> lunira run "..."

CLI

lunira                                         # interactive TUI
lunira run "build a REST API"                  # fire the forge headlessly
lunira run "..." --dry                         # preview cost — no LLM calls
lunira run "..." --apply                       # write output to current directory
lunira run "..." --skip qa                     # bypass a role
lunira run "..." --model gemini-2.5-pro        # override model
lunira run "..." --provider openrouter         # override provider
lunira run "..." --budget-usd 0.10             # abort above $0.10
lunira run "..." --max-iterations 3            # allow 3 Dev→QA retries
lunira run "..." --json                        # machine-readable output
lunira ask "what does this file do" --file x   # direct question to the LLM
lunira history                                 # browse the Annales
lunira costs                                   # combustible spent
lunira watch ./src --intent intent.txt         # re-forge on file change
lunira catalog                                 # list available skills and plugins
lunira install skill <name>                    # install a lunira-skill-* package
lunira install plugin <name>                   # install a lunira-plugin-* package
lunira init                                    # scaffold a new project

TUI controls

| Key | Action | | ---------- | ----------------------------------------------------- | | / | Slash commands — type to filter autocomplete | | /demo | Run demo pipeline (no API key needed) | | /history | The Annales — browse past runs | | /arsenal | Select skills & plugins for next run | | /setup | Arm the forge — configure API keys | | ↑ ↓ | Navigate | | m | Swap rune (change model on focused step) | | | Fire the forge | | 1 2 3 4 | Results tabs — Verdict / Artefacts / Stratégie / Diff | | a | Deploy to dungeon (apply files to current directory) | | s | Seal artifacts (save to ./output/<run-id>/) | | r / q | New forge |


Project config

{
  "skills": {
    "all": ["conventional-commits", "typescript-strict"],
    "dev": ["react-css-modules"]
  },
  "plugins": {
    "dev": ["file_write", "read_file"],
    "qa": ["execute_code"]
  }
}

Skills: typescript-strict · react-css-modules · conventional-commits · project-context · laravel-conventions · test-conventions · api-design · i18n · security

Plugins: file_write · read_file · web_search · run_command · list_directory · create_directory · execute_code · github_create_issue


[!WARNING] Lun'Ira generates code. It does not execute it. The QA agent audits for issues but is not a substitute for human review before deploying to production.


Lun ecosystem

| Project | Role | | ---------------------------------------------------------- | --------------------------------------------------------- | | LunIra | AI dev pipeline — intent → code | | LunAcedia | Information infrastructure — events · actions · AI butler | | LunAvaritia | Mobile companion — Android | | LunImago | Imitation learning — gameplay → ONNX policy | | LunAnima | AI companion core — private |


Built by CrOliX-AltF4 · MIT License · © 2026

Where raw intent finds its final form.