@outfitter/tooling 0.2.0 → 0.2.2

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.
@@ -1,66 +1,66 @@
1
1
  {
2
- // Outfitter markdownlint preset
3
- // https://github.com/DavidAnson/markdownlint
2
+ // Outfitter markdownlint preset
3
+ // https://github.com/DavidAnson/markdownlint
4
4
 
5
- "config": {
6
- // Headings
7
- "MD003": { "style": "atx" }, // ATX-style headings (# Heading)
8
- "MD022": { "lines_above": 1, "lines_below": 1 }, // Blank lines around headings
9
- "MD024": { "siblings_only": true }, // Allow duplicate headings in different sections
10
- "MD041": false, // First line doesn't need to be h1 (frontmatter, etc.)
5
+ "config": {
6
+ // Headings
7
+ "MD003": { "style": "atx" }, // ATX-style headings (# Heading)
8
+ "MD022": { "lines_above": 1, "lines_below": 1 }, // Blank lines around headings
9
+ "MD024": { "siblings_only": true }, // Allow duplicate headings in different sections
10
+ "MD041": false, // First line doesn't need to be h1 (frontmatter, etc.)
11
11
 
12
- // Line length - disabled for prose flexibility
13
- "MD013": false,
12
+ // Line length - disabled for prose flexibility
13
+ "MD013": false,
14
14
 
15
- // Lists
16
- "MD004": { "style": "dash" }, // Unordered list style: dash (-)
17
- "MD007": { "indent": 2 }, // List indentation: 2 spaces
18
- "MD032": true, // Blank lines around lists
15
+ // Lists
16
+ "MD004": { "style": "dash" }, // Unordered list style: dash (-)
17
+ "MD007": { "indent": 2 }, // List indentation: 2 spaces
18
+ "MD032": true, // Blank lines around lists
19
19
 
20
- // Code blocks
21
- "MD040": true, // Fenced code blocks should have a language
22
- "MD046": { "style": "fenced" }, // Code block style: fenced (```)
23
- "MD048": { "style": "backtick" }, // Code fence style: backticks
20
+ // Code blocks
21
+ "MD040": true, // Fenced code blocks should have a language
22
+ "MD046": { "style": "fenced" }, // Code block style: fenced (```)
23
+ "MD048": { "style": "backtick" }, // Code fence style: backticks
24
24
 
25
- // Links
26
- "MD034": true, // No bare URLs (use <url> or [text](url))
25
+ // Links
26
+ "MD034": true, // No bare URLs (use <url> or [text](url))
27
27
 
28
- // Whitespace
29
- "MD009": { "br_spaces": 2 }, // Allow 2 trailing spaces for <br>
30
- "MD010": { "spaces_per_tab": 2 }, // Tabs to spaces
31
- "MD012": { "maximum": 1 }, // Max 1 consecutive blank line
32
- "MD047": true, // Files should end with newline
28
+ // Whitespace
29
+ "MD009": { "br_spaces": 2 }, // Allow 2 trailing spaces for <br>
30
+ "MD010": { "spaces_per_tab": 2 }, // Tabs to spaces
31
+ "MD012": { "maximum": 1 }, // Max 1 consecutive blank line
32
+ "MD047": true, // Files should end with newline
33
33
 
34
- // HTML - allow for GitHub-specific elements
35
- "MD033": {
36
- "allowed_elements": [
37
- "details",
38
- "summary",
39
- "kbd",
40
- "br",
41
- "sup",
42
- "sub",
43
- "img",
44
- "picture",
45
- "source",
46
- "a"
47
- ]
48
- },
34
+ // HTML - allow for GitHub-specific elements
35
+ "MD033": {
36
+ "allowed_elements": [
37
+ "details",
38
+ "summary",
39
+ "kbd",
40
+ "br",
41
+ "sup",
42
+ "sub",
43
+ "img",
44
+ "picture",
45
+ "source",
46
+ "a"
47
+ ]
48
+ },
49
49
 
50
- // Emphasis
51
- "MD049": { "style": "asterisk" }, // Emphasis style: *italic*
52
- "MD050": { "style": "asterisk" } // Strong style: **bold**
53
- },
50
+ // Emphasis
51
+ "MD049": { "style": "asterisk" }, // Emphasis style: *italic*
52
+ "MD050": { "style": "asterisk" } // Strong style: **bold**
53
+ },
54
54
 
55
- // Ignore patterns
56
- "ignores": [
57
- "node_modules/**",
58
- "**/node_modules/**",
59
- "dist/**",
60
- "**/dist/**",
61
- ".turbo/**",
62
- "**/.turbo/**",
63
- "CHANGELOG.md",
64
- "**/CHANGELOG.md"
65
- ]
55
+ // Ignore patterns
56
+ "ignores": [
57
+ "node_modules/**",
58
+ "**/node_modules/**",
59
+ "dist/**",
60
+ "**/dist/**",
61
+ ".turbo/**",
62
+ "**/.turbo/**",
63
+ "CHANGELOG.md",
64
+ "**/CHANGELOG.md"
65
+ ]
66
66
  }
