Project Automation and Configuration Engine - A Python CLI tool for bulk management of C# .NET project ecosystems
Project description
Project Automation and Configuration Engine
A Python CLI tool for bulk management of C# .NET project ecosystems — from single class libraries to complex multi-project hierarchies with MAUI applications.
Overview
PACE eliminates the repetitive, error-prone manual work of managing .NET project ecosystems at scale. Rather than shelling into each project directory to run dotnet commands, manage git state, or manually update build configurations, PACE provides a unified interface to interact with all of them at once.
It understands your project topology — respecting dependency order, project hierarchy, and configuration context — so you can express intent once and apply it across your entire repository graph.
Target project types
| Type | Description |
|---|---|
| Class libraries | Standalone or NuGet-published reusable packages |
| MAUI applications | Cross-platform apps with platform image and build assets |
| Dependency trees | Multi-library hierarchies with topological dependency ordering |
| Sample applications | Reference and demo apps accompanying library suites |
Design principles
Composability — individual commands can be piped, scripted, and combined into workflows.
Topology-awareness — multi-project operations always respect inter-project dependencies.
Transparency — every operation emits clear, structured output suitable for both human review and CI log parsing.
Reproducibility — configuration is declared in a manifest file that describes the project graph.
Installation
pip install pace-dotnet
Configuration
PACE is driven by a pace.toml manifest at your workspace root:
repodir = "/path/to/repositories"
nuget_cache_path = "/path/to/nuget/cache"
[[projects]]
name = "common-lib"
csproj_path = "common-lib/src/CommonLib/CommonLib.csproj"
repo_url = "https://github.com/org/common-lib"
depends_on = []
[[projects]]
name = "feature-module"
csproj_path = "feature-module/src/FeatureModule/FeatureModule.csproj"
repo_url = "https://github.com/org/feature-module"
depends_on = ["common-lib"]
[[build-props]]
name = "DevSolution"
datatype = "boolean"
default = true
Usage Examples
# Build all projects in dependency order
pace dotnet build
# Build projects starting from a specific project
pace --from ProjectName dotnet build
# Check git status across every repo
pace git status
# Run all unit tests and show a summary
pace test
# Format and verify code style
pace format --check
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pace_dotnet-0.1.4.tar.gz.
File metadata
- Download URL: pace_dotnet-0.1.4.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59506cf0424d82b2634967557d91b20d7af790dfa45851f60c4ef68f17745331
|
|
| MD5 |
ee148268b186a48f7fb03e0165ecea51
|
|
| BLAKE2b-256 |
f6b146683f219f07aeb705439bdb45cc0aaf0f7adea23a8e59279a5ab13943eb
|
File details
Details for the file pace_dotnet-0.1.4-py3-none-any.whl.
File metadata
- Download URL: pace_dotnet-0.1.4-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5070c8696bb9d79294899555bf5c34e5e6ed2afd80ab1ad84b7c482e74e010e
|
|
| MD5 |
1734bda7e4a32a1aa0dd3af7ae64078d
|
|
| BLAKE2b-256 |
d42ab052abdb4d8318c78a25d45b291bb099c754e92ceb392d2699c4eb2db30f
|