Skip to content

Releases: noluyorAbi/autonomous-agent-nightshift

v1.9.0

31 May 12:48

Choose a tag to compare

Added — TUI as the default entry + full control center

nightshift ui is now the front door and a complete control center — you no
longer need an already-running run to open it, and every CLI subcommand is
reachable from inside the TUI.

  • Bare nightshift launches the TUI in a terminal (the default experience).
    Piped / non-interactive invocations and nightshift help still print help, so
    scripting is unchanged. All subcommands behave exactly as before.
  • Home / launcher state when no run is live: project status, last-run
    summary, the detected todo/plan files (with task counts), and actions —
    Start · Init · Review · Resume · command palette · Quit.
  • Command palette (:) runs every subcommand from inside the TUI
    (start · stop · status · review · resume · init · bulletproof · version).
    Output-producing commands render in a scrollable modal; start launches the
    run detached and the view flips to live automatically.
  • Thin orchestration, no reimplementation. The TUI spawns the real
    bin/nightshift subcommands (passed in via NIGHTSHIFT_BIN); the bash
    runners and their logic are untouched.
  • The live monitor/steer view (tasks, log, pause/resume/skip/stop/message) is
    unchanged; the UI now switches home↔live automatically as runs start and end.
  • Bash fallback stays monitor-only; the launcher is the Node UI (Node 22+).

v1.8.0

31 May 02:25

Choose a tag to compare

Added — nightshift ui v2: Claude-Code-grade Ink TUI (Milestone 1)

