chore: add Claude Code project scaffolding#3
Merged
Conversation
Adds CLAUDE.md (project overview, solution layout, build commands, conventions) and .claude/settings.json (shared permission allowlist for safe dotnet/build.ps1/git/gh reads, denies destructive ops). Ignores .claude/settings.local.json and credentials so teammates keep personal overrides local while sharing the project-level config. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ChrisonSimtian
added a commit
that referenced
this pull request
Jun 3, 2026
Host.Default now probes an overridable Host.IsActive member instead of
reflecting for the magic-string IsRunning{TypeName} static. The default
IsActive falls back to that legacy convention, so all existing hosts work
unchanged; new adapters override IsActive directly (no static, no name match).
Host ctors are side-effect-free, so construct-then-probe is cheap and the
active host (constructed last) remains Host.Instance.
Covers ADR-0005 #3. Tests exercise both the override and fallback paths.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ChrisonSimtian
added a commit
that referenced
this pull request
Jun 3, 2026
First adapter built on the finished ADR-0005 seam, proving it generalizes:
- Runtime host overrides Host.IsActive (no IsRunning{Name} static — first user
of the #3 detection style) and implements both ports (IBuildHost context via
GitHub-compatible GITHUB_* vars; IBuildReporter reporting).
- Config generation composes the GitHub config model + a shared WorkflowCommands
helper for the ::cmd:: dialect, rather than inheriting GitHubActionsAttribute
(which is blocked anyway by ConfigurationAttributeBase.Build's internal set).
Common-case scaffold; full parity needs the GH model-builder extracted.
- Detection (FORGEJO_ACTIONS) is a naive guess pending the live instance.
Tests assert both ports, the IsActive detection path, and non-inheritance from
the GitHubActions adapter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the baseline Claude Code project scaffolding so the repo is ready to be AI-driven from day one of the takeover.
CLAUDE.md— project overview, solution layout, build commands, GitFlow notes, tool-wrapper conventions, "what not to do" guardrails. Authored against the current state (10.1.0); will evolve as we shift to trunk-based and the enterprise direction..claude/settings.json— shared permission allowlist for safedotnet/build.ps1/git/ghreads, denies destructive ops (force-push, hard reset, rm -rf)..gitignore— ignores.claude/settings.local.json& credentials so teammates can keep personal Claude overrides local while sharing the project-level config.Test plan
.claude/settings.jsonparses (used live this session)🤖 Generated with Claude Code