Skip to content

Add mskit-manager scaffold and infrastructure - #10

Merged
vfofanov merged 5 commits into
mainfrom
feat/manager-s1
Oct 6, 2026
Merged

vfofanov merged 5 commits into
mainfrom
feat/manager-s1

Conversation

@vfofanov

@vfofanov vfofanov commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

First slice of mskit-manager (the DragoAnt.MSBuildKit.Manager .NET tool): scaffold and infrastructure.

  • manager/: solution, CPM, Directory.Version.props (0.3.0), global.json with the MTP runner, net8.0;net10.0, RollForward=Major, ToolCommandName=mskit-manager
  • manager/.toolkit/: the working-tree kit installed with update.sh --source kit --root manager (committed; a later slice migrates it to .mskit with the tool)
  • Host, logging and process infrastructure ported and cleaned; one command, status [--json], prints the tool version
  • Logo on stderr only, on a terminal and without --no-logo; usage errors exit 2
  • Log per run under <temp>/mskit-manager/logs/, named after the parsed command, newest 20 kept
  • CI job manager (ubuntu + windows): build, test on MTP with a 70 % gate, pack 0.0.0-ci.<run>, install into a tool path, run --help and status --json
Tests

50 tests × 2 TFMs, written first and seen failing (100/100 red), then green. Toggling the logo to stdout, the log name to a fixed value, or the cross-drive check off each turns exactly its test red. Line coverage 87 %.

- manager/ holds the mskit-manager solution: CPM, version, global.json
  with the MTP runner, net8.0 + net10.0, a stub tool project and its
  test project
- the kit is installed from the working tree with update.sh into
  manager/.toolkit and committed, so the manager builds against a
  fixed kit
- logo stays off stdout, honours --no-logo and a redirected stderr
- status --json parses and carries the tool version
- log file named after the parsed command, newest 20 kept
- process-runner exit descriptions, path containment, DI registrar
- every test fails: the API exists, the bodies throw
- Program split into Program + Cli/Logo + Cli/GlobalOptions; the logo
  goes to stderr, only on a terminal and without --no-logo
- status [--json] prints the tool version; usage errors exit 2
- LogSession: one CompactJson file per run under the system temp
  folder, named after the parsed command, newest 20 kept
- ProcessRunner, PathUtils, the DI type registrar ported; a path on
  another drive is no longer reported as under the root
- new job manager on ubuntu and windows: build, test on MTP from
  manager/ with a 70 % line-coverage gate, pack the tool as
  0.0.0-ci.<run>, install it into a tool path, run --help and
  status --json
- the tool ships English resources only
- CHANGELOG and CONTRIBUTING describe manager/
@vfofanov
vfofanov marked this pull request as ready for review October 6, 2026 06:19
@vfofanov
vfofanov merged commit 121ca8a into main Oct 6, 2026
4 checks passed
@vfofanov
vfofanov deleted the feat/manager-s1 branch October 6, 2026 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant