@ethlete/agent-rules 0.1.0-next.18 → 0.1.0-next.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @ethlete/agent-rules
2
2
 
3
+ ## 0.1.0-next.19
4
+
5
+ ### Minor Changes
6
+
7
+ - `timetrack snapshot` records the rows of recent days and `timetrack snapshot --compare <file>` lists every row a change altered, exiting 1 when any did.
8
+
9
+ ### Patch Changes
10
+
11
+ - Each migration task now asks for a change one session can finish and ends with a `Done when` list; restyling views and moving lists or hand-built UI happen when a file is next edited.
12
+ - The `search-query-field` task tells a search inside a dialog to pass `syncOnNavigation: false` too, so it stops reading the page's URL params.
13
+
3
14
  ## 0.1.0-next.18
4
15
 
5
16
  ### Minor Changes
package/README.md CHANGED
@@ -252,6 +252,11 @@ npx ethlete-agents timetrack log --issue FIP-2177 --minutes 45
252
252
  npx ethlete-agents timetrack approval <id> # where a queued write stands
253
253
  ```
254
254
 
255
+ `timetrack snapshot [from] [to] [--out <file>]` records the rows of real days (default: the last 7) with
256
+ the git HEAD and uncommitted files of the current repo; without `--out` the file lands in the app's data
257
+ directory under `snapshots/`, never in a repo. `timetrack snapshot --compare <file>` reads the same days
258
+ again and prints every row gone, new or changed (`--json` for a script); it exits 1 when anything changed.
259
+
255
260
  `--json` prints the raw answer instead of lines. `git-flow start` uses the same channel.
256
261
 
257
262
  **Every write waits for the user.** `create`, `log` and every other write answer at once with an
@@ -18,6 +18,10 @@ component a host class (`host: { class: 'app-player-card' }`) and scope every se
18
18
  the way SDK components scope theirs under their `et-` classes. Never write a bare element or
19
19
  unprefixed class selector in a component stylesheet.
20
20
 
21
+ In an existing repo, apply this to the component you are editing, not to the rest of the app. A
22
+ legacy component that relies on emulated encapsulation keeps it until its CSS is scoped under a
23
+ host class: without that scope, `ViewEncapsulation.None` leaks its CSS into every view.
24
+
21
25
  Write CSS only for what utilities cannot express. Keep that CSS **unlayered** or in
22
26
  `@layer utilities` — never in `@layer components`, and that includes the global stylesheet. SDK component styles are injected into
23
27
  `@layer components` at runtime, after your stylesheet, so an app rule in the same layer
@@ -34,7 +38,8 @@ The SDK sizes everything in `rem` on a **10px root**: the app's global styleshee
34
38
  The 10px root also shrinks every rem-based Tailwind scale to 62.5% of its nominal size (1.6×
35
39
  smaller): `p-4` is 10px instead of 16px, and `max-w-3xl` is 480px instead of 768px. Set
36
40
  `--spacing: 0.4rem` in the app's `@theme` so the spacing scale keeps its 4px step, as the SDK's
37
- own Storybook does. Redefine any other rem scale the app uses (`--text-*`, `--container-*`,
41
+ own Storybook does. In an app that already uses utilities without it, setting it rescales every
42
+ view: tell the user rather than set it. Redefine any other rem scale the app uses (`--text-*`, `--container-*`,
38
43
  `--radius-*`) the same way, or use px where a size matters. Breakpoints are not affected: a
39
44
  media query's `rem` ignores the root font size.
40
45
 
@@ -159,6 +159,13 @@ Bind form controls with `[formField]="qf.fields.search"`. `et-pagination` and
159
159
  change pushes a history entry; pass `observe({ replaceUrl: true })` to replace it instead. See {%docsBaseUrl%}/query/query-forms for the other field creators,
160
160
  filter overlays and `activeFilterCount`.
161
161
 
162
+ When you move a list that syncs its params by hand, keep the param names the URL already uses, so
163
+ saved links keep working (`queryParamPrefix` when two lists share a route). Keep each old default as
164
+ the field's `defaultValue`. A URL with sort and direction in two params (`?sort=name&dir=asc`)
165
+ keeps two `queryField`s, `dir` with `skipInFilterCount: true`; `sortQueryField()` writes one
166
+ `name:asc` param, so it breaks old links. A date field bound to `et-date-input`,
167
+ `et-date-time-input` or `et-time-input` needs `dateQueryField({ as: 'string' })`.
168
+
162
169
  ## The query object
163
170
 
164
171
  Every state member is an **`ObservableSignal`** - call it, or `.asObservable()` it without an
@@ -69,9 +69,11 @@ Two files describe what is left. Read the JSON one when you work through the lis
69
69
 
70
70
  Every task carries a `kind`, and the kind decides who acts:
71
71
 
72
- - **`assisted`** - written for you. The task file states one change to apply across this repo. Read the
73
- whole file before the first edit, then apply it. These are the changes no codemod can make, so expect
74
- a decision per call site rather than one pattern.
72
+ - **`assisted`** - written for you. The task file states one bounded change to apply across this repo.
73
+ Read the whole file before the first edit, then work it until its `Done when` list holds. These are
74
+ the changes no codemod can make, so expect a decision per call site rather than one pattern. What the
75
+ file leaves for later stays for later: report it, do not do it. A view you cannot open in the browser
76
+ (a login fails, no API) goes into your report as unchecked; it does not block the task.
75
77
  - **`manual`** - a recommendation for the developer. It needs a product or design decision, or a
76
78
  command with answers only they have. Do not guess the answer. Report the task and what it needs.
77
79
  - **`unsupported`** - a codemod that could not run here, because this repo has no Nx. The task carries
@@ -1,114 +1,63 @@
1
- # Style app components with Tailwind utilities
1
+ # Move app CSS out of `@layer components`
2
2
 
3
- The earlier guidance left app styling open, so app components were often styled with a BEM class
4
- system or a `.css` file per component. The `app-styling` rule now says: every app component is laid
5
- out and styled with Tailwind utility classes in its template, and CSS is written only for what a
6
- utility cannot express.
3
+ The `app-styling` rule now says how app components are styled: Tailwind utilities in the
4
+ template, CSS only for what a utility cannot express, and never an app rule in
5
+ `@layer components`. SDK styles are injected into that layer at runtime, after the app's
6
+ stylesheet, so an app rule there ties on layer and loses on source order. That is a bug today,
7
+ and this task fixes it. The rest of the rule applies when a component is next edited.
7
8
 
8
9
  ## Before you start
9
10
 
10
- `et update` regenerates the agent rules when it moves `@ethlete/agent-rules`. If this repo has no
11
- `app-styling` rule yet (in `AGENTS.md`, or under `.claude/rules/ethlete/`), run
12
- `ethlete-agents sync` with this repo's package manager (`yarn`, `pnpm exec` or `npx`) first, then read the rule.
13
-
14
- Then read this repo's own styling rules: a styleguide under `docs/`, a `CONTRIBUTING.md`, lint
15
- config for CSS, and the parts of `AGENTS.md` outside the generated block. Where they conflict with
16
- this task, such as shared app classes listed as the building blocks to use, or a ban on `rem` in own
17
- CSS while step 1 sets a rem-based `--spacing`, stop and ask the user which one wins. Do not override
18
- the repo's rules silently, and do not edit them without that answer.
19
-
20
- ## Find the call sites
21
-
22
- The components with a stylesheet, whatever their file suffix:
23
-
24
- ```bash
25
- grep -rlE 'styleUrls?:' apps libs --include='*.ts'
26
- ```
27
-
28
- The stylesheets those components reference. This leaves out the global stylesheets (the `styles`
29
- of a build target, and the files they `@import`) and generated theme files:
30
-
31
- ```bash
32
- grep -rlE 'styleUrls?:' apps libs --include='*.ts' | while read -r file; do
33
- grep -oE "['\"][^'\"]+\.(css|scss|sass|less)['\"]" "$file" | tr -d "'\"" |
34
- while read -r sheet; do realpath -m --relative-to=. "$(dirname "$file")/$sheet"; done
35
- done | sort -u
36
- ```
37
-
38
- BEM classes in templates, class bindings, `routerLinkActive` and host classes, app rules in
39
- `@layer components` (global stylesheets included), and the components that do not set
40
- `ViewEncapsulation.None` yet:
41
-
42
- ```bash
43
- grep -rnE 'class="[^"]*\b[a-z0-9-]+__[a-z0-9-]+' apps libs --include='*.html' --include='*.ts'
44
- grep -rnE '\[class\.[a-z0-9_-]+\]|\[ngClass\]|\[class\]=' apps libs --include='*.html' --include='*.ts'
45
- grep -rnE 'routerLinkActive="[^"]+"' apps libs --include='*.html' --include='*.ts'
46
- grep -rnE "(host: \{|'\[class(\.[a-z0-9_-]+)?\]'|class: ')" apps libs --include='*.ts'
47
- grep -rlE '@layer components' apps libs --include='*.css' --include='*.scss'
48
- grep -rlE '@Component\(' apps libs --include='*.ts' | xargs grep -LE 'ViewEncapsulation\.None'
49
- ```
11
+ If this repo has no `app-styling` rule yet (in `AGENTS.md`, or under `.claude/rules/ethlete/`),
12
+ run `ethlete-agents sync` with this repo's package manager (`yarn`, `pnpm exec` or `npx`), then
13
+ read the rule. If the repo's own styling rules (a styleguide, `CONTRIBUTING.md`, the parts of
14
+ `AGENTS.md` outside the generated block) forbid a change below, follow them and report the
15
+ conflict.
50
16
 
51
17
  ## What to change
52
18
 
53
- 1. Check the root font size and the spacing scale first. On the 10px root the SDK needs, Tailwind's
54
- rem scales are 1.6× smaller than their nominal size. Set `--spacing: 0.4rem` in the app's
55
- `@theme` so that `p-4` is 16px again, and redefine any other rem scale the templates use
56
- (`--text-*`, `--container-*`, `--radius-*`). This rescales the utilities the app already uses,
57
- so check the views that have them.
58
- 2. Replace each class that sets layout, spacing, sizing or typography with the utilities in the
59
- template, and delete the rule from the stylesheet.
60
- 3. Replace a hardcoded colour with a theme utility or a `var(--et-…)` token. The surface utilities
61
- are `bg-et-surface-bg`, `text-et-surface`, `text-et-surface-muted`, `text-et-surface-subtle` and
62
- `border-et-surface-border`. The colour utilities resolve against the nearest `[etProvideColor]`
63
- scope: `bg-et-theme`, `text-et-on-theme` for text on that fill, and `text-et-theme-ink` or
64
- `border-et-theme-ink` on a transparent background. Each has `-hover`, `-focus`, `-active` and
65
- `-disabled` variants. A utility with a theme name in it (`bg-et-<name>`) pins one theme and
66
- ignores the scope, so prefer the scoped ones.
67
- 4. Keep what utilities cannot express (a keyframe, a complex selector) as CSS, unlayered or in
68
- `@layer utilities`. Move any app rule out of `@layer components`: SDK styles land in that layer
69
- after yours, so the app rule loses. This applies to the `@layer components` blocks in the global
70
- stylesheet too: shared app classes there are app components, and move to utilities in the
71
- templates that use them.
72
- 5. Find the app's unlayered overrides of SDK classes (`.et-button`, `.et-badge`, …) in the global
73
- stylesheet and in component sheets:
19
+ 1. Find the app stylesheets with a `@layer components` block, global stylesheets included:
74
20
 
75
21
  ```bash
