AtOffice Shell is a polished open-source Python CLI that combines jokes, todos, alarms, world clocks, and a productivity-focused terminal shell.
- Unified CLI:
atoffice-shellstarts a single interactive shell for jokes, todos, and ChronoTerm. - Todo manager: add, update, complete, and list tasks with an SQLite-backed store.
- ChronoTerm utilities: current time, world clock, timezones, alarms, and stopwatch.
- Configurable settings: change clock style, time template, joke character, and sound.
- Platform-safe storage: app data and state are stored in user-specific directories.
- UV-first install:
uv tool install git+https://github.com/AkshajSinghal/at-office-shell
uv tool install git+https://github.com/AkshajSinghal/at-office-shellpython -m pip install git+https://github.com/AkshajSinghal/at-office-shellatoffice-shellInside the app, try:
joke
showtasks
addtask "Review PR" "Work"
time
world
settings
atoffice-shell— start the interactive shellatoffice-shell version— show the installed versionatoffice-shell joke— tell a joke with ASCII artatoffice-shell joke-trex— tell a T-Rex jokeatoffice-shell addtask <task> <category>— add a todoatoffice-shell deletetask <position>— delete a todoatoffice-shell updatetask <position> [task] [category]— update a todoatoffice-shell completetask <position>— mark a todo doneatoffice-shell showtasks— list all todosatoffice-shell settings— configure clock and joke preferencesatoffice-shell now— show the current local timeatoffice-shell time— show ASCII clock outputatoffice-shell world— show favorite world timezonesatoffice-shell tz list|add|remove— manage saved zonesatoffice-shell alarm list|add|remove— manage alarmsatoffice-shell sw show|start|pause|lap|reset— control stopwatch
atoffice-shell addtask "Finish README" "Documentation"
atoffice-shell showtasks
atoffice-shell tz add Europe/London
atoffice-shell alarm add "07:30" --label "Morning"The package is organized into a single installable Python package:
atoffice_shell/cli.py— CLI entrypoint and command routingatoffice_shell/project.py— interactive shell logicatoffice_shell/pyfunny.py— joke commands and sound handlingatoffice_shell/todocli.py— todo command implementationsatoffice_shell/database.py— SQLite storage in the user data directoryatoffice_shell/settings.py— platform-safe settings manageratoffice_shell/chronoterm/— time, timezone, alarm, and stopwatch features
Contributions are welcome! Please read CONTRIBUTING.md before opening an issue or pull request.
- Add more sound and joke options
- Improve shell prompts and command history
- Add serialization tests for state and data storage
- Expand support for cross-platform audio playback
Apache 2.0. See LICENSE for details.
