Skip to main content

Command-line tooling for personal operating system workflows, tools, and automation.

Project description

lifeos-cli

简体中文版

██╗     ██╗███████╗███████╗ ██████╗ ███████╗
██║     ██║██╔════╝██╔════╝██╔═══██╗██╔════╝
██║     ██║█████╗  █████╗  ██║   ██║███████╗
██║     ██║██╔══╝  ██╔══╝  ██║   ██║╚════██║
███████╗██║██║     ███████╗╚██████╔╝███████║
╚══════╝╚═╝╚═╝     ╚══════╝ ╚═════╝ ╚══════╝

lifeos-cli is a terminal-native LifeOS for people who want one structured system for intentions, plans, execution, reflection, and reality.

Why It Exists

Most personal systems fragment life into disconnected tools. Tasks live in one place, calendars in another, notes somewhere else, and actual time spent disappears into scattered logs.

That makes it unnecessarily hard to answer practical questions such as:

  • What did I intend to do?
  • What actually happened?
  • What did I spend time on?
  • Which routines are real versus aspirational?
  • Which people, projects, and priorities am I actually serving?

It gives structure to both sides of life:

  • intention: visions, tasks, habits, and planned events
  • reality: notes, timelogs, completed habit actions, and relationship records

The goal is not just storage, but one CLI interface for self-management, reflection, and automation.

Getting Started

Install or upgrade from PyPI:

uv tool install --upgrade lifeos-cli

Install PostgreSQL support only when you need it:

uv tool install --upgrade "lifeos-cli[postgres]"

Install the optional local Web API dependencies when you want browser or HTTP access backed by the same configured LifeOS database:

uv tool install --upgrade "lifeos-cli[web]"

lifeos-cli supports both SQLite and PostgreSQL.

  • SQLite is the low-friction option for local, single-user setups.
  • PostgreSQL remains the schema-capable backend for managed deployments.

Initialize your local setup:

lifeos init

For local-first use, lifeos init can bootstrap SQLite without requiring a separate database service. Use lifeos init --help for backend-specific defaults and examples.

You can run that step yourself, or ask an agent that can run terminal commands to do it for you.

See the available command surface:

lifeos --help

Start the local Web API server:

lifeos web serve

lifeos web serve does not install, build, or bundle the frontend workspace from PyPI. To serve a built checkout UI from the same process, build web/ and pass its output directory explicitly:

lifeos web serve --static-dir web/dist

If your configured database URL uses PostgreSQL, install or run with both optional extras:

uv run --extra web --extra postgres lifeos web serve

During frontend development, run the Vite app in web/ and proxy API requests to the local Web API:

cd web
npm install
npm run dev

Inspect and adjust runtime preferences:

lifeos config show
lifeos config set preferences.timezone America/Toronto
lifeos config set preferences.language zh-Hans

Common commands:

lifeos schedule show --date 2026-04-13
lifeos task list
lifeos note add "Capture today's key decisions"
lifeos timelog list --date 2026-04-13
lifeos finance tree-ensure-default --purpose balance

For complete CLI usage, workflows, and output conventions, see docs/cli.md.

Agent Use (Recommended)

Any agent runtime that can execute terminal commands and inspect command output can operate the same CLI. That includes Codex, OpenCode, Swival, Claude Code, Cursor, Gemini CLI, OpenClaw, or your own setup.

  • stable grammar: lifeos <resource> <action> [arguments] [options]
  • help-first command model, with --help as the primary command reference
  • identifier-driven discovery flows built around list and show
  • compact summary output for lists and labeled output for record detail views
  • entity-specific primary-key headers such as task_id, vision_id, and event_id

Current Scope

The current system already covers the core building blocks of a practical LifeOS:

  • notes
  • areas
  • tags
  • people
  • visions
  • tasks
  • habits and habit actions
  • events
  • timelogs
  • finance trees and snapshots

Cross-cutting capabilities:

  • a schedule read model that aggregates tasks, habit actions, and planned events into day and range views
  • recurring event expansion and recurring habit cadence support, including on-demand habit-action materialization
  • generic note associations across tasks, visions, events, people, timelogs, and tags
  • a unified finance tree and snapshot model for balance-sheet, cashflow, and custom financial records
  • persisted runtime configuration for database access plus preferences such as timezone, language, day boundary, week boundary, and vision experience defaults
  • localized CLI help and stable summary-table output for direct human use and agent consumption

Project Policies

License

This project is licensed under the Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lifeos_cli-0.17.0.tar.gz (486.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lifeos_cli-0.17.0-py3-none-any.whl (352.4 kB view details)

Uploaded Python 3

File details

Details for the file lifeos_cli-0.17.0.tar.gz.

File metadata

  • Download URL: lifeos_cli-0.17.0.tar.gz
  • Upload date:
  • Size: 486.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lifeos_cli-0.17.0.tar.gz
Algorithm Hash digest
SHA256 e6d7d2afb0d0e0f08dcdf1ece3c780fc08ba56a50a9409f7d44b812a4528cf58
MD5 e98674b1cb8e0f7a6f22730010f03024
BLAKE2b-256 9e0fc9c67d202f58324730c0aa6e399d4477d9af2189e350e0c339bac33fe076

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifeos_cli-0.17.0.tar.gz:

Publisher: publish.yml on liujuanjuan1984/lifeos-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lifeos_cli-0.17.0-py3-none-any.whl.

File metadata

  • Download URL: lifeos_cli-0.17.0-py3-none-any.whl
  • Upload date:
  • Size: 352.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lifeos_cli-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c0b15f4b4c7ec4652eff486e274f2d21f8b3a1c3eab172b6a14cf494cc87f06
MD5 c36a64c1773fcca1ec44234b0c7cc4a7
BLAKE2b-256 cc3beeca375956d6259bb7ed8e08bcdc37f455c14cf1618a592ac06dea3993e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifeos_cli-0.17.0-py3-none-any.whl:

Publisher: publish.yml on liujuanjuan1984/lifeos-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page