76
- grep -rnE '(^|[ ,>+~])\.et-[a-z0-9-]+' apps libs --include='*.css' --include='*.scss'
22
+ grep -rlE '@layer components' apps libs --include='*.css' --include='*.scss' --include='*.sass' --include='*.less'
77
23
  ```
78
24
 
79
- Unlayered CSS beats every layer, so such a rule beats the utilities you add on the same element.
80
- Replace it with the component's `--et-*` tokens or a utility on the element. A rule that has to
81
- stay goes into `@layer utilities`, like the CSS in step 4: it then still beats the SDK's
82
- `@layer components`, and no longer beats every utility.
83
-
84
- 6. To restyle an SDK component, set its `--et-*` tokens first, then a utility on the element.
85
- 7. Delete a stylesheet that ends up empty, and its `styleUrl`.
86
- 8. Keep `encapsulation: ViewEncapsulation.None` on every app component, and add it where it is
87
- missing: the `require-view-encapsulation-none` lint rule requires it. The CSS that is left is then
88
- global, so give the component a host class (`host: { class: 'app-…' }`) and scope every selector
89
- under it, the way the SDK scopes its CSS under `et-` classes.
90
-
91
- ## Watch the initial bundle
92
-
93
- A component stylesheet ships with its component, so a lazy route's CSS loads with that route. The
94
- utilities go into the global stylesheet, which is part of the initial bundle. Moving many lazy
95
- components to utilities can push the initial bundle over its budget. Check the build's initial
96
- total against the budget after each batch. Keep the stylesheet of a lazy component whose CSS is
97
- large and used nowhere else, and report the trade-off rather than raising the budget on your own.
25
+ 2. In each, move the rules out of the block into `@layer utilities`, and delete the empty
26
+ block. In `@layer utilities` a rule still beats the SDK, and does not beat every utility the
27
+ way unlayered CSS would.
28
+ 3. The move lets these rules win over SDK styles they used to lose to. Check the views that use
29
+ them. Where a view now looks wrong because the old rule was never meant to apply, delete the
30
+ rule instead.
98
31
 
99
32
  ## Leave these alone
100
33
 
101
34
  - A library that ships its own CSS to other repos. The rule is about app components.
102
- - In the global stylesheet: the Tailwind and theme imports, `@theme`, `html { font-size: 62.5%; }`
103
- and the `@layer base` rules for elements (`html`, `body`, `a`).
104
35
  - Generated theme files, such as the surface and colour themes `@ethlete/core` writes.
105
- - CSS that no utility expresses.
36
+ - `--spacing` and the other rem scales in `@theme`. If the app has not set `--spacing: 0.4rem`,
37
+ setting it now rescales every utility already in use: report it and leave it.
38
+ - `html { font-size: 62.5%; }`: if it is missing, report it and leave it. Adding it rescales
39
+ every `rem` the app uses.
40
+
41
+ ## On touch, not in this task
42
+
43
+ Rewriting BEM classes and component stylesheets to utilities, replacing hardcoded colours with
44
+ theme tokens, and adding `ViewEncapsulation.None` to a component that relies on emulated CSS
45
+ (its CSS would leak) happen when someone edits that component. Count what is left for the
46
+ final message:
47
+
48
+ ```bash
49
+ grep -rlE 'styleUrls?:' apps libs --include='*.ts' | wc -l
50
+ grep -rlE 'class="[^"]*\b[a-z0-9-]+__[a-z0-9-]+' apps libs --include='*.html' --include='*.ts' | wc -l
51
+ grep -rlE '@Component\(' apps libs --include='*.ts' | xargs grep -LE 'ViewEncapsulation\.None' | wc -l
52
+ ```
106
53
 
107
- ## When you are done
54
+ ## Done when
108
55
 
109
- Run the type check, the lint task and the build of every project you changed, and look at each
110
- changed view in the browser: a missed class renders unstyled, not as an error.
56
+ - The grep in step 1 finds no app stylesheet, apart from the ones under "Leave these alone".
57
+ - The type check, lint and build pass for every project you changed.
58
+ - Each view that uses a moved rule is checked in the browser. A view you cannot open (the login
59
+ fails, no API) is listed as unchecked in your final message; that does not block the task.
60
+ - Your final message gives the three counts above, and whether `--spacing` and the 62.5% root
61
+ are set.
111
62
 
112
- The page the `Docs` line at the top of this file links (`/components/setup` on the SDK docs site)
113
- summarises the rule under "Styles". Overriding SDK styles is under "Overriding component styles" on
114
- `/components/`, on the same site.
63
+ Then delete this task file.
@@ -1,103 +1,20 @@
1
- # Move URL-bound list state to `defineQueryForm`
1
+ # Lists with URL state use `defineQueryForm`
2
2
 
3
- The earlier query guidance did not name `defineQueryForm`, so list pages wired their filters,
4
- search, sort and paging to the URL by hand: `injectQueryParams()` to read, `router.navigate` to write,
5
- and a draft signal plus an effect in between. `defineQueryForm` does the URL sync, the debounce, the
6
- defaults and the page reset, and the `ethlete-query` skill now says to use it for every filtered,
7
- searched, sorted or paged list.
3
+ The `ethlete-query` skill now says every filtered, searched, sorted or paged list uses
4
+ `defineQueryForm`, not `injectQueryParams()`, `router.navigate` and a draft signal wired by hand.
5
+ Moving a list is a rewrite of its component, so it happens when someone next edits that list. The
6
+ skill says how to keep the old URL working when you do.
8
7
 
9
- ## Before you start
10
-
11
- `et update` regenerates the skills when it moves `@ethlete/agent-rules`. If
12
- `.agents/skills/ethlete-query/SKILL.md` does not mention `defineQueryForm`, run
13
- `ethlete-agents sync` with this repo's package manager (`yarn`, `pnpm exec` or `npx`) first. Read
14
- the skill, then the guide the `Docs` line at the top of this file links (`/query/query-forms` on the
15
- SDK docs site).
16
-
17
- ## Find the call sites
18
-
19
- The reads, with comment lines filtered out:
8
+ No code changes in this task. To see how many components still wire their params by hand, count
9
+ the files that both read and write query params:
20
10
 
21
11
  ```bash