package/README.md CHANGED
@@ -68,18 +68,22 @@ bunx @outfitter/tooling upgrade-bun 1.4.0 --no-install
68
68
 
69
69
  ### `tooling pre-push`
70
70
 
71
- TDD-aware pre-push test hook. Detects RED phase branches and skips tests by design.
71
+ TDD-aware pre-push strict verification hook. Detects RED phase branches and skips verification by design.
72
72
 
73
73
  RED phase branches follow these patterns:
74
74
  - `*-tests` (e.g., `feature/auth-tests`)
75
75
  - `*/tests` (e.g., `feature/auth/tests`)
76
76
  - `*_tests` (e.g., `feature/auth_tests`)
77
77
 
78
+ Verification order:
79
+ 1. Run `verify:ci` if present.
80
+ 2. Otherwise run strict fallback: `typecheck`, `check|lint`, `build`, `test`.
81
+
78
82
  ```bash
79
83
  # Normal usage (in lefthook.yml)
80
84
  bunx @outfitter/tooling pre-push
81
85
 
82
- # Force skip tests
86
+ # Force skip verification
83
87
  bunx @outfitter/tooling pre-push --force
84
88
  ```
85
89
 
@@ -124,7 +128,7 @@ extends:
124
128
 
125
129
  Default hooks:
126
130
  - **pre-commit**: Runs ultracite on staged files, typechecks
127
- - **pre-push**: Runs build, then TDD-aware tests via `tooling pre-push`
131
+ - **pre-push**: Runs TDD-aware strict verification via `tooling pre-push`
128
132
 
129
133
  ### markdownlint
130
134
 