A ground-up rebuild of the dashboard as a real terminal UI (Node + Ink/React),
replacing the hand-rolled bash ANSI renderer. It is a drop-in client of the
same .agent-logs/ file protocol, so the bash runners are unchanged.

  • New ui/ workspace — TypeScript + Ink, bundled by esbuild into a single
    self-contained ui/dist/cli.js (no node_modules ships or installs). Requires
    Node 22+ (ink 7's floor); bin/nightshift gates on it and falls back to the
    bash UI below that.
  • bin/nightshift ui dispatch — uses the Ink TUI when Node 22+ and the
    bundle are present, otherwise falls back to the bash UI (scripts/nightshift-ui.sh,
    retained). NIGHTSHIFT_UI_BASH=1 forces the fallback.
  • Milestone 1 parity + polish — status badge with live spinner, progress
    bar, cost, two-pane tasks + log (summary/events toggle, t), commit preview
    for a selected done task, status footer, message bar, help overlay (?),
    keyboard nav (j/k, arrows, g/G), and the full cooperative control set
    (i// message, p/r/n/s/x, K), all writing the existing control channel.
    Honors NO_COLOR, non-TTY (prints a hint), and --attach DIR.
  • Tests + CIui/test/protocol.test.ts (8 assertions, the file-protocol
    IO layer) plus a headless selftest frame; new ui-build CI job runs typecheck,
    unit tests, build, and the selftest. The bash protocol test still guards the
    runner side.

Next milestones (per docs/superpowers/specs/2026-05-30-nightshift-ui-v2-ink-tui-design.md):
live agent stream, diff viewer + log scrollback/search, richer messaging
(multiline + delivery ack), mouse + live metrics.

v1.6.0

28 May 05:23

Choose a tag to compare

Added — interactive TUI

  • nightshift ui — interactive terminal UI (scripts/nightshift-ui.sh, 395 lines). Live view of task list with selection cursor, current phase, validation/chrome attempt counters, last error, and a scrollable log/event pane. Refreshes every 0.2s. q to quit, arrow keys to navigate, toggles for log mode. Pure bash + python3 (for JSON parse). No external TUI library.
  • Runner state + event emitters. Both run-agent-loop.sh and nightshift-bulletproof.sh now write .agent-logs/run_state.json (current snapshot) and append to .agent-logs/run_events.jsonl (event log) at every phase transition: run_start, task/step_start, validate_start, validate_failed, chrome_start, task/step_complete, tasks_complete, run_complete, stopped. This powers the TUI and any external monitoring.
  • ROADMAP-UI.md — staged plan for evolving the TUI toward a Claude-Code-like experience.

Fixed

  • TUI task-list rendering showed doubled checkboxes ([ ] - [ ]). Cause: ${line#- [ ] } parameter strip — bash parses [ ] as a glob character class (one space), not literal brackets, so the prefix was never stripped. Fixed with fixed 6-char offset (${line:6}), since the - [x] checkbox prefix is always exactly 6 chars.

Added — distribution + docs (from this session)

  • USAGE.md — consolidated how-to-use guide (three install paths + troubleshooting). Surfaces the "must run /plugin install AFTER /plugin marketplace add" gotcha.
  • .github/workflows/npm-publish.yml — auto-publish to npm on tag push (needs NPM_TOKEN secret with bypass-2FA; fails-safe when missing).
  • Branch protection on main with 8 required status checks. No force-push, no deletion.
  • README install section links to USAGE.md and clarifies the /plugin install + full-restart requirement.

v1.5.2

27 May 22:25

Choose a tag to compare

Added — auto-update notification + self-update command

  • nightshift update subcommand. Detects install channel from $ROOT path (npm Cellar / Homebrew / ~/.claude/skills/ / ~/.claude/plugins/marketplaces/ / git clone) and runs the matching update command. Invalidates the update-check cache after running.
  • Daily update check runs before every subcommand except version, help, update. Fetches latest from npm registry with 3s timeout, caches result in $XDG_CACHE_HOME/nightshift/latest-version (or ~/.cache/nightshift/). If newer version exists, prints a one-line yellow notice to stderr. Fails silent on network errors.
  • Pure-bash semver comparison (version_lt). No new dependencies. Skips check in non-interactive contexts (CI, pipes) via [ -t 1 ]. Disable via NIGHTSHIFT_NO_UPDATE_CHECK=1.

Fixed (real bug reported via screenshot)

  • bin/nightshift help displayed literal \033[1m escape codes instead of bold/colored text. Cause: single-quoted color variables (BOLD='\033[1m') stay as literal 6-char strings; cat <<EOF heredoc does not interpret backslash escapes. Fix: ANSI-C quoting (BOLD=$'\033[1m') so vars contain real ESC bytes that terminals interpret correctly.

Why this release

Combined v1.5.1 (ANSI bug fix) with auto-update feature user requested. Bumping straight to 1.5.2 since v1.5.1 was tagged on GitHub but never published to npm.

v1.5.1

27 May 22:23

Choose a tag to compare

Fixed (real bug reported via screenshot)

  • bin/nightshift help displayed literal \033[1m escape codes instead of bold/colored text. Cause: color variables used single-quoted strings (BOLD='\033[1m') which stay as literal 6-char strings; cat <<EOF heredoc does not interpret backslash escapes. Fix: ANSI-C quoting (BOLD=$'\033[1m') so vars contain real ESC bytes that terminals interpret correctly.
  • Affects: all CLI subcommands that print colored output via heredoc (help, version, init).

Why this release

User screenshot showed nightshift help output with raw escape sequences instead of rendered colors. Real, visible regression in v1.4.0 and v1.5.0. Fixed.

v1.5.0

27 May 22:03

Choose a tag to compare

User asked: better Vite/React site with docs + onboarding + playful look, agentic markdown files (CLAUDE.md etc), updated GitHub metadata, and a fix for /plugin marketplace add. Delivered all five.

Site rewrite (Vite + React + Tailwind + Framer Motion)

The single-file static site/index.html is gone. Replaced by a proper SPA in site/:

  • / — animated hero, how-it-works pipeline cards, slash commands preview, cost callout, use-case grid, final CTA
  • /install — six install channels with copyable commands and comparison table (CLI vs Skill vs Slash commands per channel)
  • /commands — full slash command reference with categories and "when to use"
  • /onboarding — 7-step interactive walkthrough with progress bar and Framer Motion step transitions. From npm install to morning review
  • /docs/* — renders existing docs/*.md via react-markdown + remark-gfm (Vite ?raw imports) with sticky sidebar nav. 8 pages: playbook, bulletproof, chrome-testing, qa-checklist, failure-modes, test-loop, cost-safety, FAQ

Dark nightshift theme: deep navy + amber accent, terminal aesthetic, subtle starfield. No emojis. Builds to ~580KB JS.

Site content sync agent

site/scripts/sync-content.ts — deterministic content sync. Reads package.json + commands/*.md, regenerates site/src/content/meta.ts. No LLM calls. Run via npm run sync inside site/. Documented in CLAUDE.md + AGENTS.md.

Agentic markdown files

  • CLAUDE.md — full working-in-repo guide. Project purpose, file map, conventions, when-to-modify-what.
  • AGENTS.md — multi-agent coordination. Roles, tool authority table.
  • .cursorrules — Cursor-specific concise summary.
  • .github/copilot-instructions.md — Copilot context.

Marketplace fix

.claude-plugin/marketplace.json was missing. /plugin marketplace add noluyorAbi/autonomous-agent-nightshift failed with Marketplace file not found. Now present.

/plugin marketplace add noluyorAbi/autonomous-agent-nightshift
/plugin install autonomous-agent-nightshift

GitHub metadata

  • Homepage URL → npm package page
  • Description tightened
  • 5 new topics: claude-code-plugin, npm-package, cli, cli-tool, homebrew

Site URL

Deployed to GitHub Pages via Actions. Live at custom domain once DNS is configured:

  • http://iyikivarsin.me/autonomous-agent-nightshift/

v1.4.0

27 May 20:50

Choose a tag to compare

Multi-channel distribution. User asked: "make it run so I can download as skill, npm package, cli tool etc". v1.3 shipped install-as-skill-only. v1.4 adds 5 more channels.

Install matrix

Channel Command
npm npm install -g autonomous-agent-nightshift
Homebrew brew install --HEAD https://raw.githubusercontent.com/noluyorAbi/autonomous-agent-nightshift/main/Formula/nightshift.rb
curl one-liner (Claude Code skill) curl -fsSL https://raw.githubusercontent.com/noluyorAbi/autonomous-agent-nightshift/main/bin/install.sh | bash
Claude Code plugin /plugin marketplace add noluyorAbi/autonomous-agent-nightshift && /plugin install autonomous-agent-nightshift
Tarball curl -fsSL https://github.com/noluyorAbi/autonomous-agent-nightshift/releases/download/v1.4.0/autonomous-agent-nightshift-1.4.0.tar.gz | tar xz
Git clone git clone https://github.com/noluyorAbi/autonomous-agent-nightshift

New: unified CLI

After npm install -g or brew install, the nightshift command is on your PATH:

nightshift init add-dark-mode    # bootstrap todo + runner in cwd
nightshift start                  # launch detached
nightshift tail                   # follow summary log
nightshift status                 # alive? what task?
nightshift review                 # morning report
nightshift resume                 # diagnose + restart after crash
nightshift bulletproof-init       # Bulletproof PR sweep bootstrap
nightshift help

Resolves its install root regardless of channel (npm Cellar, Homebrew Cellar, tarball, git clone, or ~/.claude/skills/). Symlink-aware.

New: release automation

.github/workflows/release.yml triggers on tag push, builds a tarball with SHA256, attaches to the GitHub Release. Enables the curl | tar xz install path. Auto-generates release notes from commits if release doesn't exist.

Verified end-to-end

  • bin/nightshift version resolves install root correctly
  • bin/nightshift init test-feature in tmp dir bootstraps todo + runner, sed-substitutes TODO_FILE, appends .gitignore
  • Tarball download from this release: extract → ./bin/nightshift version works
  • npm pack --dry-run shows correct payload (100 KB) with bin/nightshift and bin field pointing to it

Three install modes, one tool

Channel CLI nightshift Claude Code skill Slash commands
npm yes no (add via skill install) no
Homebrew yes no (add via skill install) no
curl one-liner no yes yes (via plugin)
Plugin marketplace no yes yes
Tarball / git clone yes (via PATH) only if into ~/.claude/skills/ only via plugin install

For full power: install via npm/brew (CLI) and the curl one-liner (skill + slash commands).

Not in this release (acknowledged)

  • npm publish to the public registry (needs npm auth — pending decision)
  • Dedicated Homebrew tap repo (currently install via --HEAD URL)
  • Anthropic-curated marketplace listing (out of repo control)

v1.3.0 — Public release

27 May 08:54

Choose a tag to compare

Repo is now public. First release where the install command actually works for everyone:

```bash
curl -fsSL https://raw.githubusercontent.com/noluyorAbi/autonomous-agent-nightshift/main/bin/install.sh | bash
```

Pre-public sanitization

Final sweep before flipping visibility from private to public.

Removed:

  • `examples/todo-design-nightshift.md` — 50-task design overhaul for a real soccer-club client. Contained location/founding-year/postal-code identifiers that couldn't be sanitized while preserving the realism that made it useful. Synthetic `todo-simple-example.md` + `bulletproof-steps-example.md` cover the template need without leakage risk.

Sanitized:

  • `examples/qa-checklist-saas.md:97` — "BMW" reference → generic phrasing
  • `examples/bulletproof-summary.log` — internal repo URL ×3, branch name ×4 → generic placeholders
  • `examples/README.md` — restructured for removed entry

Fixed:

  • README `/plugin install` block now shows correct `marketplace add` flow (was implying first-party marketplace presence that didn't exist)
  • Dead "Claude Code Skill" badge URL → working docs link
  • Added CI status + release version badges
  • `install.sh` post-install hint lists all 6 slash commands (was 4)

Verified end-to-end:

  • Raw URL reachable anonymously: 200 OK
  • `curl ... | bash` against the public URL: clones into `~/.claude/skills/autonomous-agent-nightshift/`, idempotent re-pull works, SKILL.md frontmatter present, all 6 slash commands installed.

What's in the box (v1.3.0)

  • 1 skill with NOT-for clause to prevent over-triggering
  • 6 slash commands: /nightshift-setup, /nightshift-status, /nightshift-review, /nightshift-resume, /nightshift-debug, /nightshift-bulletproof
  • 4 scripts: classic runner, bulletproof PR runner, start/stop wrapper, recursive test loop
  • 4 templates: todo, codebase-context, QA checklist, tuning presets
  • 4 examples: 2 synthetic (todo + bulletproof steps) + 2 real sanitized (SaaS checklist + 100-step run log)
  • 8 docs: master playbook, bulletproof mode, Chrome MCP, QA checklist guide, failure modes, test loop, cost-and-safety, FAQ
  • Community: CONTRIBUTING, SECURITY, CHANGELOG, ISSUE/PR templates, .editorconfig, LICENSE (MIT), CI

What's still not done (acknowledged)

  • Docker-based fresh-machine install test (only local file:// + curl-from-public verified — clean container test not run)
  • Asciinema/GIF hero demo
  • Real-world validation run on a foreign OSS project
  • Anthropic marketplace listing (custom-marketplace flow works today)
  • Branch protection on main (recommended but not configured)

These are nice-to-haves. Repo is production-ready for v1.x as a copy-and-adapt resource.

v1.2.0 — Honest self-audit: cost docs, safety, portability bugs

26 May 22:38

Choose a tag to compare

User asked: "does the repo work, is it a good skill, what's missing?" Self-applied audit. Fixed 2 real bugs, 1 description issue, and 5 missing files.

Real bugs fixed

  • sed -i '' in commands/nightshift-debug.md — BSD-only syntax. Linux users would have hit `sed: invalid option -- '''`. Replaced with `perl -i -pe` (cross-platform).
  • #!/bin/bash in 2 scripts — macOS ships bash 3.2 at /bin/bash (Apple stuck on GPLv2 forever). Switched all 4 scripts to #!/usr/bin/env bash for modern-bash discovery via PATH.

Description quality

  • SKILL.md frontmatter now includes a NOT for: clause. Prevents over-triggering on "single bugfix", "architecture decision", "one-shot refactor" queries that shouldn't pull in the full multi-task nightshift workflow.

Missing context (highest-impact addition)

  • docs/07-cost-and-safety.md — real $ cost estimates ($0.50/task Sonnet, $1.50/task Opus, $40-200 per default overnight run), pre-launch safety checklist, --dangerously-skip-permissions handling, disaster recovery commands.

    Critical: users previously had zero idea what a nightshift costs. Now they do.

  • docs/FAQ.md — common questions by topic (general, cost, setup, during-run, results, skill, defaults rationale).

  • README leads with Cost-and-safety section before prerequisites. Risk surfaced up front.

Community files

  • SECURITY.md — vulnerability disclosure policy
  • .github/ISSUE_TEMPLATE/bug_report.md — structured bug intake
  • .github/ISSUE_TEMPLATE/stack_adapter.md — template for new-stack adapter requests
  • .github/PULL_REQUEST_TEMPLATE.md — PR checklist with sanitization reminder
  • .editorconfig — consistent line endings across contributors

What's still missing (acknowledged)

  • End-to-end install.sh test on a fresh machine (never run)
  • Asciinema/GIF demo recording
  • Marketplace listing setup (so /plugin install works without manual marketplace config)

These are nice-to-haves. Repo is now feature-complete for v1.x.

Install

```bash
curl -fsSL https://raw.githubusercontent.com/noluyorAbi/autonomous-agent-nightshift/main/bin/install.sh | bash
```

v1.1.0 — Shellcheck cleanup, synthetic examples, resume/debug commands

26 May 22:07

Choose a tag to compare

Continued the self-applied audit cycle. Beginner-friendly examples, two new diagnostic slash commands, and full shellcheck-warning cleanup.

Added

Slash commands (now 6 total):

  • /nightshift-resume — diagnose why a run stopped (iteration limit / rate limit / auth / crash / dev-server) and restart cleanly
  • /nightshift-debug — when a task exhausts retries, classify the failure pattern (stale context / scope creep / weak validation / etc) and propose rewrite vs context-fix vs manual implementation

Synthetic examples (fill the beginner gap):

  • examples/todo-simple-example.md — 5-task dark-mode toggle. Pure template fill, no project-specific context.
  • examples/bulletproof-steps-example.md — 10-step production hardening sweep (CSP, HSTS, rate limiting, Sentry, cookie consent). Shows what BULLETPROOF-STEPS.md input looks like.

The existing real (sanitized) artifacts stay — synthetic examples are the new on-ramp.

Fixed

8 inherited shellcheck warnings across the three runner scripts:

  • 6× SC2188 (> \"\$f\" truncation idiom → : > \"\$f\")
  • 1× SC2155 (local declare+assign masking — split)
  • 1× SC2034 (unused all_comments var — removed)

CI severity restored from error to warning so real lint pressure is preserved.

Install

```bash
curl -fsSL https://raw.githubusercontent.com/noluyorAbi/autonomous-agent-nightshift/main/bin/install.sh | bash
```

Existing installs pull the update via the same command.