22
- grep -rnE 'injectQueryParams?\(|inject\(ActivatedRoute\)|:\s*ActivatedRoute\b|queryParamMap|snapshot\.queryParams|\.queryParams\.(pipe|subscribe)\(' \
23
- apps libs --include='*.ts' | grep -vE '^[^:]+:[0-9]+:\s*(//|/?\*)'
24
- ```
25
-
26
- The writes. A navigation spreads its options over several lines, so this prints the `queryParams`
27
- line up to three lines below each call:
28
-
29
- ```bash
30
- grep -rnE -A3 '\.navigate(ByUrl)?\(|createUrlTree\(|\.(go|replaceState|pushState)\(' apps libs --include='*.ts' \
31
- | grep -E '\bqueryParams(Handling)?\b|\?[a-zA-Z_-]+='
32
- ```
33
-
34
- A call site is in scope when the params it reads or writes are the arguments of a list query:
35
- search text, filters, sort, page or page size.
36
-
37
- ## What to change
38
-
39
- 1. Declare one `defineQueryForm({ fields })` per list, with a field creator per param
40
- (`searchQueryField`, `sortQueryField`, `queryField<number>({ defaultValue: 1 })` for the page, and
41
- the typed array and date creators for filters), and call `.observe()` on it. Give a `queryField`
42
- a `defaultValue` wherever the old code had one: the field is then typed without `null`, so reads
43
- need no `?? DEFAULT`. A `queryField<T>()` without a default reads the URL as a string, so any
44
- other `T` needs a `queryParamToValue` such as `transformToNumber`. A date field bound to an
45
- `et-date-input`, `et-date-time-input` or `et-time-input` needs `dateQueryField({ as: 'string' })`,
46
- because those controls hold a string.
47
- 2. Give the page field `isResetBy` for the fields that must send the list back to page 1.
48
- 3. Feed the query from `withArgs(() => … this.qf.value() …)`.
49
- 4. Bind each form control with `[formField]="qf.fields.<name>"`. `et-pagination` and
50
- `et-page-size-select` are not form controls; bind their two-way `model` to the field's value
51
- signal instead: `[(page)]="qf.fields.page().value"`, `[(pageSize)]="qf.fields.limit().value"`.
52
- A table sort needs a mapping both ways; see "Sort from a table" below.
53
- 5. Delete the hand-written reads, writes, draft signals and effects the form replaces.
54
- 6. Keep the param names the URL already uses, so saved links keep working. Each field is one param,
55
- named by its key. Use `queryParamPrefix` when two lists share a route.
56
- 7. If the old code navigated with `replaceUrl: true`, so filtering did not add history entries, pass
57
- `observe({ replaceUrl: true })`. Without it every commit pushes an entry.
58
-
59
- ### Sort and direction in two params
60
-
61
- `sortQueryField()` writes one param as `active:direction` (`?sort=name:asc`). No field maps two
62
- params, so a URL with separate params such as `?sort=name&dir=asc` needs a decision:
63
-
64
- - **Keep the URL** (the default). Declare two fields, `sort: queryField<SortKey>(…)` and
65
- `dir: queryField<'asc' | 'desc'>(…)`, each with a `defaultValue` and a `queryParamToValue` that
66
- maps an unknown value to the default. Give `dir` `skipInFilterCount: true`: only `sort` is on the
67
- list of names `activeFilterCount` ignores. Put both in the page field's `isResetBy`.
68
- - **Move to `sortQueryField()`** when you are free to change the URL. Old links with a `dir` param
69
- lose their direction. Say so in the commit message.
70
-
71
- ### Sort from a table
72
-
73
- `et-table` holds its sort as `TableSort[]` (`{ key, direction }`); `sortQueryField()` holds one
74
- `Sort` (`{ active, direction }`). Nothing converts between them and the table does not write the
75
- URL, so map both ways in the component:
76
-
77
- ```ts
78
- tableSort = computed<TableSort[]>(() => {
79
- const sort = this.qf.value().sort;
80
-
81
- return sort?.direction ? [{ key: sort.active, direction: sort.direction }] : [];
82
- });
83
-
84
- onSortChange([first]: TableSort[]) {
85
- this.qf.patchValue({ sort: first ? { active: first.key, direction: first.direction } : null });
86
- }
12
+ grep -rlE 'injectQueryParams?\(|queryParamMap|snapshot\.queryParams|\.queryParams\.(pipe|subscribe)\(' apps libs --include='*.ts' |
13
+ xargs grep -lE '\bqueryParams(Handling)?\b' | wc -l
87
14
  ```
88
15
 
89
- Bind `[sort]="tableSort()"` and `(sortChange)="onSortChange($event)"`.
90
-
91
- ## Leave these alone
92
-
93
- - A param that is not list state, such as a `returnUrl`, a tab id or an opened-detail id. Reading it
94
- with `injectQueryParam` is correct.
95
- - A one-off `router.navigate` to another page.
96
-
97
- ## When you are done
16
+ ## Done when
98
17
 
99
- No list may read and write its params by hand any more. Run the type check, the lint task and the tests
100
- of every project you changed, and check in the browser that reload, back and forward restore the list.
18
+ - The count is in your final message, or in the report you give the developer.
101
19
 
102
- The guide in the `Docs` line at the top of this file has every field creator, the URL rules and
103
- filter overlays.
20
+ Then delete this task file.
@@ -21,3 +21,9 @@ workspace unless the team asks for it.
21
21
  block and drops the edit. If `AGENTS.md` holds nothing but the block, add the decisions above it.
22
22
 
23
23
  An agent may prepare the list in step 2. It must not move a project without that decision.
24
+
25
+ ## Done when
26
+
27
+ - Each deviation from step 2 has a decision, recorded as step 4 says.
28
+
29
+ Then delete this task file.
@@ -1,69 +1,27 @@
1
1
  # Use the SDK component where one exists
2
2
 
3
- The earlier `ethlete-sdk-docs` skill listed only part of the component domains, and named some by a
4
- word an agent would not search for. So apps built their own bar charts, avatars and progress bars,
5
- although `@ethlete/components` ships all three. The skill now lists every domain and maps the common
6
- needs to them.
3
+ The `ethlete-sdk-docs` skill now lists every component domain, with a table that maps common needs
4
+ to them ("Check this list before you build any UI by hand"). Apps built their own bar charts,
5
+ avatars and progress bars because the old list did not name them. Replacing one restyles its view,
6
+ so it happens when someone next edits that view, not in this task.
7
7
 
8
- ## Before you start
8
+ When you do replace one, check every feature of the hand-built one against the SDK component's
9
+ inputs, slots and `--et-*` tokens first, and keep the hand-built one where a feature has no
10
+ counterpart. Known gaps:
9
11
 
10
- `et update` regenerates the skills when it moves `@ethlete/agent-rules`. If
11
- `.agents/skills/ethlete-sdk-docs/SKILL.md` has no "Check this list before you build any UI by hand"
12
- table, run `ethlete-agents sync` with this repo's package manager (`yarn`, `pnpm exec` or `npx`) first. Read that table: it covers more than the three below.
12
+ - `et-bar-chart` renders every category label and only truncates it, and has no slot for a title,
13
+ a note or an empty state.
14
+ - `et-avatar` derives initials from `name` only, and takes its colours from a colour theme only.
13
15
 
14
- ## Find the call sites
16
+ No code changes in this task. To count the candidates, skipping hits that already use an `et-`
17
+ element:
15
18
 
16
19
  ```bash