package/biome.json CHANGED
@@ -1,74 +1,81 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3
- "root": false,
4
- "javascript": {
5
- "globals": ["Bun"]
6
- },
7
- "linter": {
8
- "rules": {
9
- "complexity": {
10
- "useLiteralKeys": "off",
11
- "noVoid": "off",
12
- "noExcessiveCognitiveComplexity": "off"
13
- },
14
- "performance": {
15
- "useTopLevelRegex": "off"
16
- },
17
- "style": {
18
- "useBlockStatements": "off"
19
- },
20
- "suspicious": {
21
- "noConsole": "error"
22
- }
23
- }
24
- },
25
- "vcs": {
26
- "enabled": true,
27
- "clientKind": "git",
28
- "useIgnoreFile": true
29
- },
30
- "files": {
31
- "ignoreUnknown": true,
32
- "includes": ["!**/node_modules", "!**/dist", "!**/.turbo", "!**/*.gen.ts"]
33
- },
34
- "overrides": [
35
- {
36
- "includes": ["packages/*/src/index.ts", "apps/*/src/index.ts", "**/index.ts"],
37
- "linter": {
38
- "rules": {
39
- "performance": {
40
- "noBarrelFile": "off"
41
- }
42
- }
43
- }
44
- },
45
- {
46
- "includes": ["**/*.test.ts", "**/__tests__/**/*"],
47
- "linter": {
48
- "rules": {
49
- "suspicious": {
50
- "useAwait": "off",
51
- "noConsole": "off"
52
- },
53
- "performance": {
54
- "noDelete": "off"
55
- }
56
- }
57
- }
58
- },
59
- {
60
- "includes": [
61
- "apps/**/*.ts",
62
- "scripts/**/*.ts",
63
- "**/scripts/**/*.ts"
64
- ],
65
- "linter": {
66
- "rules": {
67
- "suspicious": {
68
- "noConsole": "off"
69
- }
70
- }
71
- }
72
- }
73
- ]
2
+ "$schema": "https://biomejs.dev/schemas/2.3.12/schema.json",
3
+ "root": false,
4
+ "javascript": {
5
+ "globals": ["Bun"]
6
+ },
7
+ "linter": {
8
+ "rules": {
9
+ "complexity": {
10
+ "useLiteralKeys": "off",
11
+ "noVoid": "off",
12
+ "noExcessiveCognitiveComplexity": "off"
13
+ },
14
+ "performance": {
15
+ "useTopLevelRegex": "off"
16
+ },
17
+ "style": {
18
+ "useBlockStatements": "off"
19
+ },
20
+ "suspicious": {
21
+ "noConsole": "error"
22
+ }
23
+ }
24
+ },
25
+ "vcs": {
26
+ "enabled": true,
27
+ "clientKind": "git",
28
+ "useIgnoreFile": true
29
+ },
30
+ "files": {
31
+ "ignoreUnknown": true,
32
+ "includes": [
33
+ "**",
34
+ "!**/node_modules",
35
+ "!**/dist",
36
+ "!**/.turbo",
37
+ "!**/*.gen.ts",
38
+ "!registry/registry.json"
39
+ ]
40
+ },
41
+ "overrides": [
42
+ {
43
+ "includes": [
44
+ "packages/*/src/index.ts",
45
+ "apps/*/src/index.ts",
46
+ "**/index.ts"
47
+ ],
48
+ "linter": {
49
+ "rules": {
50
+ "performance": {
51
+ "noBarrelFile": "off"
52
+ }
53
+ }
54
+ }
55
+ },
56
+ {
57
+ "includes": ["**/*.test.ts", "**/__tests__/**/*"],
58
+ "linter": {
59
+ "rules": {
60
+ "suspicious": {
61
+ "useAwait": "off",
62
+ "noConsole": "off"
63
+ },
64
+ "performance": {
65
+ "noDelete": "off"
66
+ }
67
+ }
68
+ }
69
+ },
70
+ {
71
+ "includes": ["apps/**/*.ts", "scripts/**/*.ts", "**/scripts/**/*.ts"],
72
+ "linter": {
73
+ "rules": {
74
+ "suspicious": {
75
+ "noConsole": "off"
76
+ }
77
+ }
78
+ }
79
+ }
80
+ ]
74
81
  }
package/dist/cli/check.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  buildCheckCommand,
4
4
  runCheck
5
- } from "../shared/@outfitter/tooling-xx1146e3.js";
5
+ } from "../shared/@outfitter/tooling-0x5q15ec.js";
6
6
  export {
7
7
  runCheck,
8
8
  buildCheckCommand
package/dist/cli/fix.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  buildFixCommand,
4
4
  runFix
5
- } from "../shared/@outfitter/tooling-s4eqq91d.js";
5
+ } from "../shared/@outfitter/tooling-9errkcvk.js";
6
6
  export {
7
7
  runFix,
8
8
  buildFixCommand