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
Copy file name to clipboardExpand all lines: README.md
+30-6Lines changed: 30 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,6 +116,7 @@ For example, a typical .NET repo baseline can install `mcaf-dotnet` as the entry
116
116
In that setup, `mcaf-dotnet` knows when to open the more specific .NET skills, the repo-root lowercase `.editorconfig` is the default source of truth for formatting and analyzer severity, and `AGENTS.md` records the exact `dotnet build`, `dotnet test`, `dotnet format`, `analyze`, and coverage commands. Nested `.editorconfig` files are allowed when they serve a clear subtree-specific purpose, such as stricter domain rules, generated-code handling, test-specific conventions, or legacy-code containment.
117
117
For .NET code changes, the task is not done when tests are green if the repo also configured formatters, analyzers, coverage, architecture tests, or security gates. Agents should run the repo-defined post-change quality pass before completion.
118
118
If the repo standardizes on concrete tools, install the matching tool skills as well. Typical open or free .NET additions include `mcaf-dotnet-format`, `mcaf-dotnet-code-analysis`, `mcaf-dotnet-analyzer-config`, `mcaf-dotnet-stylecop-analyzers`, `mcaf-dotnet-roslynator`, `mcaf-dotnet-meziantou-analyzer`, `mcaf-dotnet-cloc`, `mcaf-dotnet-coverlet`, `mcaf-dotnet-profiling`, `mcaf-dotnet-quickdup`, `mcaf-dotnet-reportgenerator`, `mcaf-dotnet-resharper-clt`, `mcaf-dotnet-stryker`, `mcaf-dotnet-netarchtest`, `mcaf-dotnet-archunitnet`, and `mcaf-dotnet-csharpier`. `mcaf-dotnet-codeql` stays available, but should be chosen only when its hosting and licensing model fits the repository.
119
+
Every `mcaf-dotnet*` tool skill should include a `Bootstrap When Missing` section so agents can detect, install, verify, and first-run the tool without guessing.
119
120
120
121
### 2.5 Context Rules
121
122
@@ -148,21 +149,24 @@ The goal is enough automated evidence to trust the change.
148
149
### 3.2 Verification Rules
149
150
150
151
- Prefer TDD for new behaviour and bug fixes: start with a failing test, make it pass, then refactor.
151
-
- New or changed behaviour is proven by automated tests.
152
+
- New or changed behaviour is proven by new or updated automated tests.
152
153
- Tests prove user-visible or caller-visible flows, not just isolated implementation detail.
154
+
- Tests cover positive, negative, edge, and unexpected flows when the behaviour can fail in different ways.
153
155
- Integration/API/UI coverage is preferred when the behaviour crosses boundaries.
154
156
- Internal and external systems are exercised through real containers, test instances, or sandbox environments in primary suites.
155
157
- Mocks, fakes, stubs, and service doubles are forbidden in verification flows.
156
158
- Changed production code should reach at least 80% line coverage and 70% branch coverage where supported; critical flows and public contracts should reach 90% line coverage.
157
-
- Coverage must not regress without an explicit exception, and coverage numbers do not replace scenario coverage.
159
+
- Coverage must not regress below the pre-change baseline without an explicit exception, and coverage numbers do not replace scenario coverage.
158
160
- Static analysis is part of done, not a cleanup task.
159
161
- Failing tests or analyzers block completion.
162
+
- The task is not done until the full relevant test suite is green, not only the newly added or changed tests.
160
163
161
164
### 3.3 Verification Artifacts
162
165
163
166
Feature docs and ADRs should point to:
164
167
165
168
- the scenarios that must be proven
169
+
- the testing methodology for those scenarios
166
170
- the commands used to prove them
167
171
- the suites or artifacts that provide that proof
168
172
@@ -210,7 +214,9 @@ Root `AGENTS.md` stays current with:
210
214
- commands (`build`, `test`, `format`, `analyze`, `coverage` if used)
211
215
- global skills and when to use them
212
216
- self-learning rules
217
+
- non-trivial task planning rules, including root-level `<slug>.plan.md` usage
213
218
- testing discipline
219
+
- done criteria for tests, coverage, and quality gates
214
220
- design and maintainability rules
215
221
- exception policy
216
222
- topology for local `AGENTS.md` files
@@ -255,6 +261,8 @@ If the same mistake happens twice, the framework expects the rule to be made dur
255
261
- Every MCAF repo has a root `AGENTS.md`.
256
262
- Multi-project solutions use local `AGENTS.md` files at project roots.
257
263
- Agents read root and local `AGENTS.md` before editing code.
264
+
- Non-trivial tasks use a root-level `<slug>.plan.md` as the working plan.
265
+
- Plans include ordered implementation steps, explicit test steps, testing methodology, and final validation commands.
258
266
- Skills are preferred over improvised workflow when a skill matches the task.
259
267
- Numeric maintainability limits live in `AGENTS.md`, not in framework prose.
260
268
@@ -343,17 +351,28 @@ Before heavy coding:
343
351
344
352
### 7.2 Plan
345
353
346
-
For non-trivial work, record:
354
+
For non-trivial work, create a root-level `<slug>.plan.md` and keep it current.
355
+
The plan records:
347
356
357
+
- goal and scope
358
+
- detailed ordered implementation steps
348
359
- files or boundaries to change
349
360
- tests to add or update
361
+
- the testing methodology: which flows are covered, how they are verified, which commands prove them, and the required quality or coverage bar
350
362
- docs to update
351
363
- risks and constraints
364
+
- final validation skills and commands, with reasons
365
+
- checklist items and done criteria
366
+
367
+
Before implementation starts, run the full relevant test baseline.
368
+
If anything is already failing, add each failing test to the plan with its symptom, suspected or confirmed root cause, and intended fix path.
352
369
353
370
### 7.3 Implement
354
371
372
+
- Use the Ralph Loop for non-trivial work: execute one planned step, run the relevant checks, update the plan, then move to the next step.
355
373
- implement code and tests together
356
374
- keep changes small and reviewable
375
+
- fix failing tests deliberately, one by one, and track them in the plan until they are closed
357
376
- use the architecture map and nearest local `AGENTS.md` to stay in scope
358
377
359
378
### 7.4 Verify
@@ -362,17 +381,20 @@ Run verification in layers:
362
381
363
382
1. changed tests
364
383
2. related suite
365
-
3. broader required regressions
366
-
4. analyzers
384
+
3. broader required regressions and the full relevant suite
385
+
4. analyzers, formatters, and any configured architecture, security, mutation, or other quality gates
386
+
5. coverage comparison against the pre-change baseline
367
387
368
-
### 7.5 Update Durable Context
388
+
### 7.5 Update Durable Context and Close the Task
369
389
370
390
After implementation:
371
391
372
392
- update feature docs
373
393
- update ADRs
374
394
- update the architecture map when boundaries changed
375
395
- update `AGENTS.md` or skills when rules or workflows changed
396
+
- keep the plan file current until every checklist item is done
397
+
- close the task only when all planned work is finished, all relevant tests are green, and coverage is at least at the starting baseline unless an explicit exception was documented
376
398
377
399
## 8. AI Participation Modes
378
400
@@ -407,4 +429,6 @@ Adoption is complete when:
407
429
- the right skills are installed
408
430
- multi-project boundaries have local `AGENTS.md`
409
431
- commands and docs reflect the real repo
432
+
- non-trivial work is guided by a root-level `<slug>.plan.md` and the Ralph Loop
433
+
- tool-specific skills document real bootstrap and install steps when the tool is missing
0 commit comments