17
- grep -rnE 'chart|bar-?graph|<rect ' apps libs --include='*.html' --include='*.ts'
18
- grep -rnE 'avatar|initials' apps libs --include='*.html' --include='*.ts' --include='*.css'
19
- grep -rnE '\b[A-Z0-9_]*(INITIALS|AVATAR|ABBR)[A-Z0-9_]*\b' apps libs --include='*.ts'
20
- grep -rnE '\.(charAt\(0\)|at\(0\)|\[0\])[^;]*\.toUpperCase\(\)|split\(.*\)\.map\(.*\[0\]' apps libs --include='*.ts' --include='*.html'
21
- grep -rnE 'progress' apps libs --include='*.html' --include='*.ts' --include='*.css'
20
+ grep -rlE 'bar-?chart|bar-?graph|avatar|initials|progress-?bar' apps libs --include='*.html' --include='*.ts' | xargs grep -LE '<et-(bar-chart|avatar|progress-bar)' | wc -l
22
21
  ```
23
22
 
24
- The third and fourth catch initials built by hand: a constant map from a name or key to its letters, and
25
- first letters taken and upper-cased. Skip every hit that already uses an `et-` element.
23
+ ## Done when
26
24
 
27
- ## The replacement for each
25
+ - The count is in your final message, or in the report you give the developer.
28
26
 
29
- | Hand-built | SDK component | Guide |
30
- | ----------------------------------------- | ------------------------------ | -------------------- |
31
- | Bar or stacked bar chart, a series legend | `et-bar-chart` | `/components/chart` |
32
- | Initials or a user picture in a circle | `et-avatar`, `et-avatar-group` | `/components/avatar` |
33
- | Progress bar | `et-progress-bar` | `/components/loader` |
34
-
35
- ## What to change
36
-
37
- 1. Read the guide of the component, and map the data the hand-built one received onto its inputs.
38
- 2. Replace the markup, and delete the component, the CSS and the helpers only it used.
39
- 3. Style it through its `--et-*` tokens, not by overriding its internals.
40
-
41
- ## When the SDK component cannot cover it
42
-
43
- Check every feature of the hand-built one against the component's inputs, slots and `--et-*`
44
- tokens before you replace it. Known gaps:
45
-
46
- - `et-bar-chart` renders every category label and only truncates it, so a long axis cannot be
47
- thinned. It has no slot for a title, a note or an empty state.
48
- - `et-avatar` derives initials from `name` only, so explicit initials (a constant map, a team
49
- abbreviation) cannot be passed. Its fill and text colour come from a colour theme only; there is
50
- no `--et-avatar-*` colour token.
51
-
52
- When a feature has no counterpart, keep the hand-built one and record the gap for the user: which
53
- view, which feature, which component. Do not drop the feature to make the component fit, and do not
54
- register or invent a colour theme to reach a colour the component has no token for.
55
-
56
- ## Leave these alone
57
-
58
- - A visual the SDK component cannot express, such as a chart type it does not have. Report it
59
- instead of forcing a fit.
60
- - A component another repo imports from this one: replacing it is a change to that repo's contract,
61
- so report it.
62
-
63
- ## When you are done
64
-
65
- Run the type check, the lint task and the tests of every project you changed, and compare each
66
- replaced view in the browser with how it looked before.
67
-
68
- The page the `Docs` line at the top of this file links (`/components/` on the SDK docs site) lists
69
- every component domain.
27
+ Then delete this task file.
@@ -24,22 +24,29 @@ A call site is in scope when the debounced value ends up in the args of a query.
24
24
 
25
25
  1. Add a `search: searchQueryField()` field to the list's `defineQueryForm`, or declare a form with
26
26
  that one field.
27
- 2. Call `.observe()` on it. Pass `{ writeToQueryParams: false }` when the search must not reach the
28
- URL, for example a search inside a dialog.
27
+ 2. Call `.observe()` on it. Keep the URL behaviour the old search had. If it did not write the
28
+ URL, as a search inside a dialog, pass `{ writeToQueryParams: false, syncOnNavigation: false }`.
29
+ `writeToQueryParams: false` alone stops the writes only: the form still reads the page's own
30
+ params, such as `page`.
29
31
  3. Read `this.qf.value().search` in `withArgs`, and bind the input with `[formField]="qf.fields.search"`.
30
32
  4. Delete the debounce, the subject or timer, and the intermediate signal.
31
33
  5. Pass `debounce` to the field when the old delay was deliberately different from 300ms.
32
34
 
33
- If the `list-state-query-form` task already moved this list to a query form, the search is done.
35
+ If the search text is part of list state the component syncs to the URL by hand, skip the call
36
+ site: it moves with the rest of the list to `defineQueryForm` when that list is next edited.
34
37
 
35
38
  ## Leave these alone
36
39
 
37
40
  - A debounce whose value never reaches a query: resize and scroll handlers, autosave, analytics.
38
41
  - An SDK control that takes a search input of its own.
39
42
 
40
- ## When you are done
43
+ ## Done when
41
44
 
42
- Run the type check, the lint task and the tests of every project you changed.
45
+ - No hit of the greps above feeds a query any more, apart from the hand-synced lists you skipped.
46
+ Your final message names each skipped one.
47
+ - The type check, lint and tests pass for every project you changed.
48
+
49
+ Then delete this task file.
43
50
 
44
51
  The guide the `Docs` line at the top of this file links (`/query/query-forms` on the SDK docs site)
45
52
  has the field creators and their options.
package/migrations.json CHANGED
@@ -4,15 +4,15 @@
4
4
  "name": "app-styling-utilities",
5
5
  "version": "0.1.0-next.17",
6
6
  "kind": "assisted",
7
- "description": "App components styled with BEM classes or layout CSS files move to Tailwind utilities in their templates.",
7
+ "description": "App rules in @layer components move out of that layer, so SDK styles stop overriding them.",
8
8
  "instructions": "./migrations/app-styling-utilities.md",
9
9
  "docs": "/components/setup"
10
10
  },
11
11
  {
12
12
  "name": "list-state-query-form",
13
13
  "version": "0.1.0-next.17",
14
- "kind": "assisted",
15
- "description": "Filters, search, sort and paging synced to the URL by hand move to defineQueryForm.",
14
+ "kind": "manual",
15
+ "description": "Lists that sync their params to the URL by hand move to defineQueryForm when they are next edited.",
16
16
  "instructions": "./migrations/list-state-query-form.md",
17
17
  "docs": "/query/query-forms"
18
18
  },
@@ -27,8 +27,8 @@
27
27
  {
28
28
  "name": "sdk-components-over-hand-built-ui",
29
29
  "version": "0.1.0-next.17",
30
- "kind": "assisted",
31
- "description": "Hand-built bar charts, avatars and progress bars move to the SDK components that exist for them.",
30
+ "kind": "manual",
31
+ "description": "Hand-built bar charts, avatars and progress bars move to the SDK components when their view is next edited.",
32
32
  "instructions": "./migrations/sdk-components-over-hand-built-ui.md",
33
33
  "docs": "/components/"
34
34
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/agent-rules",
3
- "version": "0.1.0-next.18",
3
+ "version": "0.1.0-next.19",
4
4
  "license": "MIT",
5
5
  "type": "commonjs",
6
6
  "exports": {
@@ -6,6 +6,7 @@ const fs_1 = require("fs");
6
6
  const path_1 = require("path");
7
7
  const timetrack_1 = require("./timetrack");
8
8
  const plain_text_1 = require("./plain-text");
9
+ const timetrack_snapshot_1 = require("./timetrack-snapshot");
9
10
  const git_1 = require("./git");
10
11
  const FLAGS_WITH_VALUE = [
11
12
  '--root',
@@ -37,6 +38,7 @@ const FLAGS_WITH_VALUE = [
37
38
  '--rename',
38
39
  '--merge',
39
40
  '--into',
41
+ '--compare',
40
42
  ];
41
43
  /** Every human-readable line, with anything a terminal would act on printed rather than obeyed. */
42
44
  const say = (line) => console.log((0, plain_text_1.plain)(line));
@@ -507,6 +509,28 @@ const splitStandIn = (options) => tslib_1.__awaiter(void 0, void 0, void 0, func
507
509
  }
508
510
  return printed(answer, json);
509
511
  });
512
+ const daysBetween = (from, to) => {
513
+ const days = [];
514
+ for (let day = from; day <= to && days.length < 92; day = shiftDay(day, 1))
515
+ days.push(day);
516
+ return days;
517
+ };
518
+ const gitState = (root) => {
519
+ try {
520
+ const uncommitted = (0, git_1.git)({ root, args: ['status', '--porcelain'] })
521
+ .split('\n')
522
+ .filter(Boolean)
523
+ .map((line) => line.slice(3));
524
+ return { head: (0, git_1.git)({ root, args: ['rev-parse', 'HEAD'] }), uncommitted };
525
+ }
526
+ catch (_a) {
527
+ return {};
528
+ }
529
+ };
530
+ const takeSnapshot = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
531
+ return (Object.assign(Object.assign({ takenAt: new Date().toISOString() }, gitState(options.root)), { days: yield options.days.reduce((done, day) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return [...(yield done), (0, timetrack_snapshot_1.snapshotDayOf)(yield (0, timetrack_1.timetrackDayRows)(day))]; }), Promise.resolve([])) }));
532
+ });
533
+ const defaultSnapshotPath = () => (0, path_1.join)((0, path_1.dirname)((0, timetrack_1.timetrackDiscoveryPath)()), 'snapshots', `${new Date().toISOString().replace(/[:.]/g, '-')}.json`);
510
534
  const USAGE = `ethlete-agents timetrack — ask the running Timetrack app about Jira
