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

@atolis-hq/wake

v0.2.84

Published

Local autonomous agent control plane for software development

Readme

Wake is a control plane for autonomous software engineering. It watches the channels your team already uses, coordinates agent activity and involves humans when needed, and keeps the durable record attached to the work instead of the terminal session that happened to run it.

Create an issue, assign Wake, and keep doing your own work. Wake investigates, asks for input when human judgment matters, proposes a plan, launches local coding-agent CLIs to implement changes, opens pull requests, and carries the conversation forward wherever the work is already happening.

Table of Contents

The Problem

Modern coding agents are powerful, but sustained development work still needs a lot of manual orchestration. Agents are usually started by hand, tied to one CLI surface, and optimized for interactive sessions instead of managed execution over time.

That leaves hard operational gaps: deciding what should happen next, choosing the right tool and model for each step, preserving state across interruptions, running deterministic housekeeping outside the LLM path, and letting a human resume the exact local session when direct intervention is fastest.

Wake exists to close that gap. It wraps existing agent CLIs in a local control plane that can apply scripted routing rules, move work through explicit lifecycle steps, resume or hand off sessions, and keep deterministic processes out of the token-burning path wherever possible.

Vision

Wake should make reliable, resumable, token-aware autonomous engineering practical. The default operating model is asynchronous and channel-driven: work enters through durable external systems, Wake keeps humans in the loop at useful decision points, and execution happens locally in an inspectable workspace or sandbox.

Wake is not trying to replace coding agents, issue trackers, or source control. It coordinates across them. Over time it should become the layer that picks work, decides the next step, invokes the right local tool or deterministic process, persists state, and resumes later without losing context.

For more detail, see docs/vision.md and docs/architecture.md.

Feature Overview

  • Wake decides, the agent runs. Choosing the CLI, model, and lifecycle transition is a control-plane decision; agents do the work and report an outcome.
  • Issue-driven by default. Wake currently integrates with GitHub Issues and reports questions, approvals, progress, and results back through the ticket.
  • Explicit lifecycle stages. Work can move through configurable stages such as refinement and implementation instead of disappearing into one opaque session.
  • Event-sourced and restart-safe. The durable record is an append-only event log; projections can be rebuilt, and the loop can crash and resume without losing its place.
  • Local and inspectable. Everything lives in a plain-file Wake home directory: config.yaml, config.workflows.yaml, prompts/, SETUP.md, and workspaces/ at the top level for what you edit or browse day-to-day, with durable/internal state (events, projections, runs, logs, sandbox auth) nested under a hidden .wake/.
  • Sandbox-oriented execution. Wake can run from a persistent Docker sandbox with durable auth state and mounted Wake home data.
  • Runner agnostic. Claude Code, Codex, Cursor, and fake runners sit behind runner adapters so Wake owns policy and routing rather than depending on one provider.
  • Human resumption. A human can pick up the exact local agent session when a direct terminal intervention is the best way forward.
  • Operator correlation escape hatch. wake correlate <workItemKey> <resourceUri> lets an operator hand-declare that a resource (a PR, a Slack thread, etc.) belongs to an existing work item when nothing detected the link automatically. See docs/configuration.md.

Current runner capability differences are documented in docs/runner-comparison.md.

Where the Work Happens

Wake has no chat UI you need to check for status. Your ticketing system is the interface: Wake posts progress updates, asks clarifying questions, and reports results as comments on the ticket, and reflects stage and status as labels on it. When it's ready, it opens a pull request against your repo the normal way. Reviewing, approving, and merging happen exactly where they already do today - nothing new to learn, no separate dashboard to babysit.

A local control-plane UI exists for operators who want to watch runs, inspect events, or resume a session directly, but it's a window into the same state - not a required part of the workflow.

Supported Agent CLIs

Wake wraps existing coding-agent CLIs rather than replacing them. Runner adapters currently exist for:

Each runner sits behind the same AgentRunner contract, so Wake's routing, lifecycle, and sandbox behavior stay the same regardless of which CLI executes a given step. A fake runner adapter also exists for zero-token testing of the control plane itself. See docs/runner-comparison.md for capability differences between runners.

Getting Started

npm install -g @atolis-hq/wake
cd ~/
wake init ./wake-home
cd ./wake-home
# point your agent CLI at the scaffolded SETUP.md to finish configuring
# (e.g. "read SETUP.md and help me configure this")
wake sandbox build
wake sandbox up
wake sandbox setup
wake start

Full setup instructions are in docs/getting-started.md. Run wake --help at any time for the full command list, or see docs/cli.md for the full command reference.

Documentation

Issues & Feature Requests

Found a bug or have an idea for Wake? Open an issue - bug reports and feature requests are both welcome.

License

Wake is licensed under the Apache License 2.0.