By cliftonc
Deploy and manage a Last Light GitHub maintenance agent — set up a server with docker-compose, connect a CLI client, customize workflows and prompts without forking, and run evals on a mocked GitHub to test workflow modifications.
Install the `lastlight` CLI and connect it as a CLIENT to an existing Last Light server — log in, save the token, and verify the connection. Use when the user wants to "connect / point my lastlight CLI at a server", "log in to Last Light", "set up the lastlight client", or run lastlight commands against a remote instance. For standing up the server itself use lastlight-server; for editing a deployment's config use lastlight-overlay.
Scaffold, configure and run a Last Light EVALS workspace — the harness that runs Last Light's real workflows against a mocked GitHub and grades them deterministically. Use when the user wants to "set up / scaffold Last Light Evals", "create an evals workspace or instance", "run evals", "compare models", or author new eval cases (triage / code-fix instances). GitHub is mocked, so no real GitHub token is needed — only a model provider API key.
Create or customize a Last Light deployment OVERLAY (the private instance/ repo) — scaffold it, then fork built-in workflows, prompts, skills, or the agent persona (agent-context) so a deployment can override them. Use when the user wants to "create a Last Light overlay / instance repo", "customize / fork a workflow", "override a prompt or skill", "change the agent's persona/soul/rules", or tune a deployment's config without forking the whole codebase. For first-time server install use lastlight-server.
Install and configure a Last Light SERVER — the GitHub maintenance agent plus its docker-compose stack — on a host. Use when the user wants to "set up / install / deploy / stand up a Last Light server or instance", configure its GitHub App, models, managed repos, or domain, or get the agent running for the first time. Drives the `lastlight` CLI; for connecting an existing CLI to a server use lastlight-client instead, and for editing a running deployment's config use lastlight-overlay.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
GitHub Repository Maintenance Agent
lastlight.dev · Roadmap
An AI agent that maintains GitHub repositories: triaging issues, reviewing PRs, monitoring repo health, and building features through an Architect → Executor → Reviewer development cycle.
Built on agentic-pi (workflow phases) and @earendil-works/pi-ai (in-process chat) with a lightweight TypeScript harness for webhook ingestion, cron scheduling, and process management. Provider-agnostic — point LASTLIGHT_MODEL at any provider/model pi-ai supports (defaults to anthropic/claude-sonnet-4-6).
The fastest way to go from a bare server to a running Last Light instance:
npx lastlight setup
The setup wizard walks you through:
owner/repo list the bot operates onOPENAI_API_KEY, ANTHROPIC_API_KEY, and/or OPENROUTER_API_KEY,
whichever your LASTLIGHT_MODEL points atIt scaffolds your private deployment overlay at instance/ — writing
instance/config.yaml (your managed repos), instance/secrets/.env, and copying
your PEM to instance/secrets/app.pem (mode 600) — then offers to build and start
the Docker stack. When it's done you have a running instance ready to receive
webhooks. Everything deployment-specific lives in instance/, which is mounted
read-only and never baked into the image; edit it and docker compose restart agent
to apply (no rebuild). See Deployment overlay for the model.
Requires: Node.js 20+, Docker, and a GitHub App already created (see Create a GitHub App below).
For a Docker-free production install (systemd unit, gondolin sandbox), see Native deploy below.
LASTLIGHT_SANDBOX=docker; gondolin runs without it on macOS/LinuxLASTLIGHT_MODEL uses
(OPENAI_API_KEY for openai/…, ANTHROPIC_API_KEY for anthropic/…, OPENROUTER_API_KEY for openrouter/…)git clone https://github.com/cliftonc/lastlight.git
cd lastlight
npm install
Copy and edit the environment file:
cp .env.example .env
Fill in the required values in .env:
# GitHub App (required)
GITHUB_APP_ID=123456
GITHUB_APP_PRIVATE_KEY_PATH=./your-app.private-key.pem
GITHUB_APP_INSTALLATION_ID=789012
# Webhook secret (required for webhook mode)
WEBHOOK_SECRET=your-secret-here
# Model + provider — pick one matching your key
LASTLIGHT_MODEL=anthropic/claude-sonnet-4-6
ANTHROPIC_API_KEY=sk-ant-...
# OPENAI_API_KEY=sk-...
# OPENROUTER_API_KEY=sk-or-...
# Sandbox backend (default: gondolin; alternatives: docker, none)
# LASTLIGHT_SANDBOX=gondolin
npm run dev runs the harness on your host. Sandbox mode is selected by LASTLIGHT_SANDBOX:
gondolin (default) — agentic-pi spawns a per-phase QEMU micro-VM in-process. Uses HVF on macOS, KVM on Linux. No Docker needed.docker — agentic-pi runs inside a per-phase sibling Docker container (the lastlight-sandbox:latest image). Requires Docker. Useful for prod-like smoke testing.none — agent runs in-process on your host with no isolation. Dev only — never in production.The dev script is explicitly safe with your personal config:
| Touched? | |
|---|---|
~/.gitconfig (your identity, credential helper) | ❌ skipped (LASTLIGHT_LOCAL_DEV=1) |
./data/agent-sessions/ | ✅ project-local; shim envelope jsonls for the dashboard live here |
./data/sandbox-data/ | ✅ project-local bind-mount when using LASTLIGHT_SANDBOX=docker |
./data/lastlight.db, ./data/sandboxes/, ./data/logs/ | ✅ project-local state, gitignored |
If you want the Docker sandbox mode locally, build the image once first:
docker compose --profile build-only build sandbox
Then run the harness (server + dashboard, with hot reload):
npm run dev # both server and dashboard, concurrent
npm run dev:server # server only
npm run dev:dashboard # dashboard only
Claude Code plugin for Drizzle Cube - type-safe analytics and dashboards with Drizzle ORM. Includes MCP tools, slash commands, and agent skills.
TypeScript quality enforcement with instant file-scoped checks and architectural review. Auto-activated skill runs typecheck and lint after each file write. Includes /ts-review command for comprehensive code analysis.
npx claudepluginhub nearform/lastlight --plugin lastlightAutonomous AI development pipeline that uses GitHub as a structured knowledge graph for Claude Code agents. Adds /work-on, /review-pr, /quality-gate, /orchestrate, and 20+ pipeline commands.
Call GitHub Autopilot's AI tools (analyze PR, fix issue, scan secrets, repo health) from Claude Code via MCP.
GitHub Actions CI/CD toolkit for workflow design, custom action creation, and matrix optimization. Includes workflow architect agent for strategic automation decisions.
Use this agent when setting up CI/CD pipelines, configuring Docker containers, deploying applications to cloud platforms, setting up Kubernetes clusters, implementing infrastructure as code, or automating deployment workflows. Examples: <example>Context: User is setting up a new project and needs deployment automation. user: "I've built a FastAPI application and need to deploy it to production with proper CI/CD" assistant: "I'll use the deployment-engineer agent to set up a complete deployment pipeline with Docker, GitHub Actions, and production-ready configurations."</example> <example>Context: User mentions containerization or deployment issues. user: "Our deployment process is manual and error-prone. We need to automate it." assistant: "Let me use the deployment-engineer agent to design an automated CI/CD pipeline that eliminates manual steps and ensures reliable deployments."</example>
GitHub repository automation (CI/CD, issue templates, Dependabot, CodeQL). Use for project setup, Actions workflows, security scanning, or encountering YAML syntax, workflow configuration, template structure errors.
OSS maintenance plugin: agents (shepherd, cicd-steward, gh-scraper, repo-warden) and skills (analyse, resolve, review, release)