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
|
|
3
|
+
Scaffold a new Quilltap theme with a single command.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Bundle format (default, recommended)
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
npx create-quilltap-theme my-theme
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
106
|
+
### Plugin themes (deprecated)
|
|
84
107
|
|
|
85
108
|
```bash
|
|
86
|
-
|
|
109
|
+
cd qtap-plugin-theme-my-theme
|
|
110
|
+
npm install
|
|
111
|
+
npm run build
|
|
112
|
+
npm publish --access public
|
|
87
113
|
```
|
|
88
114
|
|
|
89
|
-
|
|
115
|
+
## Managing themes via CLI
|
|
90
116
|
|
|
91
117
|
```bash
|
|
92
|
-
|
|
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.
|
|
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": "^
|
|
39
|
-
"esbuild": "^0.27.
|
|
40
|
-
"typescript": "^5.
|
|
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
|