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
Commit 5e39d02
Browse filesBrowse the repository at this point in the historyBrowse files
- ado_wiki: page tree, a page as markdown with its version and subpages,
search with snippets
- ado_wiki_write: create, append, prepend, or replace with the version from
the last read; a page changed meanwhile is never overwritten (If-Match)
- a refresh right after a refresh fetches the metadata again
- release.ps1, release-notes.ps1 and the Release workflow (zip + SHA-256)
- README: wiki tools, releasing
@@ -126,6 +127,8 @@ What each MCP tool answers, when Claude should reach for it, and the CLI command
126
127
|`ado_sprint`| a team's sprint (`current`, `next`, `previous` or by name): dates and working day, items by state, estimates, remaining work against the capacity left, items needing attention (no change for days, blocked, no estimate, no criteria, unassigned), task progress per item; says plainly when the sprint has ended | stand-up, sprint review, "will we make it" |`adolens sprint`, `adolens sprint next --team "Demo Team" --detail summary`|
127
128
|`ado_board`| a team's board: columns with WIP limits (over-limit flagged) and their cards; `move` + `column` moves a card — the state follows the column's mapping for the item's type | "what is in progress", moving cards |`adolens board`, `adolens board --move 123 --column "In Progress"`|
128
129
|`ado_backlog`| a team's backlog in priority order (requirement, portfolio, task, or by name); `move` + `above`/`below` reorders | refinement, priorities |`adolens backlog --top 20`, `adolens backlog --move 123 --above 456`|
130
+
|`ado_wiki`| the project wiki: page tree (`depth`), one page as markdown with its version and subpages, or search across the project's wikis with snippets; long pages are cut unless `detail=full`| "how does X work", finding documentation |`adolens wiki`, `adolens wiki "Team/Setup"`, `adolens wiki --search "dual write"`|
131
+
|`ado_wiki_write`|`create` a page, `append` / `prepend` to it, or `replace` it with the version from the last full read — a page changed by someone else in the meantime is never overwritten; optional change comment | release notes, keeping docs current |`adolens wiki-write "Team/Release notes" --file notes.md --mode append`|
129
132
|`ado_my_day`| since the previous working day (or `since`): where you were mentioned (all projects), your items and followed items changed by others, pull requests waiting for your review | the start of the day |`adolens myday --since 3d`|
130
133
131
134
### Writing rules built in
@@ -155,7 +158,7 @@ Estimates are characters / 4; Claude's tokenizer differs a little (Polish text r
.\release.ps1 -Version X.Y.Z -DryRun # checks, scan, build and tests only
205
+
```
206
+
207
+
Both stop at the first failure. They set `<Version>`, scan every file for private names and broken characters, build
208
+
and test, commit and push `dev` and wait for CI. A test release is tagged on `dev`; a regular one dates the CHANGELOG
209
+
section, merges `dev` into `main` through a pull request and is tagged on `main`, after which `dev` moves to `main`.
210
+
Both wait for the Release workflow and check the published package (SHA-256, layout, kind of release). Private names
211
+
(customers, partners, people) come from a local list that never enters the repository: `-ScanList <file>`,
212
+
`ADOLENS_SCAN_LIST`, `XPPLENS_SCAN_LIST` or `%USERPROFILE%\.claude\skills\xpp-lens-release\scan-names.txt` — one
213
+
regular expression per line, `!word` for allowed words. Without a list the release stops. The Release workflow builds
214
+
`ado-lens-X.Y.Z.zip` with `pack.ps1` and publishes it with its `.sha256` and the notes from `CHANGELOG.md`
215
+
(preview: `.\release-notes.ps1 -Version X.Y.Z`).
216
+
192
217
### Tests
193
218
194
219
| File | What it checks |
195
220
|---|---|
196
221
|`SetupTests.cs`| settings, connections and PAT order (Credential Manager first), command line, Claude configuration edits, Credential Manager, HTTP retries and errors, tool definition budget per mode |
197
222
|`MetadataTests.cs`| fetching the structure (levels, inherited process name, bugs on the requirement backlog), change history, compact `ado_fields` answers |
198
223
|`BoardTests.cs`| sprint progress, capacity left with days off, attention list, picking sprints, ended sprints, board columns and WIP, moving cards with the state mapping, backlog order and reordering, my day |
224
+
|`WikiTests.cs`| page tree, page with version, replace only with the current version (412 never overwrites), append, create over an existing page, search snippets |
199
225
|`WorkItemTests.cs`| work item answers, required fields and allowed values before writing, transitions, preview and confirm of bulk updates, mentions, links, queries, HTML ⇄ markdown, PAT never sent to other hosts |
200
226
201
227
Fixtures use neutral names only (`contoso`, `Demo`, `Anna Nowak`). Never put data from real organizations into tests,
@@ -208,6 +234,7 @@ issues or commits.
208
234
| a new MCP tool | a `*Tools` class with `[Toolset]` in `McpTools.cs` (or its own file) + the query in `*Queries.cs` + a CLI command in `Cli.cs`/`Program.cs`/`CommandLine.cs` + a test + a line in the instructions |
209
235
| work item reads, writes, checks |`WorkItems.cs`, `WorkQueries.cs`; output in `WorkItemFormat.cs`|
210
236
| sprints, capacity, boards, backlogs, my day |`Boards.cs` (API in `Boards`, answers in `BoardQueries`) |
237
+
| wiki |`Wiki.cs`|
211
238
| work item structure (types, fields, states) |`MetadataService.cs` (fetch), `MetaStore.cs` (SQLite; raise `SchemaVersion` to refetch), `Metadata.cs` (change detection) |
|`wiki`, `trace`, `test`, `recipes`| w planie | ✓ | (wiki, trace, recipes) | ✓ |
109
+
|`wiki`|`ado_wiki`, `ado_wiki_write`| ✓ | ✓ | ✓ |
110
+
|`trace`, `test`, `recipes`| w planie | ✓ | (trace, recipes) | ✓ |
110
111
|`code`, `pr`, `pipelines`| w planie | – | ✓ | ✓ |
111
112
112
113
## Mapa narzędzi
@@ -126,6 +127,8 @@ Na co odpowiada każde narzędzie MCP, kiedy Claude powinien po nie sięgnąć i
126
127
|`ado_sprint`| sprint zespołu (`current`, `next`, `previous` albo po nazwie): daty i dzień roboczy, elementy według stanu, szacunki, pozostała praca wobec pozostałej pojemności, elementy do uwagi (bez zmian od kilku dni, zablokowane, bez szacunku, bez kryteriów, bez osoby), postęp zadań per element; mówi wprost, gdy sprint się skończył | daily, przegląd sprintu, „czy zdążymy” |`adolens sprint`, `adolens sprint next --team "Demo Team" --detail summary`|
127
128
|`ado_board`| tablica zespołu: kolumny z limitami WIP (przekroczenia oznaczone) i ich karty; `move` + `column` przesuwa kartę — stan wynika z mapowania kolumny dla typu elementu | „co jest w toku”, przesuwanie kart |`adolens board`, `adolens board --move 123 --column "In Progress"`|
128
129
|`ado_backlog`| backlog zespołu w kolejności priorytetu (wymagania, portfolio, zadania albo po nazwie); `move` + `above`/`below` zmienia kolejność | refinement, priorytety |`adolens backlog --top 20`, `adolens backlog --move 123 --above 456`|
130
+
|`ado_wiki`| wiki projektu: drzewo stron (`depth`), strona jako markdown z wersją i podstronami albo wyszukiwanie we wszystkich wiki projektu z fragmentami; długie strony są ucinane, chyba że `detail=full`| „jak działa X”, szukanie dokumentacji |`adolens wiki`, `adolens wiki "Team/Setup"`, `adolens wiki --search "dual write"`|
131
+
|`ado_wiki_write`|`create` — nowa strona, `append` / `prepend` — dopisanie, `replace` — zastąpienie z wersją z ostatniego pełnego odczytu (strony zmienionej w międzyczasie przez kogoś innego nigdy nie nadpisze); opcjonalny komentarz zmiany | notatki wydania, aktualna dokumentacja |`adolens wiki-write "Team/Release notes" --file notes.md --mode append`|
129
132
|`ado_my_day`| od poprzedniego dnia roboczego (albo `since`): gdzie cię oznaczono (wszystkie projekty), twoje i obserwowane elementy zmienione przez innych, pull requesty czekające na twój przegląd | początek dnia |`adolens myday --since 3d`|
130
133
131
134
### Wbudowane zasady pisania
@@ -155,7 +158,7 @@ Szacunek to znaki / 4; tokenizer Claude'a liczy trochę inaczej (polski tekst wy
.\release.ps1 -Version X.Y.Z -DryRun # tylko kontrole, skan, build i testy
205
+
```
206
+
207
+
Oba warianty stają na pierwszym błędzie. Ustawiają `<Version>`, skanują wszystkie pliki pod nazwy prywatne i zepsute
208
+
znaki, budują i testują, robią commit i push `dev` i czekają na CI. Wydanie testowe dostaje tag na `dev`; zwykłe wstawia
209
+
datę w sekcji CHANGELOG, scala `dev` do `main` przez pull request i dostaje tag na `main`, po czym `dev` przesuwa się do
210
+
`main`. Oba czekają na workflow Release i sprawdzają opublikowaną paczkę (SHA-256, układ, rodzaj wydania). Nazwy
211
+
prywatne (klienci, partnerzy, ludzie) pochodzą z lokalnej listy, która nigdy nie trafia do repozytorium:
212
+
`-ScanList <plik>`, `ADOLENS_SCAN_LIST`, `XPPLENS_SCAN_LIST` albo
213
+
`%USERPROFILE%\.claude\skills\xpp-lens-release\scan-names.txt` — jedno wyrażenie regularne w linii, `!słowo` dla
214
+
dozwolonych słów. Bez listy wydanie się zatrzymuje. Workflow Release buduje `ado-lens-X.Y.Z.zip` przez `pack.ps1`
215
+
i publikuje go razem z `.sha256` i opisem z `CHANGELOG.md` (podgląd: `.\release-notes.ps1 -Version X.Y.Z`).
216
+
192
217
### Testy
193
218
194
219
| Plik | Co sprawdza |
195
220
|---|---|
196
221
|`SetupTests.cs`| ustawienia, połączenia i kolejność PAT (najpierw Menedżer poświadczeń), linia poleceń, edycja konfiguracji Claude'a, Menedżer poświadczeń, ponawianie i błędy HTTP, budżet definicji narzędzi na tryb, faktyczna rejestracja narzędzi |
197
222
|`MetadataTests.cs`| pobieranie struktury (poziomy, nazwa procesu dziedziczonego, bugi na backlogu wymagań), historia zmian, zwięzłe odpowiedzi `ado_fields`|
198
223
|`BoardTests.cs`| postęp sprintu, pozostała pojemność z dniami wolnymi, lista do uwagi, wybór sprintu, zakończone sprinty, kolumny tablicy i WIP, przesuwanie kart z mapowaniem stanów, kolejność backlogu i jej zmiana, mój dzień |
224
+
|`WikiTests.cs`| drzewo stron, strona z wersją, zastąpienie tylko z aktualną wersją (412 nigdy nie nadpisuje), dopisywanie, tworzenie na istniejącej stronie, fragmenty wyszukiwania |
199
225
|`WorkItemTests.cs`| odpowiedzi o work itemach, pola wymagane i dozwolone wartości przed zapisem, przejścia stanów, podgląd i potwierdzanie zmian wsadowych, wzmianki, linki, zapytania, HTML ⇄ markdown, PAT nigdy do innych hostów |
200
226
201
227
Dane testowe mają wyłącznie neutralne nazwy (`contoso`, `Demo`, `Anna Nowak`). Nigdy nie wkładaj danych z prawdziwych
@@ -208,6 +234,7 @@ organizacji do testów, zgłoszeń ani commitów.
208
234
| nowe narzędzie MCP | klasa `*Tools` z `[Toolset]` w `McpTools.cs` (albo własnym pliku) + zapytanie w `*Queries.cs` + polecenie CLI w `Cli.cs`/`Program.cs`/`CommandLine.cs` + test + linijka w instrukcjach |
209
235
| odczyt, zapis i kontrole work itemów |`WorkItems.cs`, `WorkQueries.cs`; wyjście w `WorkItemFormat.cs`|
210
236
| sprinty, pojemność, tablice, backlogi, mój dzień |`Boards.cs` (API w `Boards`, odpowiedzi w `BoardQueries`) |
237
+
| wiki |`Wiki.cs`|
211
238
| struktura work itemów (typy, pola, stany) |`MetadataService.cs` (pobieranie), `MetaStore.cs` (SQLite; podnieś `SchemaVersion`, żeby pobrać od nowa), `Metadata.cs` (wykrywanie zmian) |
0 commit comments