You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs: Write agent guidance for IssueTracker - #146
Replaces two sets of guidance that didn't describe this repo: the Copilot-era instructions, which described a "TailwindBlogApp" solution, and the files copied from atelier-store, which describe a storefront.
New
CLAUDE.md at the root covers:
the layers and how they connect (the UI calls services only; Extensions/ is the composition root)
build, run and test commands, and why the SDK is pinned to 10.0.3xx
test conventions and code style
the branch → PR → auto-merge → release workflow
.github/skills/code-review: review checks specific to IssueTracker (layering, the IMemoryCache invalidation, model/fake/repository drift, [Authorize] policies, -warnaserror, workflow rules).
blog.instructions.md: front matter for the generated posts in docs/blogs/.
Rewritten for IssueTracker
blazor.instructions.md (Blazor Server via _Host.cshtml, code-behind, @inject, Radzen + Bootstrap, Azure AD B2C, DTO-bound forms), dotnet-project.instructions.md, and git-commit-instructions.md (IssueTracker scopes and examples, fixed code fences).
copilot-instructions.md (both copies), all 14 prompts, and 9 skills written for other repos. That includes bunit-test-migration, which targets bUnit's 1.0 beta API; IssueTracker never used it. The TestContext → BunitContext migration will get its own guidance.
Kept:mongo-dba.instructions.md (long line wrapped).
markdownlint now covers .github/ too; the temporary ignores from #140 are gone.
Checked against the code
While writing this I checked each claim against the code, and corrected these:
Services cache in IMemoryCache, not Redis.
Architecture.Tests only enforces part of the layering; the rest is convention.
The UI project references PlugIns for two things: DI registration in Extensions/, and the MongoDB health probe in Helpers/MongoHealthCheck.cs.
Validation
markdownlint-cli2 over the whole repo: 0 issues
Pre-push scripts/gate.sh: lint, build and all test projects pass
--filter "FullyQualifiedName~…" syntax in the instructions verified with a real run
The Copilot-era guidance described another solution (TailwindBlogApp),
and the files copied from atelier-store described a storefront. This
replaces both with guidance that matches IssueTracker:
- New root CLAUDE.md: layers, how they connect, build/test commands,
test conventions, code style, and the branch/PR/release workflow.
- Blazor, .NET, Markdown and commit instructions rewritten for the
Blazor Server UI, Radzen, Azure AD B2C, MongoDB and xUnit/bUnit.
Markdown now uses one H1 title per file, matching MD041.
- A code-review skill for this repo; the blog post front-matter rules.
- Removed: the stale Copilot instructions, 14 prompts, and 9 skills
written for other repos (including bunit-test-migration, which
targets bUnit's beta API that IssueTracker never used).
- markdownlint now covers .github/ too; mongo-dba.instructions.md kept.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- JS interop: event handlers may call it; only first-load interop
waits for OnAfterRenderAsync.
- Name MongoHealthCheck as the second UI use of PlugIns.
- Describe cache invalidation as a rule, noting StatusService's gap.
- Only PRs without [skip-release] get a release.
- Blog front matter includes microsoft_alias; skill files keep their
name/description front matter.
- The CS0067 NoWarn has its own removal condition.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Distinguish form validation from inline grid editing
.github/instructions/blazor.instructions.md:34
This says all forms bind UI DTOs, but Pages/Categories.razor:21-42 and Pages/Statuses.razor:21-42 edit model rows in RadzenDataGrid without EditForm. Distinguish issue/comment create forms from inline grid editing in the data and validation guidance; otherwise agents may replace working admin-grid editors with an incompatible form pattern.
Clarify which AppHost dependencies architecture tests verify
CLAUDE.md:21
tests/Architecture.Tests/ArchitectureTests.cs:10-36 checks AppHost's outgoing dependencies and whether UI depends on AppHost; it does not check whether Services or PlugIns reference AppHost. Saying the tests ensure "nothing references AppHost" gives reviewers false confidence in that boundary. List the dependencies these tests actually check, and leave the rest as convention.
Align contributor branch guidance with main-targeted workflow
CLAUDE.md:73
Targeting main is consistent with .github/workflows/pr-automerge.yml:17-19, but docs/CONTRIBUTING.md:91,98 still directs contributors to branch from and open PRs against develop. A contributor following that guide will use the wrong base and miss the main-targeted merge workflow. Update the contributor guide to match this new workflow guidance.
* docs: add release blog for PR #146 [skip-release]
* docs: Name both UI uses of PlugIns in the #146 post [skip-release]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
- Each PR merged to `main` gets a release (patch by default; label `semver:minor` or `semver:major` to bump more) and
a follow-up PR with its blog post under `docs/blogs/`. PRs with `[skip-release]` in the title, such as those blog
PRs and metrics refreshes, don't release.
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
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
Replaces two sets of guidance that didn't describe this repo: the Copilot-era instructions, which described a "TailwindBlogApp" solution, and the files copied from atelier-store, which describe a storefront.
New
CLAUDE.mdat the root covers:Extensions/is the composition root).github/skills/code-review: review checks specific to IssueTracker (layering, theIMemoryCacheinvalidation, model/fake/repository drift,[Authorize]policies,-warnaserror, workflow rules).blog.instructions.md: front matter for the generated posts indocs/blogs/.Rewritten for IssueTracker
blazor.instructions.md(Blazor Server via_Host.cshtml, code-behind,@inject, Radzen + Bootstrap, Azure AD B2C, DTO-bound forms),dotnet-project.instructions.md, andgit-commit-instructions.md(IssueTracker scopes and examples, fixed code fences).markdown.instructions.mdnow uses one H1 title per file, resolving the MD041 conflict Copilot flagged on ci: Adopt atelier-store's CI, release and lint setup #140.Removed
copilot-instructions.md(both copies), all 14 prompts, and 9 skills written for other repos. That includesbunit-test-migration, which targets bUnit's 1.0 beta API; IssueTracker never used it. TheTestContext→BunitContextmigration will get its own guidance.Kept:
mongo-dba.instructions.md(long line wrapped).markdownlint now covers
.github/too; the temporary ignores from #140 are gone.Checked against the code
While writing this I checked each claim against the code, and corrected these:
IMemoryCache, not Redis.Architecture.Testsonly enforces part of the layering; the rest is convention.Extensions/, and the MongoDB health probe inHelpers/MongoHealthCheck.cs.Validation
scripts/gate.sh: lint, build and all test projects pass--filter "FullyQualifiedName~…"syntax in the instructions verified with a real run🤖 Generated with Claude Code