511
535
 
512
536
  The app holds this machine's Jira credentials, so no repository needs a token of its own.
@@ -522,6 +546,10 @@ Every write waits in the app until the user approves it there, and prints an app
522
546
  Add a row nothing observed to the day it belongs to
523
547
  timetrack day [YYYY-MM-DD] The evidence a day holds, which the encrypted store hides otherwise
524
548
  timetrack rows [YYYY-MM-DD] The rows the day drew, with the ids an edit names them by
549
+ timetrack snapshot [from] [to] [--out <file>]
550
+ Record the rows of the last 7 days (default) before a change
551
+ timetrack snapshot --compare <file>
552
+ Print every row the change altered since; exit 1 when any did
525
553
  timetrack edit <row-id> … Change one row of a day: its times, its name, its note or its state
526
554
  timetrack rules The rules that name a day's work: attribution, project links, apps
527
555
  timetrack standins The names the user gave work Jira does not hold yet, and their age
@@ -600,7 +628,7 @@ Options everywhere
600
628
  * one per checkout.
601
629
  */
602
630
  const timetrackCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
603
- var _a, _b, _c;
631
+ var _a, _b, _c, _d, _e, _f;
604
632
  const { root, argv } = options;
605
633
  const [subcommand, value] = positionalArgs(argv);
