@trebired/configs 0.4.0 → 0.6.0

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.
Files changed (36) hide show
  1. package/.trebired/code-discipline/{config.ts → preset_01/config.ts} +1 -1
  2. package/.trebired/frontend/preset_01/action_control.ts +43 -0
  3. package/.trebired/frontend/preset_01/button.ts +203 -0
  4. package/.trebired/frontend/preset_01/choice.ts +19 -0
  5. package/.trebired/frontend/preset_01/components.ts +21 -0
  6. package/.trebired/frontend/preset_01/config.ts +40 -0
  7. package/.trebired/frontend/preset_01/data.ts +33 -0
  8. package/.trebired/frontend/preset_01/disclosure.ts +10 -0
  9. package/.trebired/frontend/preset_01/dot.ts +5 -0
  10. package/.trebired/frontend/preset_01/dropdown.ts +25 -0
  11. package/.trebired/frontend/preset_01/feedback.ts +56 -0
  12. package/.trebired/frontend/preset_01/input.ts +31 -0
  13. package/.trebired/frontend/preset_01/loader.ts +8 -0
  14. package/.trebired/frontend/preset_01/marquee.ts +19 -0
  15. package/.trebired/frontend/preset_01/media.ts +63 -0
  16. package/.trebired/frontend/preset_01/overlays.ts +111 -0
  17. package/.trebired/frontend/preset_01/palette.ts +111 -0
  18. package/.trebired/frontend/preset_01/pill.ts +12 -0
  19. package/.trebired/frontend/preset_01/primitives.ts +39 -0
  20. package/.trebired/frontend/preset_01/progress.ts +11 -0
  21. package/.trebired/frontend/preset_01/quote.ts +13 -0
  22. package/.trebired/frontend/preset_01/shell.ts +251 -0
  23. package/.trebired/frontend/preset_01/steps.ts +6 -0
  24. package/.trebired/frontend/preset_01/surfaces.ts +276 -0
  25. package/.trebired/frontend/preset_01/systems.ts +20 -0
  26. package/.trebired/frontend/preset_01/tabs.ts +42 -0
  27. package/.trebired/frontend/preset_01/text_link.ts +37 -0
  28. package/.trebired/frontend/preset_01/theme.ts +51 -0
  29. package/.trebired/frontend/preset_01/toggle.ts +17 -0
  30. package/.trebired/frontend/preset_01/tokens.ts +37 -0
  31. package/.trebired/frontend/preset_01/typography.ts +20 -0
  32. package/.trebired/frontend/preset_01/upload.ts +108 -0
  33. package/.trebired/frontend/preset_01/wizard.ts +6 -0
  34. package/CHANGELOG.md +12 -0
  35. package/README.md +41 -9
  36. package/package.json +20 -11
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # @trebired/configs
2
2
 
3
- Shared Trebired configuration presets for package tooling.
3
+ Shared Trebired configuration presets for Code Discipline and `@trebired/frontend`.
4
4
 
5
- This package owns reusable Trebired tool configuration payloads. Callers own their repository-specific overrides, banned patterns, source boundaries, and package-specific runtime configs.
5
+ This package owns reusable Trebired configuration payloads. Callers own their repository-specific overrides, banned patterns, source boundaries, and their own `@trebired/frontend` containers.
6
6
 
7
7
  ## Install
8
8
 
@@ -14,35 +14,67 @@ bun i @trebired/configs
14
14
 
15
15
  ## Quick Start
16
16
 
17
- Use the package as an external Code Discipline preset:
17
+ Name a preset as `<package>/<tool>/<preset>` in that tool's config:
18
18
 
19
19
  ```ts
20
20
  import { defineConfig } from "@trebired/code-discipline";
21
21
 
22
22
  export default defineConfig({
23
23
  presets: {
24
- use: ["@trebired/configs"],
24
+ use: ["@trebired/configs/code-discipline/preset_01"],
25
25
  },
26
26
  });
27
27
  ```
28
28
 
29
29
  ## Configuration
30
30
 
31
- ### Code Discipline
31
+ ### Presets per tool
32
32
 
33
- The root export points at `.trebired/code-discipline/config.ts`. The config declares the Code Discipline major and minor version it targets through `forVersion`.
33
+ Each tool's presets live in that tool's folder, one folder per named preset:
34
34
 
