create-quilltap-theme 2.0.0 → 2.0.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.
package/README.md CHANGED
@@ -1,27 +1,31 @@
1
1
  # create-quilltap-theme
2
2
 
3
- Scaffold a new Quilltap theme plugin with a single command.
3
+ Scaffold a new Quilltap theme with a single command.
4
4
 
5
5
  ## Usage
6
6
 
7
- ### Using npm init (recommended)
7
+ ### Bundle format (default, recommended)
8
8
 
9
9
  ```bash
10
- npm init quilltap-theme my-theme
10
+ npx create-quilltap-theme my-theme
11
11
  ```
12
12
 
13
- ### Using npx
13
+ This creates a `.qtap-theme` bundle directory — a simple, declarative format with JSON tokens, CSS, and fonts. No build tools, npm packages, or TypeScript required.
14
+
15
+ ### Legacy plugin format (deprecated)
14
16
 
15
17
  ```bash
16
- npx create-quilltap-theme my-theme
18
+ npx create-quilltap-theme my-theme --plugin
17
19
  ```
18
20
 
21
+ Creates an npm-based theme plugin. This format is deprecated; use bundles for new themes.
22
+
19
23
  ### Interactive mode
20
24
 
21
25
  Run without arguments for interactive prompts:
22
26
 
23
27
  ```bash
24
- npm init quilltap-theme
28
+ npx create-quilltap-theme
25
29
  ```
26
30
 
27
31
  ### Skip prompts
@@ -29,11 +33,24 @@ npm init quilltap-theme
29
33
  Use `-y` or `--yes` to use defaults:
30
34
 
31
35
  ```bash
32
- npm init quilltap-theme my-theme --yes
36
+ npx create-quilltap-theme my-theme --yes
33
37
  ```
34
38
 
35
39
  ## What gets created
36
40
 
41
+ ### Bundle format (default)
42
+
43
+ ```
44
+ my-theme/
45
+ ├── theme.json # Theme manifest with metadata and tokens
46
+ ├── tokens.json # Design tokens (colors, fonts, spacing)
47
+ ├── styles.css # CSS component overrides
48
+ ├── fonts/ # Custom font files (add .woff2 files here)
49
+ └── README.md # Documentation
50
+ ```
51
+
52
+ ### Plugin format (--plugin)
53
+
37
54
  ```
38
55
  qtap-plugin-theme-my-theme/
39
56
  ├── package.json # npm package configuration
@@ -57,6 +74,7 @@ qtap-plugin-theme-my-theme/
57
74
 
58
75
  | Option | Description |
59
76
  |--------|-------------|
77
+ | `--plugin` | Create a legacy npm plugin instead of a bundle |
60
78
  | `-y, --yes` | Skip prompts and use default values |
61
79
  | `-h, --help` | Show help message |
62
80
 
@@ -69,38 +87,49 @@ When run without `--yes`, you'll be asked:
69
87
  3. **Author name** - Your name
70
88
  4. **Author email** - Your email
71
89
  5. **Primary color** - Main theme color in HSL format
72
- 6. **Include CSS overrides?** - Whether to create styles.css
73
- 7. **Include Storybook?** - Whether to set up Storybook for development
90
+ 6. **Include CSS overrides?** - Whether to create styles.css (bundle and plugin)
91
+ 7. **Include Storybook?** - Whether to set up Storybook for development (plugin only)
74
92
 
75
93
  ## Next steps after scaffolding
76
94
 
95
+ ### Bundle themes
96
+
77
97
  ```bash
78
- cd qtap-plugin-theme-my-theme
79
- npm install
80
- npm run build
98
+ cd my-theme
99
+ # Edit theme.json, tokens.json, and styles.css
100
+ # Then install into Quilltap:
101
+ npx quilltap themes install .
102
+ # Or validate first:
103
+ npx quilltap themes validate .
81
104
  ```
82
105
 
83
- To preview in Storybook (if included):
106
+ ### Plugin themes (deprecated)
84
107
 
85
108
  ```bash
86
- npm run storybook
109
+ cd qtap-plugin-theme-my-theme
110
+ npm install
111
+ npm run build
112
+ npm publish --access public
87
113
  ```
88
114
 
89
- To publish:
115
+ ## Managing themes via CLI
90
116
 
91
117
  ```bash
92
- npm publish --access public
118
+ npx quilltap themes list # List all installed themes
119
+ npx quilltap themes install my.qtap-theme # Install a bundle
120
+ npx quilltap themes validate my.qtap-theme # Validate without installing
121
+ npx quilltap themes export earl-grey # Export any theme as a bundle
122
+ npx quilltap themes search "dark" # Search registries
123
+ npx quilltap themes update # Check for updates
93
124
  ```
94
125
 
95
126
  ## Documentation
96
127
 
97
- Every scaffolded theme includes a complete development guide at `docs/THEME_PLUGIN_DEVELOPMENT.md`.
98
-
99
128
  For the latest online documentation:
100
129
 
101
- - [Theme Plugin Development Guide](https://github.com/foundry-9/quilltap/blob/main/docs/THEME_PLUGIN_DEVELOPMENT.md)
130
+ - [Theme Plugin Development Guide](https://github.com/foundry-9/quilltap/blob/main/docs/THEME_PLUGIN_DEVELOPMENT.md) (legacy plugin format)
102
131
  - [Plugin Manifest Reference](https://github.com/foundry-9/quilltap/blob/main/docs/PLUGIN_MANIFEST.md)
103
- - [@quilltap/theme-storybook](https://www.npmjs.com/package/@quilltap/theme-storybook)
132
+ - [@quilltap/theme-storybook](https://www.npmjs.com/package/@quilltap/theme-storybook) (for plugin development with Storybook)
104
133
 
105
134
  ## License
106
135
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quilltap-theme",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Scaffold a new Quilltap theme plugin",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -35,8 +35,8 @@
35
35
  "node": ">=18.0.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@types/node": "^24.10.13",
39
- "esbuild": "^0.27.0",
40
- "typescript": "^5.0.0"
38
+ "@types/node": "^22.19.15",
39
+ "esbuild": "^0.27.4",
40
+ "typescript": "^5.9.3"
41
41
  }
42
42
  }
@@ -560,7 +560,7 @@ For advanced customization, create `styles.css` with component overrides. This u
560
560
  | `.qt-button`, `.qt-button-primary`, `.qt-button-secondary`, `.qt-button-ghost`, `.qt-button-destructive` | Button variants |
561
561
  | `.qt-button-sm`, `.qt-button-lg`, `.qt-button-icon` | Button sizes |
562
562
  | `.qt-card`, `.qt-card-header`, `.qt-card-body`, `.qt-card-footer` | Card components |
563
- | `.qt-card-interactive`, `.qt-entity-card`, `.qt-panel` | Card variants |
563
+ | `.qt-card-interactive`, `.qt-entity-card`, `.qt-character-card`, `.qt-panel` | Card variants |
564
564
  | `.qt-input`, `.qt-textarea`, `.qt-select` | Form inputs |
565
565
  | `.qt-badge`, `.qt-badge-primary`, `.qt-badge-secondary`, `.qt-badge-outline` | Badges |
566
566
  | `.qt-avatar`, `.qt-avatar-sm`, `.qt-avatar-lg`, `.qt-avatar-xl` | Avatars |
@@ -588,6 +588,7 @@ Override these variables for consistent component styling:
588
588
  --qt-card-padding
589
589
  --qt-card-shadow
590
590
  --qt-card-border
591
+ --qt-character-card-padding
591
592
 
592
593
  /* Inputs */
593
594
  --qt-input-radius