Skip to main content

unpark

Un-park your side projects. When you return after three months, unpark tells you what the project is, where you stopped, and the one command that shows it running.

unpark is the primary command. wb is an optional shorthand for “welcome back”; both run the same program.

$ unpark

photo-globe — Photos on a spinning 3D globe, placed by EXIF geolocation
parked · last commit 8 days ago · WELCOME.md updated 40 days ago

GOALS  2/3 done
RECIPES
  demo   Serve the generated globe page   background · :8765

⚠ WELCOME.md may be stale: 1 commit since updated

Each project commits one human-readable, GitHub-rendered WELCOME.md. Coding agents can keep it fresh through an installable upkeep skill, but the tool itself is local, deterministic, and makes no LLM or network calls.

  • Terminal briefing with live git context
  • Interactive localhost dashboard with recipe start/stop controls
  • A curated handful of re-entry recipes that delegate to your task runner
  • Managed demo processes with ps, logs, and stop
  • Optional portfolio and VS Code workspace hand-off
  • Python 3.9+ with no runtime dependencies

Try it without changing a project

Install the published package:

uv tool install unpark        # or: pipx install unpark
unpark demo

From a clone, use uv tool install . when developing it.

The demo is a self-contained, disposable trial: it prints a generated briefing with relative-dated git history, then deletes its files. Use unpark demo --html to explicitly open that temporary demo's dashboard, or use unpark demo ./photo-globe-demo to keep the sample for inspection.

This is the dashboard opened by unpark demo --html:

The dashboard from unpark demo --html

For daily use, run unpark html inside a real project repository. It reads that repository's own WELCOME.md and serves its local dashboard. From a directory containing several real projects, the same command instead provides a compact portfolio with their status, stale-briefing warnings, goals, and next command:

A fifteen-project unpark HTML portfolio

In a terminal, unpark projects pages your registered-project overview. Use unpark projects --pick to choose one before its briefing opens, or unpark project NAME when you already know which project you want.

Use it in a real project

cd your-project
unpark init                   # create a manual skeleton
unpark                        # terminal briefing
unpark html                   # interactive dashboard
unpark manual                 # full context-aware manual

Long interactive briefings automatically use $PAGER (default less), while piped output remains plain. Use --no-pager or set NO_PAGER to disable it.

Or install the upkeep skill once and ask your coding agent, “Set up unpark for this project”:

unpark skill --install --global --target claude

Choose the global integration deliberately: repeat --target for more than one, or use --target all for every file-based integration that unpark knows how to install (claude, codex, and copilot). Cursor's global User Rules are configured in its settings, so unpark leaves them under your control; its project-level AGENTS.md support is covered by unpark skill --install.

A minimal briefing looks like this:

---
name: my-project
tagline: What it does, in one line
status: active
updated: 2026-07-15
---

## What is this

Who it is for and what exists.

## State of things

The latest useful hand-off.

Known issues:
- None known.

Next step: ship the first release.

## Recipes

### demo

```sh
just demo
```

Plays well with task runners

just, task, mask, mise, make, and npm keep owning the full task catalog. Unpark owns the re-entry moment. Its recipes should delegate—such as just demo—instead of copying task bodies into WELCOME.md.

Trust model

Recipes are executable project code, like a Makefile. Review WELCOME.md before running recipes from an untrusted clone. The dashboard binds only to localhost and protects actions with a per-session token and Host-header check; see SECURITY.md for details.

Status and license

Published on PyPI. MIT © Jörg Türmer (Joerg Tuermer).

Release files for unpark 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unpark 0.2.2
File Size Uploaded
unpark-0.2.2.tar.gz 338.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unpark 0.2.2
File Interpreter ABI Platform
unpark-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 395.8 kB

Release files / unpark-0.2.2.tar.gz

Download URL unpark-0.2.2.tar.gz
Size 338.9 kB
Tags Source
SHA-256 checksum
How to use checksums
384d1c66303bf54199ef30a5ed7c9c9afde5a06a60e64984b04de5e55c3bbb25
BLAKE2b-256 checksum
How to use checksums
0fc6a0f3c69db2dd90547cef6b05549440dab7a37affc385f00d8db083bf3989
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.

Transparency log

Release files / unpark-0.2.2-py3-none-any.whl

Download URL unpark-0.2.2-py3-none-any.whl
Size 56.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02814dec0a1979ce0e1e3d7ecbbbc9334d01a5a88143ff97c8fbe9714f759154
BLAKE2b-256 checksum
How to use checksums
d54e5a3b01c2d03cf88eea66f8a2fc52b20b1fb85f56549bde8ced1312a94320
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page