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

@yail259/overnight

v0.5.0

Published

another you for when you're asleep — adaptive Claude Code message prediction

Readme

overnight

it learns how you think

npm license Claude Code

overnight reads your Claude Code sessions, builds a profile of how you code, and predicts what you'd type next — then executes it while you sleep.

Website · Getting Started · Commands · How it Works


The idea

You work with Claude Code all day. overnight reads those sessions — your actual messages, your tone, your patterns — and learns to predict what you'd type next. Before bed, describe what you want done. overnight predicts each message, executes it, observes the result, and adapts.

Not a batch queue. Not a task runner. A model of you.

predict message → execute via claude -p → observe output/diff/tests
       ↑                                           ↓
       └──── evaluate result, adapt, repeat ────────┘

How it's different

The predictor has a sh tool — it can run any read-only shell command (grep, cat, git diff, find, etc.) to verify what actually exists before predicting. It reads your conversation history for voice matching, checks source files to avoid suggesting done work, and evaluates its own results after each step.

| Input | What it sees | |---|---| | Your profile | Communication style, coding patterns, values — extracted from real conversations | | Your voice | Actual messages you typed in Claude Code — not descriptions, real samples | | Your workspace | File tree, exports, git log, README, ROADMAP — via sh tool on demand | | Previous results | Diffs, test output, build status from each completed step | | Meta-learning | Which prediction categories you merge vs discard over time |


Install

npm install -g @yail259/overnight

Supports Anthropic and OpenAI-compatible APIs (GPT-4o, Groq, Together, Ollama, etc).

Quick start

overnight                    # interactive TUI — suggests plans, streams output
overnight start "intent"     # headless — predict + execute immediately
overnight log                # review what happened overnight

Modes

| Mode | What overnight does | |------|-------------| | 🧹 tidy | Cleanup. Dead code, formatting, small fixes. No functional changes. | | 🔧 refine | Structural improvement. Design patterns, coupling, test architecture. Same features, better code. | | 🏗️ build | Product engineering. Derives the next feature from the business case. Ships working increments. | | 🚀 radical | Unhinged product visionary. Bold ideas nobody asked for but everyone would love. You wake up delighted or terrified. |

Commands

| Command | What it does | |---------|-------------| | overnight | Interactive TUI with plan suggestions | | overnight --all | Suggest across all projects | | overnight --resume | Resume an interrupted run | | overnight start <intent> | Headless predict + execute | | overnight start <intent> --dry-run | Preview predictions without executing | | overnight stop | Stop a running session | | overnight log | Show latest run results | | overnight profile | View your extracted profile | | overnight config | Show/set configuration |

TUI slash commands

| Command | What it does | |---------|-------------| | /profile | Show your profile inline | | /ambition <mode> | Set mode: tidy, refine, build, radical | | /status | Current run status | | /log | Latest run results | | /cost | API cost breakdown | | /diff | Git diff of overnight branch | | /undo | Revert last overnight commit | | /help | All commands and keybindings |

How it works

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   1. You work normally                                          │
│      overnight reads ~/.claude/projects/ session files           │
│                                                                 │
│   2. Before bed                                                 │
│      overnight suggests plans from recent activity               │
│      You pick a mode (tidy/refine/build/radical), go to sleep   │
│                                                                 │
│   3. While you sleep                                            │
│      sh("grep ...") → verify state → predict → execute          │
│      evaluate result → sh("git diff") → adapt → repeat          │
│      everything on overnight/{run-id} branch                    │
│                                                                 │
│   4. Morning                                                    │
│      overnight log — review the branch, merge what you like     │
│      meta-learning records what you kept vs discarded            │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Run modes

| Mode | Behaviour | |------|-----------| | Stick to plan | One sprint. Accomplish the stated goals, then stop. | | Don't stop | After primary goals, continue improvements. Runs until nothing left or Ctrl+C. |

Config

overnight config --set apiKey=sk-...
overnight config --set model=claude-opus-4-6
overnight config --set baseUrl=https://...       # custom API endpoint
overnight config --set apiProvider=openai         # for OpenAI-compatible APIs

Stored in ~/.overnight/config.json. Runs in ~/.overnight/runs/.

Architecture

src/
  cli.ts          CLI entry — start, stop, log, history, profile, config
  types.ts        Core types and constants
  context.ts      Workspace dump, sh tool (sandboxed), conversation history
  api.ts          API abstraction — Anthropic + OpenAI, single-shot + multi-turn
  predictor.ts    Multi-turn prediction with sh/forget tools + self-evaluation
  executor.ts     Adaptive loop, checkpoint/resume, meta-learning integration
  interactive.ts  Interactive TUI (Anthropic SDK streaming + React Ink)
  profile.ts      User profile + direction extraction
  meta-learning.ts  Track merge/discard outcomes, prediction calibration
  history.ts      Extract messages from Claude Code session JSONL files
  ui/             React Ink TUI (toast, composer, shortcuts, command dropdown, etc.)

Build from source

git clone https://github.com/yail259/overnight.git
cd overnight && bun install
bun run build      # → dist/
bun run compile    # → standalone binary

License

MIT