https://github.com/shuymn/spindle-extensions
Personal stdio JSONL extensions for spindle — macOS automation providers and workflows.
https://github.com/shuymn/spindle-extensions
automation extensions jsonl macos rust spindle workflow
Last synced: 20 days ago
JSON representation
Personal stdio JSONL extensions for spindle — macOS automation providers and workflows.
- Host: GitHub
- URL: https://github.com/shuymn/spindle-extensions
- Owner: shuymn
- License: mit
- Created: 2026-06-07T18:01:44.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-16T02:01:29.000Z (23 days ago)
- Last Synced: 2026-06-16T04:05:13.772Z (23 days ago)
- Topics: automation, extensions, jsonl, macos, rust, spindle, workflow
- Language: Rust
- Homepage:
- Size: 108 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# spindle-extensions
Personal stdio JSONL extensions for [spindle](https://github.com/shuymn/spindle).
The spindle kernel and `spindle-extension-sdk` live in the main spindle repository.
This repository holds provider and workflow extensions under `extensions//`.
## Extensions
- `extensions/aerospace/` — AeroSpace IPC, workspace/mode/layout snapshots, workspace focus
- `extensions/clock/` — Clock label to SketchyBar message workflow
- `extensions/sketchybar/` — SketchyBar Mach IPC and generic message send
- `extensions/workspace-indicator/` — AeroSpace state to SketchyBar message workflow
## Layout
```text
spindle-extensions/
extensions/
aerospace/
clock/
sketchybar/
workspace-indicator/
packages/ # generated by task package
```
Extensions depend on `spindle-extension-sdk` from the `shuymn/spindle` Git repository.
## Setup
Clone this repository:
```bash
git clone https://github.com/shuymn/spindle-extensions.git
cd spindle-extensions
```
```bash
task build
task test
```
Build installable extension packages before installing extensions:
```bash
task package
```
`task package` builds release binaries and writes package directories under `packages/`:
```text
packages//
extension.json
bin/
```
Install by package directory from a spindle checkout or installed `spindle` binary:
```bash
spindle install --trust-runtime /path/to/spindle-extensions/packages/aerospace
spindle install --trust-runtime /path/to/spindle-extensions/packages/sketchybar
```
Bootstrap the first-party desktop extension set without a cross-extension policy artifact:
```bash
spindle bootstrap --extension-dir ./packages --trust-runtime
```
Installing or bootstrapping these packages means trusting their executables to run as the current user. Extension-to-extension routes declare their own capability grants; spindle validates installed surface completeness, but it does not sandbox extension executables or require a separate desktop topology policy.
## License
MIT