@tsfpp/agents 1.2.2 → 1.2.3
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 +17 -0
- package/copilot/agents/tsfpp-audit.agent.md +12 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,23 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
+
## [1.2.3] - 2026-05-16
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- Added `react` and `data` as supported focus values for `copilot/agents/tsfpp-audit.agent.md`.
|
|
18
|
+
- Added Data profile overlay support via `node_modules/@tsfpp/standard/spec/DATA_CODING_STANDARD.md`.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Updated TSF++ standard reference paths in `copilot/agents/tsfpp-audit.agent.md` to `node_modules/@tsfpp/standard/spec/*.md`.
|
|
23
|
+
- Updated audit startup prompt and argument hints to include React and Data focused targets.
|
|
24
|
+
|
|
25
|
+
### Removed
|
|
26
|
+
|
|
27
|
+
- Removed checklist rule `8.x` (prelude ADT/helper reuse enforcement) from the base audit template.
|
|
28
|
+
- Simplified checklist rule `9.x` from broad dependency hygiene checks to a direct `ramda` import guard.
|
|
29
|
+
|
|
13
30
|
## [1.2.2] - 2026-05-16
|
|
14
31
|
|
|
15
32
|
### Fixed
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: TSF++ standards compliance auditor. Produces a structured markdown report in docs/audits/ with per-slice checkboxes.
|
|
3
3
|
name: tsfpp-audit
|
|
4
|
-
argument-hint: "target=<path|package|layer> focus=<all|types|boundary|complexity|loc|annotations|security>"
|
|
4
|
+
argument-hint: "target=<path|package|layer> focus=<all|types|boundary|complexity|loc|annotations|security|react|data>"
|
|
5
5
|
tools:
|
|
6
6
|
- edit/createFile
|
|
7
7
|
- edit/editFiles
|
|
@@ -29,6 +29,7 @@ The canonical standard is at `node_modules/@tsfpp/standard/spec/CODING_STANDARD.
|
|
|
29
29
|
Profile overlays:
|
|
30
30
|
- API: `node_modules/@tsfpp/standard/spec/API_CODING_STANDARD.md`
|
|
31
31
|
- React: `node_modules/@tsfpp/standard/spec/REACT_CODING_STANDARD.md`
|
|
32
|
+
- Data: `node_modules/@tsfpp/standard/spec/DATA_CODING_STANDARD.md`
|
|
32
33
|
- Security: `node_modules/@tsfpp/standard/spec/SECURITY_CODING_STANDARD.md`
|
|
33
34
|
|
|
34
35
|
If any referenced file is missing, stop immediately and report the path. Do not proceed.
|
|
@@ -42,7 +43,7 @@ If any referenced file is missing, stop immediately and report the path. Do not
|
|
|
42
43
|
If the user has not provided both `target` and `focus`, ask exactly this:
|
|
43
44
|
|
|
44
45
|
> **Target** — path, package name, or layer to audit (e.g. `src/domain`, `@tsfpp/prelude`, `api layer`)?
|
|
45
|
-
> **Focus** — `all` · `types` · `boundary` · `complexity` · `loc` · `annotations` · `security` · or comma-separated combination?
|
|
46
|
+
> **Focus** — `all` · `types` · `boundary` · `complexity` · `loc` · `annotations` · `security` · `react` · `data` · or comma-separated combination?
|
|
46
47
|
|
|
47
48
|
Do not proceed until both are confirmed.
|
|
48
49
|
|
|
@@ -132,8 +133,7 @@ Append each completed slice to the report:
|
|
|
132
133
|
- [x] 5.1 — Pipelines via `pipe` from prelude
|
|
133
134
|
- [x] 6.x — No `throw` in core
|
|
134
135
|
- [x] 7.x — JSDoc on all exports
|
|
135
|
-
- [x]
|
|
136
|
-
- [x] 9.x — Dependency hygiene (no deprecated dependencies, no banned imports per policy, no layer-violating imports)
|
|
136
|
+
- [x] 9.x — No direct `ramda` import
|
|
137
137
|
|
|
138
138
|
#### Deviation register
|
|
139
139
|
|
|
@@ -147,10 +147,10 @@ Append each completed slice to the report:
|
|
|
147
147
|
## Focus-specific rule sets
|
|
148
148
|
|
|
149
149
|
### `types`
|
|
150
|
-
1.4 (no bare interface) · 1.5 (no `any`) · 1.6 (no `!` or `as`) · 3.x (readonly) · branded types on domain primitives · smart constructor completeness · exhaustive sum-type dispatch
|
|
150
|
+
1.4 (no bare interface) · 1.5 (no `any`) · 1.6 (no `!` or `as`) · 3.x (readonly) · branded types on domain primitives · smart constructor completeness · exhaustive sum-type dispatch
|
|
151
151
|
|
|
152
152
|
### `boundary`
|
|
153
|
-
API_CODING_STANDARD.md Rules 1–5 · Zod schema completeness · Result/Option at I/O · `extractContext` usage · `apiErrorToResponse` coverage · no raw `throw` across boundaries · `@tsfpp/boundary` response builders used
|
|
153
|
+
API_CODING_STANDARD.md Rules 1–5 · Zod schema completeness · Result/Option at I/O · `extractContext` usage · `apiErrorToResponse` coverage · no raw `throw` across boundaries · `@tsfpp/boundary` response builders used
|
|
154
154
|
|
|
155
155
|
### `complexity`
|
|
156
156
|
Function body ≤ 40 lines · cyclomatic complexity ≤ 10 · nesting ≤ 4 · arity ≤ 3 positional params · pipeline depth ≤ 8 stages
|
|
@@ -164,6 +164,12 @@ JSDoc on every export · `@param` + `@returns` present · `@law` on combinators
|
|
|
164
164
|
### `security`
|
|
165
165
|
SECURITY_CODING_STANDARD.md: input validation at boundaries · no secrets in code · no sensitive data in errors · auth/authz at correct layer · dependency hygiene
|
|
166
166
|
|
|
167
|
+
### `react`
|
|
168
|
+
REACT_CODING_STANDARD.md: component shape and explicit return types · readonly props contracts · state model quality · effect discipline (`useEffect` only for external sync) · server state via TanStack Query · form and routing standards
|
|
169
|
+
|
|
170
|
+
### `data`
|
|
171
|
+
DATA_CODING_STANDARD.md: schema-first design · migration safety and reversibility · repository/query boundaries · transaction discipline · index/key correctness · deterministic data transformation and serialization at boundaries
|
|
172
|
+
|
|
167
173
|
### `all`
|
|
168
174
|
All focus areas above in sequence.
|
|
169
175
|
|