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.1b2018

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.1b2018
File Size Uploaded Provenance Actions
starpulse-0.5.1b2018.tar.gz 2.8 MB Without provenance Details for starpulse-0.5.1b2018.tar.gz

Built distribution (wheel)

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

Total release size: 5.9 MB

Release files / starpulse-0.5.1b2018.tar.gz

Download URL starpulse-0.5.1b2018.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
dcd4d19c88225a90d31ed1d3d86602131da589221b17d7f869f5d151ce63a058
BLAKE2b-256 checksum
How to use checksums
8d658330345c47b40f498b5ba36a38b46346185e973bc01c802467d07f452229
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.1b2018-py3-none-any.whl

Download URL starpulse-0.5.1b2018-py3-none-any.whl
Size 3.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a113f806dd05d27b61903f8b283e00368ca71aba80897a9c8fc5ad15a0fc2df3
BLAKE2b-256 checksum
How to use checksums
910ca37d3e349c85c4081ef21c953c93c377afc5de57efb4341831965d5cae54
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.1b2018

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