Metadata-Version: 2.4
Name: local-dev-composer
Version: 0.1.0
Summary: Orchestrate local microservice environments on Windows without Docker or WSL
Author: Sergii Bugera
Project-URL: Homepage, https://github.com/sbugera/local-dev-composer
Project-URL: Repository, https://github.com/sbugera/local-dev-composer
Project-URL: Issues, https://github.com/sbugera/local-dev-composer/issues
Keywords: microservices,local-development,developer-tools,process-manager,windows,devtools
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: rich>=13.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: psutil>=5.9.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"

# local-dev-composer (ldc)

Orchestrate local microservice environments on **Windows 11** without Docker, Podman, or WSL.

- Start a full service graph with one command
- Per-service environment isolation (same variable, different values per service)
- Dependency ordering — services start leaf-first, stop dependents-first
- Prerequisite checks with actionable fix hints (Java version, PATH commands, env vars, ports, folders)
- Live Rich terminal dashboard
- Groups — declare the minimum set of services per development scenario
- Survives restarts — reconciles live PIDs from `.ldc/state.json`

## Quick start

```bash
git clone https://github.com/sbugera/local-dev-composer.git
cd local-dev-composer
pip install -e .

cp composer.example.yml composer.yml
# edit composer.yml for your project

ldc doctor                     # check everything, get a numbered fix list
ldc clone                      # clone all repos
ldc check --fix                # verify and fix prerequisites
ldc install                    # run install commands
ldc up --group gateway-dev     # start minimum services for your task
```

## Daily use

```bash
ldc up --group gateway-dev     # start what you need
ldc status                     # service table with PIDs and health
ldc logs gateway -f            # follow a service log
ldc down                       # stop everything
```

## Documentation

| topic | description |
|-------|-------------|
| [Installation](docs/installation.md) | Setup, direct-script mode |
| [Configuration](docs/configuration.md) | Full `composer.yml` schema reference |
| [Commands](docs/commands.md) | All CLI commands with options |
| [Groups](docs/groups.md) | Named service sets, smart selection |
| [Environment](docs/environment.md) | Per-service env isolation, `.env` files |
| [Prerequisites](docs/prerequisites.md) | Runtime/command/folder/port checks |
| [Health Checks](docs/health-checks.md) | HTTP, TCP, command, process types |
| [State & Logs](docs/state-and-logs.md) | `.ldc/state.json`, log files, clearing state |
| [Architecture](docs/architecture.md) | Hexagonal design, layers, extending ldc |
| [Testing](docs/testing.md) | Running tests, writing new ones |

## Requirements

- Python 3.9+
- Git for Windows
- Windows 11
- No Docker, no WSL
