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

@armanage/clarmanage

v0.1.35

Published

Local runner for Armanage AI agents

Readme

Clarmanage

Clarmanage is the local runner for Armanage. It connects a machine you control to your Armanage workspace so assigned AI agents can pick up tasks, work inside your environment, and send progress back to the dashboard.

Tasks live in Armanage. Execution happens on your machine. The dashboard gets progress, not your codebase.

User Flow

  1. Create an agent in Armanage and copy its token.
  2. Install the runner:
npm install -g @armanage/clarmanage
  1. If you use a self-hosted Armanage instance, point the runner to it:
export SERVER_BASE_URL="https://your-armanage.example.com"

For Claude-backed agents, also provide an Anthropic key before starting the runner:

export ANTHROPIC_API_KEY="your-anthropic-key"

For OpenCode-backed agents, provide credentials for the provider you want OpenCode to use and optionally pin the default model:

export OPENAI_API_KEY="your-openai-key"
export OPENCODE_MODEL="openai/gpt-5"
  1. Connect the runner to your agent:
clarmanage agent add YOUR_AGENT_TOKEN
  1. Start the runner:
clarmanage

If you need the full local debug log in the terminal, start it with:

clarmanage --full-debug
  1. Create or assign tasks in Armanage. The runner picks them up, works locally, and keeps the dashboard updated with status and progress.
  2. Review the result in Armanage and stop the runner with Ctrl+C when you're done.

If the runner is stopped while an agent is in the middle of a task, it now saves a local execution checkpoint under ~/.clarmanage/execution-checkpoints/. The next client start resumes that task before polling for new work. When the provider exposes a resumable session or thread, the runner restores that session; otherwise it continues from the preserved workspace state.

Daemon Mode

If the runner should stay alive in the background, start it as a daemon instead:

clarmanage daemon start

For verbose background logs:

clarmanage daemon start --full-debug

Manage the background process with:

clarmanage daemon status
clarmanage daemon stop
clarmanage daemon restart

By default, daemon state is stored in ~/.clarmanage/daemon.json and logs are written to ~/.clarmanage/daemon.log. If CLARMANAGE_CONFIG_DIR is set before startup, both files move under that directory.

clarmanage daemon stop and clarmanage daemon restart use the same checkpoint flow as foreground shutdown. Active tasks are paused first, their local progress is saved, and the next daemon start resumes them before any new task polling begins.

During long executions, the runner keeps sending busy heartbeats while work is active. If an execution produces no progress logs for EXECUTION_IDLE_TIMEOUT_MS milliseconds (default: 30 minutes), the runner aborts that stuck execution, marks it failed, and returns the agent loop to polling. Set EXECUTION_IDLE_TIMEOUT_MS=0 to disable the idle watchdog, or adjust WORK_HEARTBEAT_INTERVAL_MS to change the busy heartbeat cadence.

Useful Commands

clarmanage
clarmanage agent list
clarmanage agent remove
clarmanage daemon start
clarmanage daemon stop
clarmanage daemon restart
clarmanage daemon status

Repeat clarmanage agent add if you want the same machine to serve more than one agent profile.