Assistant: .NET + Library Incubator¶
This assistant researches relevant .NET and software engineering changes, proposes new library ideas for ConnectSoft, and can scaffold/build/test a new library using ConnectSoft.LibraryTemplate in a temp workspace.
Primary use cases¶
- Track latest .NET features and ecosystem shifts that matter for ConnectSoft.
- Propose new reusable libraries (ConnectSoft.Extensions.* style) with an actionable scope.
- Scaffold a library from
ConnectSoft.LibraryTemplate, build/test/pack it, and report outputs.
Inputs and context sources¶
ConnectSoft repos (local clones)¶
Minimum:
ConnectSoft.CompanyDocumentationConnectSoft.LibraryTemplate
Canonical template commands¶
From ConnectSoft.LibraryTemplate docs, the baseline flow is:
- install template:
dotnet new install . - scaffold:
dotnet new connectsoft-library -n <Name> ... - build/test/pack:
dotnet build,dotnet test,dotnet pack -c Release
Execution model (remote workstation)¶
Workspace boundaries¶
All work happens under a bounded workspace root:
C:\\OpenClaw\\workspaces\\connectsoft\\repos\\(git clones)C:\\OpenClaw\\workspaces\\connectsoft\\runs\\<runId>\\(generated outputs)
The assistant must refuse to write outside these directories.
Output location (must be explicit)¶
Every run must end with:
- output folder path
- git SHAs of repos used for context
- commands executed
- artifact paths (
.nupkg, test results) if created
Interaction protocol (ask you in-channel)¶
The assistant should ask only the minimum blocking questions, for example:
- library name and namespace prefix
- target framework(s) to scaffold (e.g.,
net8.0,net9.0) - which template features to include (options/metrics/activity source)
- whether to run
pack
Important
The assistant must not publish packages or push commits unless you explicitly ask.
Standard workflow¶
1) Research and shortlist¶
Deliver a concise list of changes with ConnectSoft impact:
- feature or library trend
- why it matters (performance, observability, DX, security)
- recommended adoption posture (now / later / avoid)
2) Propose candidate libraries¶
For each candidate:
- proposed package name (
ConnectSoft.Extensions.<Area>) - problem statement + scope boundaries
- public API sketch (interfaces/options/DI extensions)
- template flags to use
- acceptance checklist (build/test/pack + minimal usage snippet)
3) Scaffold in a temp run folder¶
- Ensure template is installed (from local source, or from feed if allowed).
- Scaffold into
...\\runs\\<runId>\\<LibraryName>\\.
4) Build + test + pack¶
dotnet buildon the generated solutiondotnet test(include coverage if standard)dotnet pack -c Release(if requested)
5) Report outputs¶
Summarize:\n\n- what was created\n- where it is on disk\n- build/test results\n- next steps for hardening (docs, analyzers, CI)
Guardrails¶
- No secrets.
- No network calls except approved doc sources and Azure DevOps remotes.
- No modifications to existing repos unless explicitly requested.
- No publishing/pushing without approval.
Runbook (end-to-end)¶
This is the standard “happy path” run.
0) Preconditions¶
- OpenClaw gateway is healthy (
openclaw gateway status). - Repo allowlist synced and pinned to SHAs.
- Semantic index built and refreshed.
1) Research updates (external + internal)¶
The assistant should:\n\n- scan official .NET release notes/blog + a small curated set of engineering sources\n- cross-check against ConnectSoft principles (Clean Architecture, observability, multi-tenant SaaS)\n- produce a short “what changed” list with ConnectSoft impact\n+
2) Propose libraries (short backlog)¶
For each proposed library, include:\n\n- package name\n- scope boundaries\n- target framework(s)\n- public API sketch\n- dependencies/analyzers\n- acceptance checklist\n+
3) Ask for decisions (minimal)¶
Ask only for the blockers:
- “Which library should I scaffold now?”
- “Which TFMs and template flags?”
- “Run
pack?”
4) Scaffold and build in a run folder¶
The assistant creates a new run directory:
C:\\OpenClaw\\workspaces\\connectsoft\\runs\\<runId>\\
Then scaffolds and builds there.
5) Final report format (must follow)¶
End the run with a report containing:
- Output path:
C:\\...\\runs\\<runId>\\... - Repos and SHAs used for context:
ConnectSoft.CompanyDocumentation:<sha>ConnectSoft.LibraryTemplate:<sha>- Commands executed (copy/paste-able)
- Build/test/pack results and artifact paths