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

sinores

v0.1.4

Published

Sinores CLI — local AI agent runner

Readme


What is Sinores?

Sinores is a platform where a Director (AI orchestrator in the cloud) assigns tasks to specialized agents that run on your local machine. Agents read and write your files, run commands, and report results — all in real time through a beautiful terminal UI.

Think of it as having a team of AI developers working directly in your codebase, coordinated by a central brain.

Installation

npm install -g sinores

Requires Node.js 20 or later.

Quick Start

$ sinores

Three things happen:

  1. Browser opens for login
  2. You pick a project from the list
  3. The daemon starts with a live TUI dashboard

That's it. Agents are now running.

Commands

| Command | Description | |---|---| | sinores | Interactive flow — login, pick project, start daemon | | sinores run <project_id> | Start daemon for a specific project | | sinores projects | List all your projects with status | | sinores tasks <project_id> | View tasks for a project (status, agent type, priority) | | sinores status | Check if the daemon is running | | sinores doctor | Run diagnostics — connectivity, auth, backend health | | sinores login | Authenticate via browser | | sinores logout | Remove local credentials |

run Options

| Flag | Default | Description | |---|---|---| | --workdir <path> | . | Working directory where agents operate | | --max-workers <n> | 3 | Maximum parallel agent workers | | --agent-types <types> | all | Filter by agent type, comma-separated (e.g. backend,frontend) |

Examples

# Start with a custom working directory and 5 parallel workers
sinores run proj_abc123 --workdir /path/to/project --max-workers 5

# Only run backend agents
sinores run proj_abc123 --agent-types backend

# Check what's happening with your tasks
sinores tasks proj_abc123

# Diagnose connection issues
sinores doctor

TUI Dashboard

The daemon replaces your terminal with a live dashboard:

┌──────────────────────────────────────────────────────────┐
│  ███ LOGO ███                        [email protected]      │
│                                                          │
│  my-project  ·  /path/to/project  ·  3 workers  v0.1     │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  ⟳  1  Add user authentication         45s               │
│     ↳ read_file       src/auth/index.ts                  │
│     ↳ write_file      src/auth/middleware.ts             │
│     ↳ run_command     npm test                           │
│                                                          │
│  ⟳  2  Fix database migrations         12s               │
│     ↳ edit_file       src/db/migrate.ts                  │
│                                                          │
│  ·  idle                                                 │
├──────────────────────────────────────────────────────────┤
│  · Create API endpoints    backend    p1    3m 12s       │
│  · Update user profile     frontend   p2    1m 45s       │
├──────────────────────────────────────────────────────────┤
│  ✓ connected  waiting for tasks    2/3 workers  · 2 done │
│  ctrl+c to stop                                          │
└──────────────────────────────────────────────────────────┘
  • Agent slots — live view of each worker with tool call streams
  • Task history — completed tasks with duration, agent type, and priority
  • Connection status — real-time WebSocket state with auto-reconnect and backoff

How It Works

┌────────────────────┐                          ┌─────────────────────┐
│                    │   WebSocket (tasks)       │                     │
│  Sinores Director  │ ────────────────────────> │   Sinores CLI       │
│  (Cloud)           │ <──────────────────────── │   (Local daemon)    │
│                    │   Results & status        │                     │
└────────────────────┘                          └──────────┬──────────┘
                                                           │
                                                  ┌────────┴────────┐
                                                  │  AI Agent Loop   │
                                                  │                 │
                                                  │  LLM (DeepSeek) │
                                                  │  ↓              │
                                                  │  Tools:         │
                                                  │  · read_file    │
                                                  │  · write_file   │
                                                  │  · edit_file    │
                                                  │  · delete_file  │
                                                  │  · list_dir     │
                                                  │  · run_command  │
                                                  └─────────────────┘
  1. Director assigns a task to your project in the cloud
  2. CLI receives the notification via WebSocket
  3. A worker claims the task atomically, loads the agent prompt + project context + memory
  4. The LLM loop runs (up to 50 rounds), using tools to read/write files and run commands
  5. Results are sent back to the Director and displayed in the TUI

Configuration

Credentials

Stored in ~/.sinores/config.json with file mode 600. Includes access and refresh tokens from browser login.

Custom Backend

export SINORES_URL=https://your-backend.example.com/api/v1

Local Development

# 1. Start the local backend
cd ../sinores && docker compose up

# 2. Run CLI against local backend
sinores --local
# or
SINORES_LOCAL=1 sinores run <project_id>

# 3. Diagnose
sinores doctor --local

The local backend runs on http://localhost:8000.

Security

The sandbox protects your system with multiple layers:

| Protection | Details | |---|---| | Path validation | All file paths resolved through realpath — symlinks cannot escape the workdir | | Command filter | Blocks rm -rf, curl, wget, sudo, eval, command substitution ($(), backticks), process substitution, background processes | | No absolute paths | Agents cannot cd / or reference /tmp, /home, /usr, etc. | | Scoped tools | File tools only operate within the configured working directory |

Troubleshooting

| Problem | Solution | |---|---| | "Cannot reach the server" | For local mode: run docker compose up and check all services are healthy | | "Session expired" | Run sinores login to re-authenticate | | Agents not picking up tasks | Check sinores status and sinores doctor for connection issues | | Tasks stuck | Run sinores tasks <project_id> --reset-stuck |

Links