SpielOS — the company harness
One durable loop for operating AI work as a company system:
GOAL -> OBSERVE -> DECIDE -> ACT -> EVALUATE
^ |
+----------------------------+
The runtime owns every Goal, Run, approval, evidence record, and notification. Departments are Lego packages: self-contained folders that supply business behavior and never create another loop. Codex, OpenCode, and humans are all clients of the same persisted state.
Install (one line)
pipx install spielos && spielos init
spielos init scaffolds a verified, self-contained harness home into your
current folder — with OpenCode-style progress, an optional starter-department
picker, host detection, and a runtime verification before it
reports success.
Update (one line)
pipx upgrade spielos && spielos refresh
pipx upgrade fetches the newest release; spielos refresh re-vendors the
runtime spine and host adapters into every home on this machine while keeping
your strategy, assets, departments, installed agents, and .spielos/ state.
No pipx yet? The bootstrap installer sets everything up (Python check, pipx, spielos) and runs init in an empty folder automatically:
curl -fsSL https://raw.githubusercontent.com/ShayanSpiel/SpielOS/main/install.sh | sh
spielos init scaffolds a fresh home into your current folder — with
OpenCode-style progress, host detection, and a runtime verification before it
reports success.
Fresh means: the spine only — runtime, company skills, OpenCode/Codex
adapters, empty .spielos/ state, opencode.json, AGENTS.md. Zero
departments, zero strategy content. Your company starts empty; the Director
onboards you and capabilities are added when goals need them:
spielos add outbound # install a built-in department
spielos add ./team.sdep # or your own exported bundle
spielos init --department seo # or vendor starters at scaffold time
Departments as products
Every department is one extractable folder: behavior (department.py),
workflows, evals, skills, templates, and tooling live together.
spielos department export outbound --out ./dist # portable .sdep bundle
spielos add ./outbound.sdep # install into a home
spielos add ./outbound.sdep --force # upgrade in place
spielos init --department outbound # scaffold with one starter department
Bundles carry a checksummed manifest plus the department's skills. They never carry strategy, assets, credentials, or run state.
First-class workers
Any workflow compiles into a bounded agent worker (no Director, no routing):
spielos agent compile outbound --workflow social-lead-research --name lead-researcher
Emits the OpenCode agent, Codex TOML, and roster entry from one WorkflowSpec. The worker runs only that workflow, produces only its declared evidence kinds, never edits files; approvals still park in the runtime.
Updating
pipx upgrade spielos # new CLI
spielos refresh # re-vendor spine + hosts into an existing home;
# preserves strategy/, assets/, departments/, .spielos/
Layout
company/ Python package: runtime spine, evals, connections, CLI
skills/ operator methods (director, department-runner, …)
departments/ LEGO SHELF — each folder is an extractable product
_shared/ cross-department contract + shared methods
<id>/skills/ department-owned methods
design/tools/ render/TTS tooling · design/tokens/ brand tokens
hosts/ adapter sources vendored into homes by init
tests/ → company/tests/ (in-package)
docs/ architecture notes
.spielos/ private runtime state (gitignored; exists only when this
checkout itself operates as a live company home)
Authority for architecture, vocabulary, pursuit semantics, safety rules, and
the owner doctrine: company/README.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spielos-6.2.6.tar.gz.
File metadata
- Download URL: spielos-6.2.6.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a35e91d17a4b66172471340f94c979ea9d1b5f8bd4ee5a6aafd8a7f60e9313a
|
|
| MD5 |
64f8fbb8a5a3a136873268b033a56d67
|
|
| BLAKE2b-256 |
97e7bf6cd780fb5d0bcdd44472688ebc1bf56451d2db8ff60ef89382c119c76b
|
Provenance
The following attestation bundles were made for spielos-6.2.6.tar.gz:
Publisher:
publish.yml on ShayanSpiel/SpielOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spielos-6.2.6.tar.gz -
Subject digest:
4a35e91d17a4b66172471340f94c979ea9d1b5f8bd4ee5a6aafd8a7f60e9313a - Sigstore transparency entry: 2591963730
- Sigstore integration time:
-
Permalink:
ShayanSpiel/SpielOS@a75db9275f358395d44a8128c0b9db67bb0ce58b -
Branch / Tag:
refs/tags/v6.2.6 - Owner: https://github.com/ShayanSpiel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a75db9275f358395d44a8128c0b9db67bb0ce58b -
Trigger Event:
push
-
Statement type:
File details
Details for the file spielos-6.2.6-py3-none-any.whl.
File metadata
- Download URL: spielos-6.2.6-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c34497f113e93dd70739b76082a220b56d50d3a3de4c1e902857ca570f23f3b
|
|
| MD5 |
95b66f3be8a57a2fb214c91737bbbdaa
|
|
| BLAKE2b-256 |
f0d13952e2eb21b847917a4d532bede89de3ce81415737436eebedfd7c93b766
|
Provenance
The following attestation bundles were made for spielos-6.2.6-py3-none-any.whl:
Publisher:
publish.yml on ShayanSpiel/SpielOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spielos-6.2.6-py3-none-any.whl -
Subject digest:
8c34497f113e93dd70739b76082a220b56d50d3a3de4c1e902857ca570f23f3b - Sigstore transparency entry: 2591964011
- Sigstore integration time:
-
Permalink:
ShayanSpiel/SpielOS@a75db9275f358395d44a8128c0b9db67bb0ce58b -
Branch / Tag:
refs/tags/v6.2.6 - Owner: https://github.com/ShayanSpiel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a75db9275f358395d44a8128c0b9db67bb0ce58b -
Trigger Event:
push
-
Statement type: