feat: project-orchestrator — engine@v0.1.0 submodule, PO config, fleet.toml registry, mgmt scripts, docs, Nix
The PO is itself a project using the agent-orchestrator harness (engine/ submodule pinned at v0.1.0). Adds: agents.toml (one persistent fleet-management agent) + prompts/; fleet.toml (the sole project<->harness<->ref registry) + docs/fleet-registry.md; scripts/ (fleet.py + create/start/stop/update-project.sh); docs/manage-projects.md + docs/bootstrap.md; flake.nix/.lock devShell (python311+tmux+git); README. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
41
flake.nix
Normal file
41
flake.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
description = "project-orchestrator — a project that uses the agent-orchestrator harness to manage a fleet of projects";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/50ab793786d9de88ee30ec4e4c24fb4236fc2674";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs }:
|
||||
let
|
||||
systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f nixpkgs.legacyPackages.${system});
|
||||
in
|
||||
{
|
||||
# Reproducible devShell for the PO. Everything the PO needs to run itself + drive the fleet:
|
||||
# - python311 : stdlib tomllib (>=3.11) — engine/agents.py and scripts/fleet.py import it
|
||||
# - tmux : the harness runs every agent/watchdog in tmux
|
||||
# - git : the engine submodule + create/update flows need git (incl. submodule support)
|
||||
# The agent CLI the PO agent uses (claude) is an external, non-Nix tool — install it per its
|
||||
# own docs and put it on PATH before `engine/agents.py up`.
|
||||
devShells = forAllSystems (pkgs: {
|
||||
default = pkgs.mkShell {
|
||||
packages = [
|
||||
pkgs.python311 # tomllib (>=3.11)
|
||||
pkgs.tmux # harness sessions + watchdog
|
||||
pkgs.git # engine submodule + project create/update flows
|
||||
pkgs.coreutils
|
||||
pkgs.bash
|
||||
];
|
||||
shellHook = ''
|
||||
echo "project-orchestrator devShell — $(python3 --version), $(tmux -V), $(git --version)"
|
||||
echo "try: python3 engine/agents.py status | python3 scripts/fleet.py status"
|
||||
'';
|
||||
};
|
||||
});
|
||||
|
||||
# `nix flake check` evaluates this — a cheap smoke that the devShell builds.
|
||||
checks = forAllSystems (pkgs: {
|
||||
devshell-builds = self.devShells.${pkgs.system}.default;
|
||||
});
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user