Skip to main content

Development Engine Vector — internal developer workflow CLI.

Project description

Development Engine Vector

Python Version PyPI License: MIT

Development Engine Vector (dev) is the developer workflow coordination CLI for goCosmix systems. It provides a consistent, scriptable interface for preflight checks, version management, changelog automation, release orchestration, and git/GitHub operations — usable across every system in the federation.

dev is designed to be pointed at any goCosmix project directory and immediately useful: it reads project config, validates state, manages versions, and drives releases — without knowing anything specific about what the project does.

✨ Key Capabilities

  • Preflight checks: version file, changelog entry, git state, dirty tree, sensitive files, pyproject sync
  • CDA-aware preflight: extended checks for vscode-ark-specific pipeline and daemon health
  • Version management: read, bump (major/minor/patch), sync to pyproject.toml and all tracked files
  • Changelog automation: structured CHANGELOG management with version section creation and entry validation
  • Release orchestration: full release workflow — preflight → version sync → build → git tag → publish
  • Project bootstrap: install editable package, requirements, and dev dependencies in one command
  • Git/GitHub ops: ensure remotes, create GitHub repos via API, push branches
  • Self-check: engine health validation — install path, DB state, tool dependencies, version consistency
  • Config-driven: per-project .dev-cli.toml for default bump level, skip flags, dry-run mode

📋 Table of Contents

🚀 Installation

Prerequisites

  • Python 3.9+

Install from PyPI

pip install dev-cli

macOS / system Python note: pip installs the dev binary to ~/Library/Python/3.x/bin/ which may not be on PATH by default.

export PATH="$HOME/Library/Python/3.9/bin:$PATH"

Add this line to ~/.zprofile for persistence.

Install from source

git clone https://github.com/goCosmix/dev.git
cd dev/source
pip install -e .

Install development dependencies

pip install -e ".[dev]"

⚡ Quick Start

pip install dev-cli
export PATH="$HOME/Library/Python/3.9/bin:$PATH"

# Point at any goCosmix project
dev pf --project /Volumes/intel/systems/cda/source     # preflight check
dev version show --project /Volumes/intel/systems/cda/source
dev release --project /Volumes/intel/systems/cda/source --dry-run

🔧 CLI Reference

dev pf / dev preflight

Run pre-release preflight checks for a project.

dev pf --project <path>           # standard checks
dev pf --project <path> --full    # full check set (includes CDA-specific)
dev pf --project <path> --report report.json

Checks run: version file, changelog entry, git state (clean tree, committed), sensitive file exposure, pyproject.toml version sync.

dev version

dev version show   --project <path>              # print current version
dev version bump   --project <path> --level patch  # bump major/minor/patch
dev version sync   --project <path>              # sync version → pyproject.toml

dev release

Full release workflow: preflight → version bump → sync → build → git tag → publish.

dev release --project <path>
dev release --project <path> --bump minor
dev release --project <path> --version 2.1.0
dev release --project <path> --skip-publish     # build + tag, don't push to PyPI
dev release --project <path> --dry-run          # simulate, no writes

dev build

Build source and wheel distributions.

dev build --project <path>

dev sync

Bootstrap or re-sync project dependencies.

dev sync --project <path>
dev sync --project <path> --install-dev         # also install dev dependencies
dev sync --project <path> --no-install-editable # skip editable install

dev check

Project health checks: compile validation, lint, optional pytest.

dev check --project <path>
dev check --project <path> --tests              # include pytest
dev check --project <path> --lint               # include flake8
dev check --project <path> --compile            # Python compile check

dev selfcheck

Engine self-diagnostics — validates the dev installation itself.

dev selfcheck

Checks: version consistency, install path, DB state, required tools on PATH, Python dependencies.

dev config

dev config show --project <path>    # display active config and resolved settings

⚙️ Configuration

Add a .dev-cli.toml or dev-cli.toml at any project root:

[release]
default_bump = "minor"
skip_build = false
skip_publish = false
dry_run = false

[bootstrap]
install_editable = true
install_dependencies = true
install_dev_dependencies = false

[check]
compile = true
tests = false
lint = false

Override the config file path at runtime:

dev --config ./custom.dev-cli.toml release --project /Volumes/intel/systems/cda/source

🏗 Architecture

dev is organized into four layers:

dev/
├── kernel/       — runtime foundation (paths, DB, config, self-check)
├── workflow/     — business logic (versioning, changelog, preflight, release)
├── vcs/          — version control ops (git, GitHub API)
└── cli/          — thin click wrappers

See docs/architecture.md for the full design.

🛠 Development

cd /Volumes/intel/systems/dev/source
pip install -e .
export PATH="$HOME/Library/Python/3.9/bin:$PATH"

# Run checks
python3 -m flake8 dev/
python3 -m mypy dev/
python3 -m pytest tests/ -q

# Or via the control plane
python3 ../control/scripts/vet.py
python3 ../control/cli.py health

Control plane

python3 control/cli.py --help

dev-control status        # version, paths, DB state
dev-control vet           # run lint + typecheck + tests, write history to DB
dev-control health        # show vet run history
dev-control health --checks  # list defined check definitions
dev-control push          # build + publish to PyPI
dev-control seed          # re-seed control.db
dev-control selfcheck     # engine self-diagnostics
dev-control runs          # show run history from dev.db
dev-control projects      # show registered projects
dev-control manifest      # query file manifest from control.db

🤝 Contributing

See contributing.md.

📄 License

MIT — 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

development_engine_vector-0.3.0.tar.gz (48.2 kB view details)

Uploaded Source

Built Distribution

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

development_engine_vector-0.3.0-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for development_engine_vector-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2b13f4bf92c67bea023429c18518738536e96c56c7daeea3340d80fc1375f988
MD5 98fe93b2566fcf94d3d2aab9367ee77e
BLAKE2b-256 da8585029db8c272f54d63a10804f7c9f6bfd5fa3202a3d568acae2439c66a9d

See more details on using hashes here.

File details

Details for the file development_engine_vector-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for development_engine_vector-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d4748acefd684f7f72b9248988da54b2ca1644885b241b570e0a6203c27355a
MD5 4358ab5a60749cd6d6f7dbeddb61de74
BLAKE2b-256 c5e3ed3754afbb44f7de28dec27a7958620edcc1e1f302fd112c8fcaa89a3928

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