35
- Repositories add only their own overrides in `.trebired/code-discipline/config.ts`.
35
+ | Preset | File | Name in `presets.use` |
36
+ | --- | --- | --- |
37
+ | Code Discipline `preset_01` | `.trebired/code-discipline/preset_01/config.ts` | `@trebired/configs/code-discipline/preset_01` |
38
+ | Frontend `preset_01` | `.trebired/frontend/preset_01/config.ts` | `@trebired/configs/frontend/preset_01` |
39
+
40
+ Every tool resolves these names through `applyPresets` in `@trebired/utils`. A name always carries the package, the tool and the preset, and a tool refuses a preset written for another tool. Each preset declares the tool version it targets through `forVersion`.
41
+
42
+ ### Code Discipline preset_01
43
+
44
+ `preset_01` is the Trebired baseline: comment removal, aliases, formatting, structural blank lines, 350-line files, 50-line functions, 150-character lines, the duplicate check and the banned spec files. Repositories add only their own overrides.
45
+
46
+ ### Frontend preset_01
47
+
48
+ `preset_01` is a complete `@trebired/frontend` config: fonts, icon packs, the palette with its dark and light modes, semantic tokens, the touch-target floor, the theme, runtime options, systems, and every token of every package component, motion included. An application adds only its own containers:
49
+
50
+ ```ts
51
+ import { defineConfig } from "@trebired/frontend/config";
52
+
53
+ import { containers } from "./containers";
54
+
55
+ export default defineConfig({
56
+ forVersion: "29.11.0",
57
+ presets: {
58
+ use: ["@trebired/configs/frontend/preset_01"],
59
+ },
60
+ containers,
61
+ });
62
+ ```
63
+
64
+ The application installs the packages the preset names: `@fontsource/inter`, `remixicon`, `simple-icons` and `material-icon-theme`. A missing icon pack renders no icons from that pack.
65
+
66
+ `@trebired/frontend` is an optional peer dependency. A repository that loads only the Code Discipline preset does not install it.
36
67
 
37
68
  ## Public API
38
69
 
39
- The package exports one default config object from the package root. It does not export helper functions.
70
+ The package has no import entry. Tools read its presets from the `.trebired/<tool>/<preset>/` folders through `@trebired/utils`. The package exports no helper functions.
40
71
 
41
72
  ## What It Does Not Do
42
73
 
43
74
  This package does not:
44
75
 
45
76
  - Own application-specific banned patterns.
46
- - Own package runtime config.
77
+ - Own an application's frontend containers. A frontend preset styles the package's components; each application declares its own boxes.
78
+ - Set `forVersion` for an application's frontend config. The application states the `@trebired/frontend` version it targets.
47
79
  - Wrap or replace `@trebired/code-discipline`.
48
80
  - Ship generated alias maps for consuming repositories.
package/package.json CHANGED
@@ -8,8 +8,8 @@
8
8
  }
9
9
  },
10
10
  "name": "@trebired/configs",
11
- "version": "0.4.0",
12
- "description": "Shared Trebired package configuration presets.",
11
+ "version": "0.6.0",
12
+ "description": "Shared Trebired configuration presets for Code Discipline and @trebired/frontend.",
13
13
  "type": "module",
14
14
  "private": false,
15
15
  "license": "MIT",
@@ -17,20 +17,29 @@
17
17
  "engines": {
18
18
  "bun": ">=1.0.0"
19
19
  },
20
- "main": "./.trebired/code-discipline/config.ts",
21
- "types": "./.trebired/code-discipline/config.ts",
22
- "exports": {
23
- ".": {
24
- "import": "./.trebired/code-discipline/config.ts",
25
- "types": "./.trebired/code-discipline/config.ts"
26
- }
27
- },
28
20
  "files": [
29
- ".trebired/code-discipline/config.ts",
21
+ ".trebired/code-discipline/preset_01",
22
+ ".trebired/frontend/preset_01",
30
23
  "CHANGELOG.md",
31
24
  "LICENSE",
32
25
  "README.md"
33
26
  ],
27
+ "scripts": {
28
+ "typecheck": "tsc --noEmit"
29
+ },
30
+ "peerDependencies": {
31
+ "@trebired/frontend": "^29.11.0"
32
+ },
33
+ "peerDependenciesMeta": {
34
+ "@trebired/frontend": {
35
+ "optional": true
36
+ }
37
+ },
38
+ "devDependencies": {
39
+ "@trebired/code-discipline": "^8.0.1",
40
+ "@trebired/frontend": "^29.11.0",
41
+ "typescript": "^6.0.3"
42
+ },
34
43
  "repository": {
35
44
  "type": "git",
36
45
  "url": "git@github.com:Trebired/configs.git"