Skip to main content

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

Project description

lifeos-cli

lifeos-cli is the command-line package for building a personal operating system on top of PostgreSQL, async services, and incremental domain modules.

The project is currently focused on establishing a durable foundation instead of exposing every future LifeOS capability at once:

  • PostgreSQL-first persistence
  • Alembic-based schema evolution
  • async-only runtime service and data layers
  • a structured CLI grammar that can scale across domains
  • a first end-to-end notes slice

Current Focus

This branch intentionally keeps the domain surface narrow while the platform foundation settles. Today the primary delivered slice is:

  • local configuration bootstrap with lifeos init
  • database connectivity checks and migrations
  • note capture, listing, search, inspection, and batch editing
  • initial area, tag, people, vision, and task domain foundations
  • planned schedule event workflows
  • actual time-record timelog workflows
  • full habit and habit-action foundations with generated daily action records

Install

Install from PyPI with uv tool:

uv tool install lifeos-cli

Quick Start

  1. Initialize local configuration:

    lifeos init
    
  2. Add a note:

    lifeos note add "hello"
    
  3. List notes:

    lifeos note list
    
  4. Create an area, a vision, and a task:

    lifeos area add "Health"
    lifeos vision add "Launch lifeos-cli"
    lifeos task add "Draft release checklist" --vision-id <vision-id>
    
  5. Create an event and a timelog:

    lifeos event add "Doctor appointment" --start-time 2026-04-10T09:00:00-04:00
    lifeos timelog add "Deep work" --start-time 2026-04-10T13:00:00-04:00 --end-time 2026-04-10T14:30:00-04:00
    
  6. Create and inspect a habit:

    lifeos habit add "Daily Exercise" --start-date 2026-04-09 --duration-days 21
    lifeos habit list --with-stats
    lifeos habit-action list --action-date 2026-04-09
    
  7. Run a batch delete operation when needed:

    lifeos task batch delete --ids <task-id-1> <task-id-2>
    

For detailed CLI usage, command grammar, multiline note input, search, and batch operations, see docs/cli.md.

The public CLI only performs soft deletion. Permanent cleanup is intentionally kept out of the user-facing command tree and must be done through internal maintenance scripts.

Development

  1. Install uv.

  2. Sync the development environment:

    uv sync --all-extras
    
  3. Run the default validation entrypoint:

    bash ./scripts/doctor.sh
    

Tooling

  • pre-commit is used for local quality gates.
  • pip-audit is used for dependency vulnerability checks.
  • GitHub Actions validates pull requests, audits dependencies, and prepares release publishing on version tags.

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.3.0.tar.gz (174.0 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.3.0-py3-none-any.whl (111.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lifeos_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 174.0 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.3.0.tar.gz
Algorithm Hash digest
SHA256 121b5b3291cf396969943db0aad12ef1c906b568f1150d18028db0d0015f4d22
MD5 52b3f90edc38565f4c1efa8e95659c34
BLAKE2b-256 a66702c8f79d8f9868971ebfeff42ee84b12d425a73276999c227b757718970e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifeos_cli-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: lifeos_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 111.2 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa15f12ad195cdefcc6780acc8e6e8fd042a99519ccc71abbb79a88f31077c64
MD5 575c2428aba392b6abf04fb21b9ed660
BLAKE2b-256 01d72f5ed28eed9947795d542f5f1b6704b6c21d731c81388c51c5dff260a165

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifeos_cli-0.3.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