606
634
  const json = argv.includes('--json');
@@ -730,8 +758,37 @@ const timetrackCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
730
758
  }
731
759
  return printed(found, json);
732
760
  }
761
+ if (subcommand === 'snapshot') {
762
+ const compare = flagValue(argv, '--compare');
763
+ if (compare) {
764
+ const recorded = JSON.parse((0, fs_1.readFileSync)((0, path_1.resolve)(root, compare), 'utf8'));
765
+ const now = yield takeSnapshot({ days: recorded.days.map((entry) => entry.day), root });
766
+ const diff = (0, timetrack_snapshot_1.diffSnapshots)(recorded, now);
767
+ if (json)
768
+ console.log(JSON.stringify(diff, null, 2));
769
+ else
770
+ (0, timetrack_snapshot_1.diffLines)(diff).forEach((line) => say(line));
771
+ return diff.changedRows || diff.days.length ? 1 : 0;
772
+ }
773
+ const named = positionalArgs(argv).slice(1);
774
+ const to = (_a = named[1]) !== null && _a !== void 0 ? _a : today();
775
+ const from = (_b = named[0]) !== null && _b !== void 0 ? _b : shiftDay(to, -6);
776
+ if (!DAY.test(from))
777
+ throw new Error(`Pass a day as YYYY-MM-DD, not ${from}.`);
778
+ if (!DAY.test(to))
779
+ throw new Error(`Pass a day as YYYY-MM-DD, not ${to}.`);
780
+ const path = (0, path_1.resolve)(root, (_c = flagValue(argv, '--out')) !== null && _c !== void 0 ? _c : defaultSnapshotPath());
781
+ const recorded = yield takeSnapshot({ days: daysBetween(from, to), root });
782
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(path), { recursive: true });
783
+ (0, fs_1.writeFileSync)(path, JSON.stringify(recorded, null, 2), { mode: 0o600 });
784
+ if (json)
785
+ console.log(JSON.stringify({ path, days: recorded.days.length }));
786
+ else
787
+ say(`Recorded ${recorded.days.length} day(s), ${recorded.days.reduce((sum, day) => sum + day.rows.length, 0)} row(s) in ${path}`);
788
+ return 0;
789
+ }
733
790
  if (subcommand === 'edit') {
734
- const day = (_a = flagValue(argv, '--day')) !== null && _a !== void 0 ? _a : today();
791
+ const day = (_d = flagValue(argv, '--day')) !== null && _d !== void 0 ? _d : today();
735
792
  if (!value)
736
793
  throw new Error('Pass the row id to edit, as `timetrack rows` prints it.');
737
794
  if (!DAY.test(day))
@@ -759,7 +816,7 @@ const timetrackCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
759
816
  return printedQueued({ queued, what: `read the agent sessions of ${paths.join(', ')} again${how}`, json });
760
817
  }
