Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

StarPulse's star map: tasks, workflow runs and agents moving live

StarPulse

State machines for agent work: declare the lifecycle, and every task, workflow run and agent moves through it on one live page.

CI status PyPI version Python version License: MIT

Live demo · Configure · Sources · Agent CLI · Adapters · Consumers · Security · Compatibility · Development loop · Contributing

What it is and why

I wanted to see where my agents were in their sessions and which skills they were using. Then I watched a video that mapped agent actions onto state machines, and I wanted to map the whole agent lifecycle and pair it with the Dagu workflows I already run, so scripts and DAGs could take over manual AI commands and cut the step count.

StarPulse is what I built: a state-machine tool for agent work. You declare each lifecycle as a machine, as data: its states, its transitions and who may make each move (the operator, an agent or a named workflow). StarPulse records every move against its machine and draws the machines live, with tasks, workflow runs and agents moving through them on one page. The board's writer refuses a move its machine forbids, the same way for the command line and the page.

A Kanban board is one shape a machine takes, not what StarPulse is. The Board machine's states become the lanes, and its transitions and writers decide which moves are offered, and to whom. Every other machine, such as a task's delivery phases, a skill's steps or a pull request's CI, is drawn as a flow beside it. StarPulse is not tied to one agent harness or one lifecycle, and it produces data and leaves what to do with that data to you.

Quick start

uvx starpulse init    # writes starpulse.toml, board.yaml, .starpulse/board/ and .claude/settings.json (--harness, --dir)
export STARPULSE_TOKEN=$(openssl rand -hex 16)
uvx starpulse serve   # then open http://localhost:8766

init scaffolds a board machine with its roles declared, a [[board.guards]] rule, a [scheduler] table, a producer whose token is read from STARPULSE_TOKEN, and the Claude Code telemetry export settings; it refuses to overwrite an existing file. The board starts empty, with the lanes the machine's states name, ready for uvx starpulse task create.

Working with AI agents

An agent works the board through the starpulse CLI, every verb printing JSON (Agent CLI). uvx starpulse skills install --claude --codex copies the bundled skills into the project. For any other agent, add a section to AGENTS.md or CLAUDE.md:

## Tasks

This project tracks work on a StarPulse board. Run `uvx starpulse help --agent` for every verb, its
arguments and exit codes. Read the board with `uvx starpulse board` and open a task with
`uvx starpulse task create "<title>"`.

Working without AI agents

The same verbs work typed by hand, and New task on the Kanban adds a task from the page. Both write the same board.

Views

Kanban Star Map Workflow runs
Kanban view Star Map view Workflow runs view

Reads tasks from its own Markdown board, Backlog.md or Jira; runs from Dagu, GitHub Actions or systemd; agents from Claude Code and Copilot.

Status

StarPulse is early. This is my first open source project, and I am still learning how to run one. What is rough today:

  • The UI is messy and not fully implemented.
  • The data it captures is not yet acted on in full; the feedback loop from captured signal to changed behavior is incomplete.
  • Performance is good but could be better.

Feedback

Something broke, confused you or is missing? Open an issue. Say what you ran and what you expected. A confusing first run is a bug I want to hear about.

MIT licensed.

Metadata

Release files for starpulse 0.5.1b2103

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

Source distribution (sdist)

Source distribution for starpulse 0.5.1b2103
File Size Uploaded Provenance Actions
starpulse-0.5.1b2103.tar.gz 2.9 MB Without provenance Details for starpulse-0.5.1b2103.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for starpulse 0.5.1b2103
File Interpreter ABI Platform Actions
starpulse-0.5.1b2103-py3-none-any.whl Python 3 none any Details for starpulse-0.5.1b2103-py3-none-any.whl

Total release size: 5.9 MB

Release files / starpulse-0.5.1b2103.tar.gz

Download URL starpulse-0.5.1b2103.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
6d4a90ca02e506eea65a604f0f1f6c109115402247edf952c35a5d70b4d02973
BLAKE2b-256 checksum
How to use checksums
7455efd2cb6b3bd268a9cc879064228eecf77e7bfebe737f8f5847e22acfbf96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / starpulse-0.5.1b2103-py3-none-any.whl

Download URL starpulse-0.5.1b2103-py3-none-any.whl
Size 3.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3cd177323fe070eb7585c44cbb4bcbab96ed59e8d9281a059a91d9b93c015fde
BLAKE2b-256 checksum
How to use checksums
79a42a8831c8a23b4b580eebf4809f0288cb646023946ba25f43666ee35d588b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for starpulse 0.5.1b2103

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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