Office — CLI to manage sittings and meeting rooms in office maps.
Project description
office
Agent-first CLI for managing seat assignments and meeting rooms across
office floor plans. Floor layouts are hand-traced SVGs; people come from
BambooHR; assignments live in a Google Sheet (v1) or DynamoDB (v2). The
CLI exposes the same operations as the Slack /whereis command and the
web map.
Status — v0.1.0. Stage 1 of the v1 seating system is in: floor SVG parser/validator, CSV-backed assignment store with append-only audit log, and CLI verbs (
floors,seats,whereis). Google Sheets, BambooHR, Slack/whereis, and the web map land in later stages on top of the sameoffice_cli.seatsservice. See issue #1.
Naming surfaces
office uses three different identifiers across packaging surfaces. Mind
the split — do not blanket-replace one token across the codebase.
| Surface | Value |
|---|---|
| GitHub repo | agentculture/office-agent |
| PyPI distribution | office-cli |
| Python package | office_cli |
| CLI binary | office |
| Error class prefix | Office |
Install
uv tool install office-cli
office --version
Use
office learn # self-teaching prompt
office explain seats # markdown docs for any verb
office whoami --json # auth probe (stub)
# v0.1.0 seating verbs:
office floors list --json
office floors validate floors/tlv-floor-5.svg
office seats list --vacant
office seats assign 5-T-01 alice@example.com
office seats move alice@example.com 5-T-02
office seats history 5-T-01 --json
office whereis alice@example.com
office reads data/offices.yaml, floors/, and seats/ from the
current working directory. Override with --data-dir DIR or
OFFICE_DATA_DIR=DIR.
Adding a new floor
- Trace the floor in Inkscape following
docs/tracing-guide.mdand the SVG ID contract inCLAUDE.md. Save as Plain SVG. - Drop the SVG into
floors/as<office>-floor-<N>.svg. - Add an entry to
data/offices.yamlwith cluster capacities and any named rooms. - Verify:
office floors validate floors/<file>.svg. Errors fail the command; warnings (e.g. cluster-capacity mismatches) are informational.
Develop
uv sync
uv run pytest -n auto -v
uv run office --version
uv run python -m office_cli
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
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 office_cli-0.1.0.tar.gz.
File metadata
- Download URL: office_cli-0.1.0.tar.gz
- Upload date:
- Size: 82.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ac9371531ff9dfd5418583a77c108a1a4591e3e7345a472c9cccbd2fda44901
|
|
| MD5 |
5a6eca4d7f735fc85c836fd4cd8df9c9
|
|
| BLAKE2b-256 |
82c519ad082da1ab1495437660155a7399bb1bba642d5ace1daa41ddc383d059
|
File details
Details for the file office_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: office_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14bbc274e93371e78784a1cf03c9861880612b7b96e110d268eec67e3ce9e87a
|
|
| MD5 |
e700b0baf6dc183f46a64185fd180e70
|
|
| BLAKE2b-256 |
453f8be9a08677a9a92a34e506bc837aa9eba56b3ea348fb94837d5c335527e4
|