Skip to main content

Local-first project convergence layer — scan all your projects, see what needs attention, and bridge data between them.

Project description

Project Orbit

Never lose track of your projects again.

Project Orbit is a local-first system that scans all your projects, tracks their state, surfaces what needs attention, and bridges data between them. It's your autonomous project convergence layer — built because its author had 12+ side projects and couldn't keep track of them all.

pip install project-orbit
cd ~/your-projects
orbit init
orbit scan        # Inventory everything
orbit dashboard   # Open the command center
orbit run         # Autonomous allocator cycle

Why?

If you have more than 3 projects, you've felt this:

  • Projects go cold for weeks because you forgot about them
  • Data should flow between systems but doesn't
  • When something breaks, you discover it days later
  • Every session starts with "what was I working on?"

Project Orbit watches everything, surfaces what needs attention, and bridges data between projects. It doesn't decide what to build — it tells you what's drifting and lets you (or the allocator) act.


Installation

pip install project-orbit

Quick Start

1. Initialize in your projects directory

cd ~/code
orbit init

This creates orbit.json with default settings.

2. Scan everything

orbit scan

Output:

Scanning 12 projects...
  ✓ trading-system (Python, 142 files)
  ✓ web-app (Node.js, 89 files)
  ✓ blog (Python, 23 files)
  ✓ api-server (Go, 45 files)
  ✓ docs (Markdown, 67 files)

3. See what needs attention

orbit priority

Output:

Priority Queue:
  1. trading-system (32/100) — stale for 3d, 4 uncommitted files
  2. blog (20/100) — stale for 14d
  3. api-server (15/100) — 2 failing tests

Next action: trading-system — git status shows uncommitted work

4. Open the command center

orbit dashboard

Generates orbit_dashboard.html — a single HTML file with all project state, prioritized by need.

5. Run the autonomous allocator

orbit run

Runs scan → priority → bridges → advances the top-priority project. Add to cron for fully autonomous operation:

# Every 30 minutes during work hours
*/30 9-18 * * 1-5 cd ~/code && orbit run

How It Works

Project Orbit has four layers:

Scanner

Walks your projects directory, identifies project roots (git repos, Python packages, Node.js packages), and extracts:

  • File counts and types
  • Git status (stale, clean, dirty)
  • Last activity timestamp
  • Test results
  • Dependencies

Priority Engine

Scores each project 0–100 on need for attention. Factors:

  • Days since last commit (older = higher priority, caps at 14 days)
  • Uncommitted changes
  • Failing tests
  • Dependency drift (outdated packages)

Bridges

Cross-project data flows. Built-in bridges:

  • Git history scanning
  • Dependency drift detection
  • Staleness alerts

Allocator

The decision engine. Runs scanner → priority → bridges, then picks the #1 priority project and advances it. Logs all decisions.


Configuration (orbit.json)

{
  "projects_dir": ".",
  "ignore_patterns": ["node_modules", "__pycache__", ".git", "venv"],
  "staleness_days": 7,
  "hooks": {
    "before_scan": "./scripts/pre-scan.sh",
    "after_priority": "./scripts/notify.sh"
  },
  "bridges": {
    "git_health": true,
    "dependency_check": true
  }
}

Commands

Command Description
orbit init Create orbit.json in the current directory
orbit scan Scan all projects and write state
orbit priority Calculate and display priority queue
orbit dashboard Generate HTML command center
orbit run Full allocator cycle (scan → priority → act)
orbit status Quick summary of all projects

What It Is Not

Project Orbit is not a build system, CI/CD pipeline, or project management tool. It doesn't create tasks, assign work, or manage deadlines. It simply tells you what's happening across all your projects and surfaces what needs attention — so you can focus on building instead of context-switching.


License

MIT

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

project_orbit-0.1.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file project_orbit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: project_orbit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for project_orbit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63abe22da619c91c27e191e399ef8af0df46b3ca354637db2d1d5ea71228afdc
MD5 1c9e9e8436d7b4a0052ba5756f47c089
BLAKE2b-256 1d57d79f99ca358d16af8af8ee1b6a76e2ea0c77603cd92d676db7c1c0d226bf

See more details on using hashes here.

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