Skip to content

mrueda/pad-lattice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pad-Lattice logo

Launchpad control surface for coding agents

Pad-Lattice

Pad-Lattice: a hardware control surface for coding agents, using a Novation Launchpad as a local state display and action pad.

Build Documentation Status Documentation Python License

Pad-Lattice turns a MIDI grid controller into a physical supervisor for coding agents. The daemon owns the hardware, renders agent state on the LEDs, and exposes a small local socket protocol that agent integrations can use to send state updates and receive hardware actions.

The first supported target is the Novation Launchpad Pro Mk1. The first agent integration is Codex CLI, with codex exec --json support available through the pad-lattice codex-exec adapter.

Pad-Lattice is not a token-probability visualizer, macro keyboard, or browser WebMIDI app. It is a local agent state and action surface: running, waiting for reply, waiting for approval, success, error, approve, reject, retry, and stop.

Documentation: https://mrueda.github.io/pad-lattice/

Quick Start: https://mrueda.github.io/pad-lattice/docs/usage/quickstart

Production Use: https://mrueda.github.io/pad-lattice/docs/usage/production

GitHub Repository: https://github.com/mrueda/pad-lattice

Quick Start

Install locally from the repository root:

python3 -m pip install -e .

List MIDI ports:

pad-lattice ports

Run the hardware demo:

pad-lattice demo

Run the production daemon:

pad-lattice daemon

Send a state from another process:

pad-lattice send-state waiting_for_reply
pad-lattice send-state running
pad-lattice send-state waiting_for_approval

Run a non-interactive Codex task with Launchpad state updates:

pad-lattice codex-exec "summarize this repository in one sentence"

Hardware

Currently tested:

  • Novation Launchpad Pro Mk1

Planned extension point:

  • Additional Launchpad and MIDI grid controllers through device profiles.

Only one process can own the Launchpad MIDI ports at a time. For normal use, run one long-lived pad-lattice daemon and let agent integrations talk to it through the local socket.

Development

Run the Python test suite:

python3 -m pip install -e .
python3 -m unittest discover -s tests

Run bytecode checks:

python3 -m py_compile src/pad_lattice/*.py tests/*.py

Run the docs checks:

cd docs-site
npm install
npm run typecheck
npm run build

Citation

No formal citation is available yet. For now, cite the GitHub repository:

Pad-Lattice: hardware control surface for coding agents. https://github.com/mrueda/pad-lattice

Author

Written by Manuel Rueda.

Repository: https://github.com/mrueda/pad-lattice

Copyright and License

Copyright (C) 2026 Manuel Rueda.

This project is distributed under the Apache License 2.0. See LICENSE for details.

Releases

No releases published

Packages

 
 
 

Contributors