761
818
  if (subcommand === 'worklogs') {
762
- const to = (_b = positionalArgs(argv)[2]) !== null && _b !== void 0 ? _b : today();
819
+ const to = (_e = positionalArgs(argv)[2]) !== null && _e !== void 0 ? _e : today();
763
820
  const from = value !== null && value !== void 0 ? value : shiftDay(to, -6);
764
821
  if (!DAY.test(from))
765
822
  throw new Error(`Pass a day as YYYY-MM-DD, not ${from}.`);
@@ -817,7 +874,7 @@ const timetrackCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
817
874
  return printed(found, json);
818
875
  }
819
876
  if (subcommand === 'calendar') {
820
- const to = (_c = positionalArgs(argv)[2]) !== null && _c !== void 0 ? _c : today();
877
+ const to = (_f = positionalArgs(argv)[2]) !== null && _f !== void 0 ? _f : today();
821
878
  const from = value !== null && value !== void 0 ? value : shiftDay(to, -6);
822
879
  if (!DAY.test(from))
823
880
  throw new Error(`Pass a day as YYYY-MM-DD, not ${from}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"timetrack-command.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timetrack-command.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export declare const SNAPSHOT_ROW_FIELDS: readonly ["fromMs", "toMs", "issueKey", "standInId", "state", "edited", "durationMs", "unbookedMs", "unattended", "withheldIssueKey", "disputedIssueKey", "description", "laneKey", "hidden"];
2
+ type RowField = (typeof SNAPSHOT_ROW_FIELDS)[number];
3
+ export type SnapshotRow = {
4
+ id: string;
5
+ } & Partial<Record<RowField, unknown>>;
6
+ export type SnapshotDay = {
7
+ day: string;
8
+ loggedMs: number;
9
+ proposedMs: number;
10
+ rows: SnapshotRow[];
11
+ };
12
+ export type Snapshot = {
13
+ takenAt: string;
14
+ head?: string;
15
+ uncommitted?: string[];
16
+ days: SnapshotDay[];
17
+ };
18
+ export type FieldChange = {
19
+ field: string;
20
+ from: unknown;
21
+ to: unknown;
22
+ };
23
+ export type RowChange = {
24
+ id: string;
25
+ laneKey?: unknown;
26
+ fromMs?: unknown;
27
+ changes: FieldChange[];
28
+ };
29
+ export type DayDiff = {
30
+ day: string;
31
+ totals: FieldChange[];
32
+ gone: SnapshotRow[];
33
+ added: SnapshotRow[];
34
+ changed: RowChange[];
35
+ };
36
+ export type SnapshotDiff = {
37
+ changedDays: number;
38
+ changedRows: number;
39
+ days: DayDiff[];
40
+ uncommittedDiffers: boolean;
41
+ uncommittedNow: string[];
42
+ uncommittedThen: string[];
43
+ };
44
+ type DayRowsLike = {
45
+ day: string;
46
+ loggedMs: number;
47
+ proposedMs: number;
48
+ rows: object[];
49
+ hidden: object[];
50
+ };
51
+ export declare const snapshotDayOf: (found: DayRowsLike) => SnapshotDay;
52
+ /** Compares a recorded snapshot with the current one, day by day. Days only one side holds are skipped. */
53
+ export declare const diffSnapshots: (before: Snapshot, after: Snapshot) => SnapshotDiff;
54
+ export declare const diffLines: (diff: SnapshotDiff) => string[];
55
+ export {};
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.diffLines = exports.diffSnapshots = exports.snapshotDayOf = exports.SNAPSHOT_ROW_FIELDS = void 0;
4
+ exports.SNAPSHOT_ROW_FIELDS = [
5
+ 'fromMs',
6
+ 'toMs',
7
+ 'issueKey',
8
+ 'standInId',
9
+ 'state',
10
+ 'edited',
11
+ 'durationMs',
12
+ 'unbookedMs',
13
+ 'unattended',
14
+ 'withheldIssueKey',
15
+ 'disputedIssueKey',
16
+ 'description',
17
+ 'laneKey',
18
+ 'hidden',
19
+ ];
20
+ const snapshotDayOf = (found) => ({
21
+ day: found.day,
22
+ loggedMs: found.loggedMs,
23
+ proposedMs: found.proposedMs,
24
+ rows: [...found.rows, ...found.hidden].map((row) => {
25
+ const source = row;
26
+ const kept = { id: String(source['id']) };
27
+ exports.SNAPSHOT_ROW_FIELDS.forEach((field) => {
28
+ if (source[field] !== undefined)
29
+ kept[field] = source[field];
30
+ });
31
+ return kept;
32
+ }),
33
+ });
34
+ exports.snapshotDayOf = snapshotDayOf;
35
+ const same = (left, right) => JSON.stringify(left) === JSON.stringify(right);
36
+ const changesOf = (before, after) => exports.SNAPSHOT_ROW_FIELDS.filter((field) => !same(before[field], after[field])).map((field) => ({
37
+ field,
38
+ from: before[field],
39
+ to: after[field],
40
+ }));
41
+ const laneStart = (row) => `${String(row.laneKey)}@${String(row.fromMs)}`;
42
+ const diffDay = (before, after) => {
43
+ const totals = ['loggedMs', 'proposedMs']
44
+ .filter((field) => before[field] !== after[field])
45
+ .map((field) => ({ field, from: before[field], to: after[field] }));
46
+ const unmatched = [...after.rows];
47
+ const take = (match) => {
48
+ const index = unmatched.findIndex(match);
49
+ return index === -1 ? undefined : unmatched.splice(index, 1)[0];
50
+ };
51
+ const gone = [];
52
+ const changed = [];
53
+ const leftover = [];
54
+ before.rows.forEach((row) => {
55
+ const match = take((candidate) => candidate.id === row.id);
56
+ if (!match)
57
+ return void leftover.push(row);
58
+ const changes = changesOf(row, match);
59
+ if (changes.length)
60
+ changed.push({ id: row.id, laneKey: row.laneKey, fromMs: row.fromMs, changes });
61
+ });
62
+ leftover.forEach((row) => {
63
+ const match = row.laneKey === undefined ? undefined : take((candidate) => laneStart(candidate) === laneStart(row));
64
+ if (!match)
65
+ return void gone.push(row);
66
+ changed.push({
67
+ id: row.id,
68
+ laneKey: row.laneKey,
69
+ fromMs: row.fromMs,
70
+ changes: [{ field: 'id', from: row.id, to: match.id }, ...changesOf(row, match)],
71
+ });
72
+ });
73
+ return { day: before.day, totals, gone, added: unmatched, changed };
74
+ };
75
+ const sameSet = (left, right) => same([...left].sort(), [...right].sort());
76
+ /** Compares a recorded snapshot with the current one, day by day. Days only one side holds are skipped. */
77
+ const diffSnapshots = (before, after) => {
78
+ var _a, _b;
79
+ const days = before.days
80
+ .map((day) => {
81
+ const now = after.days.find((candidate) => candidate.day === day.day);
82
+ return now ? diffDay(day, now) : undefined;
83
+ })
84
+ .filter((diff) => diff !== undefined)
85
+ .filter((diff) => diff.totals.length || diff.gone.length || diff.added.length || diff.changed.length);
86
+ const uncommittedThen = (_a = before.uncommitted) !== null && _a !== void 0 ? _a : [];
87
+ const uncommittedNow = (_b = after.uncommitted) !== null && _b !== void 0 ? _b : [];
88
+ return {
89
+ changedDays: days.length,
90
+ changedRows: days.reduce((sum, diff) => sum + diff.gone.length + diff.added.length + diff.changed.length, 0),
91
+ days,
92
+ uncommittedDiffers: !sameSet(uncommittedThen, uncommittedNow),
93
+ uncommittedNow,
94
+ uncommittedThen,
95
+ };
96
+ };
97
+ exports.diffSnapshots = diffSnapshots;
98
+ const shown = (value) => value === undefined ? '-' : typeof value === 'string' ? value : JSON.stringify(value);
99
+ const rowLabel = (row) => `${row.id}${row.issueKey ? ` ${String(row.issueKey)}` : ''}${row.standInId ? ` stand-in ${String(row.standInId)}` : ''}`;
100
+ const diffLines = (diff) => {
101
+ const lines = [`${diff.changedDays} day(s), ${diff.changedRows} row(s) changed`];
102
+ if (diff.uncommittedDiffers) {
103
+ const added = diff.uncommittedNow.filter((file) => !diff.uncommittedThen.includes(file));
104
+ const removed = diff.uncommittedThen.filter((file) => !diff.uncommittedNow.includes(file));
105
+ lines.push(`! The uncommitted files differ from the snapshot (another session may have edits live in the app): +${added.length} -${removed.length}`, ...added.map((file) => ` + ${file}`), ...removed.map((file) => ` - ${file}`));
106
+ }
107
+ diff.days.forEach((day) => {
108
+ lines.push(day.day);
109
+ day.totals.forEach((total) => lines.push(` ${total.field}: ${shown(total.from)} → ${shown(total.to)}`));
110
+ day.gone.forEach((row) => lines.push(` gone ${rowLabel(row)}`));
111
+ day.added.forEach((row) => lines.push(` new ${rowLabel(row)}`));
112
+ day.changed.forEach((row) => {
113
+ lines.push(` changed ${row.id}`);
114
+ row.changes.forEach((change) => lines.push(` ${change.field}: ${shown(change.from)} → ${shown(change.to)}`));
115
+ });
116
+ });
117
+ return lines;
118
+ };
119
+ exports.diffLines = diffLines;
120
+ //# sourceMappingURL=timetrack-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetrack-snapshot.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack-snapshot.ts"],"names":[],"mappings":"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"}