@squadbase/vantage-template 0.1.1-dev1.93eba00 → 0.1.1-dev1.a4351c2
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/base-template/.squadbase/skills/vantage-design/SKILL.md +10 -2
- package/base-template/AGENTS.md +4 -1
- package/base-template/agents/page.md +10 -0
- package/base-template/bun.lock +4 -4
- package/base-template/bunfig.toml +5 -0
- package/base-template/package.json +2 -2
- package/base-template/src/styles.css +6 -4
- package/package.json +16 -16
|
@@ -77,19 +77,27 @@ Vantage アプリの見た目は 2 つのファイルで決まる。
|
|
|
77
77
|
|
|
78
78
|
```css
|
|
79
79
|
body {
|
|
80
|
-
font-family: "<Font>",
|
|
80
|
+
font-family: "<Font>", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, ui-sans-serif, system-ui, sans-serif;
|
|
81
81
|
}
|
|
82
82
|
:root {
|
|
83
|
-
--slide-font-display: "<Font>",
|
|
83
|
+
--slide-font-display: "<Font>", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, system-ui, sans-serif;
|
|
84
84
|
--slide-font-body: var(--slide-font-display);
|
|
85
85
|
}
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
欧文の Web フォントだけを先頭に足すときも、日本語の system face(`"Hiragino Sans"` 〜 `Meiryo`)は
|
|
89
89
|
必ず残す。消すとカナ・漢字がブラウザ任せのフォールバックになり、細く表示される。
|
|
90
|
+
`ui-sans-serif` / `system-ui` は日本語の face より**後ろ**に置く。日本語の Windows ではどちらも
|
|
91
|
+
Yu Gothic UI(UI のリサイズを避けるために字幅を詰めた書体)に解決され、カナがここで決まって
|
|
92
|
+
半角風に見える。macOS の Chrome は `-apple-system` を解釈しないので `BlinkMacSystemFont` も並べる。
|
|
93
|
+
既存アプリの `styles.css` に `ui-sans-serif, system-ui, …` が先頭にある、または `"Yu Gothic UI"` が
|
|
94
|
+
残っているときは、`body` の `font-family` を上の並びに直す(ほかの行は書き換えない)。
|
|
90
95
|
日本語の Web フォントは face が 100 を超えるので原則使わない(pptx 書き出しも壊れる。
|
|
91
96
|
`vantage-slide` の `references/tokens.md` 参照)。
|
|
92
97
|
|
|
98
|
+
長い表(ダッシュボード): カードに `max-h-*` + `overflow-y-auto` の縦スクロール領域を作らず、
|
|
99
|
+
ページング付きの `DataTablePreset`(`enablePagination`)にする(ホイールや End キーがページに届かなくなるため)。
|
|
100
|
+
|
|
93
101
|
`DESIGN.md`: `references/format.md` の書式で書く。**色コードを書かない**(トークン名だけ)。
|
|
94
102
|
150 行を超えない(超えると `vantage check` が `DESIGN_MD_TOO_LONG` を出す)。ロゴなどの素材は
|
|
95
103
|
`public/brand/logo.svg` のように `public/` 配下のパスで「ブランド素材」行に書く。
|
package/base-template/AGENTS.md
CHANGED
|
@@ -245,7 +245,7 @@ vantage add skill --all --dir .claude/skills # 置き場所を指定(既定は
|
|
|
245
245
|
> `vantage upgrade` はこのファイルをフレームワーク同梱の正本で丸ごと上書きするため、
|
|
246
246
|
> このセクションは消えます。消えたら squadbase-monorepo の
|
|
247
247
|
> `packages/vantage-template/agents/vantage/` から貼り直してください
|
|
248
|
-
> (リポジトリ側では `
|
|
248
|
+
> (リポジトリ側では `pnpm run agents` が正本と結合して再生成します)。
|
|
249
249
|
|
|
250
250
|
## Squadbase の Connection / Query からデータを読む
|
|
251
251
|
|
|
@@ -402,6 +402,9 @@ lockfile は `bun.lock`)。Squadbase のサンドボックスは bun と依存
|
|
|
402
402
|
`bun install` を一度走らせて `bun.lock` を追従させ、両方を同じコミットに入れる。
|
|
403
403
|
- スクリプトは `bun run <script>`(`bun run dev` / `bun run build` / `bun run check` /
|
|
404
404
|
`bun run routes`)。`npm run <script>` でも動くが、install に npm を使わないこと。
|
|
405
|
+
- **公開から 48 時間未満の版は入らない。** `bunfig.toml` の `minimumReleaseAge`(サプライチェーン対策)で
|
|
406
|
+
弾かれる。`bun add` / `bun install` が「バージョンが見つからない」で落ちたら、直近の版を避けて
|
|
407
|
+
少し前の版を指定する。`bunfig.toml` の設定を緩めたり `@squadbase/*` 以外の除外を足したりしない。
|
|
405
408
|
|
|
406
409
|
## このアプリで作れるもの
|
|
407
410
|
|
|
@@ -177,6 +177,16 @@ refetchOnWindowFocus false・networkMode "always")。挙動を変えたいとき
|
|
|
177
177
|
`/components` の複合パーツも全部取り出せる(名前は kebab-case: `add ui bar-chart`。
|
|
178
178
|
ブロックは `add block sales-overview`。未知名で実行すると候補が一覧表示される)。
|
|
179
179
|
|
|
180
|
+
### 長い表はページングする(縦スクロール箱を作らない)
|
|
181
|
+
|
|
182
|
+
- 行が多い表は `DataTablePreset`(または `DataTable`)に `enablePagination` を付けて**ページング**する
|
|
183
|
+
(既定は 10 行 / ページ。ページングは既定で無効なので、付け忘れると全行が並ぶ)。素の `<table>` を
|
|
184
|
+
手書きして全行を流し込まない。
|
|
185
|
+
- カードの中に `max-h-*` + `overflow-y-auto` の**縦スクロール領域を作らない**。ホイールやキー
|
|
186
|
+
(End / Space)がその箱に吸われ、ページ全体がスクロールしなくなる。高さは内容に任せる。
|
|
187
|
+
- 横に広い表の `overflow-x-auto` は構わない。`SheetGrid`(`.csv` / `.xlsx` のビューア)は
|
|
188
|
+
グリッドとして意図した入れ子スクロールなので対象外。
|
|
189
|
+
|
|
180
190
|
### グラフはまず型付きチャートで描く
|
|
181
191
|
|
|
182
192
|
- 推移は `LineChart` / `AreaChart`、比較は `BarChart`、構成比は `DonutChart`。`data`(行の配列)・
|
package/base-template/bun.lock
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"name": "vibe-app",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@squadbase/react": "^0.1.0",
|
|
9
|
-
"@squadbase/vantage": "0.6.2-dev1.
|
|
10
|
-
"@squadbase/vantage-sdk": "0.1.1-dev1.
|
|
9
|
+
"@squadbase/vantage": "0.6.2-dev1.9365dcd",
|
|
10
|
+
"@squadbase/vantage-sdk": "0.1.1-dev1.9ffe708",
|
|
11
11
|
"date-fns": "^4.1.0",
|
|
12
12
|
"lucide-react": "^0.468.0",
|
|
13
13
|
"react": "^19.3.1",
|
|
@@ -196,9 +196,9 @@
|
|
|
196
196
|
|
|
197
197
|
"@squadbase/react": ["@squadbase/react@0.1.0", "", { "dependencies": { "zod": "^4.3.6" }, "peerDependencies": { "@types/react": "17.x || 18.x || 19.x", "react": "17.x || 18.x || 19.x" }, "optionalPeers": ["@types/react"] }, "sha512-k+Dpyj7eH+Yjydw54iEluCjYDae086d12hWgBjNMpw4wLbQGz3CrJ6Yipodg8n1cKUt7zvwddlcTHd79bgKsXg=="],
|
|
198
198
|
|
|
199
|
-
"@squadbase/vantage": ["@squadbase/vantage@0.6.2-dev1.
|
|
199
|
+
"@squadbase/vantage": ["@squadbase/vantage@0.6.2-dev1.9365dcd", "", { "dependencies": { "@base-ui/react": "^1.6.0", "@hono/node-server": "^2.1.5", "@streamdown/code": "^1.1.1", "@tailwindcss/vite": "^4.3.3", "@tanstack/react-query": "^5.101.2", "@tanstack/react-router": "^1.170.17", "@tanstack/react-table": "^8.21.3", "@vitejs/plugin-react": "^6.1.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "echarts": "^6.0.0", "esbuild": "0.28.1", "fflate": "^0.8.3", "hono": "^4.13.13", "html-to-image": "^1.11.13", "lucide-react": "^0.468.0", "papaparse": "^5.7.0", "picocolors": "^1.1.1", "react-day-picker": "^10.0.1", "read-excel-file": "^9.3.10", "shiki": "3.23.0", "streamdown": "^2.5.0", "tailwind-merge": "3.6.0", "tailwindcss": "^4.3.3", "tw-animate-css": "^1.0.0", "vite": "^8.3.4" }, "peerDependencies": { "react": ">=18.2.0", "react-dom": ">=18.2.0", "typescript": ">=5.0.0" }, "optionalPeers": ["typescript"], "bin": { "vantage": "dist/cli.js" } }, "sha512-TMXuXEWNPdI8VgHg2kjsXZjOvO55p6N4WwX+ZEqNnn50W/XlrYm/zWC+4lkX3TzGbpebDexO2+qSMQK0IpMmfw=="],
|
|
200
200
|
|
|
201
|
-
"@squadbase/vantage-sdk": ["@squadbase/vantage-sdk@0.1.1-dev1.
|
|
201
|
+
"@squadbase/vantage-sdk": ["@squadbase/vantage-sdk@0.1.1-dev1.9ffe708", "", {}, "sha512-/n9LrMAB6qUq7tOEuLL/TWMumtXuB3Uqfx1xIsyJCwGlppKWkUuLTlAsV5WvM8h3eQnLBCg3wNEPQu6nvzk3ig=="],
|
|
202
202
|
|
|
203
203
|
"@streamdown/code": ["@streamdown/code@1.1.1", "", { "dependencies": { "shiki": "^3.19.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" } }, "sha512-i7HTNuDgZWb+VdrNVOam9gQhIc5MSSDXKWXgbUrn/4vSRaSMM+Rtl10MQj4wLWPNpF7p80waJsAqFP8HZfb0Jg=="],
|
|
204
204
|
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@squadbase/react": "^0.1.0",
|
|
15
|
-
"@squadbase/vantage": "0.6.2-dev1.
|
|
16
|
-
"@squadbase/vantage-sdk": "0.1.1-dev1.
|
|
15
|
+
"@squadbase/vantage": "0.6.2-dev1.9365dcd",
|
|
16
|
+
"@squadbase/vantage-sdk": "0.1.1-dev1.9ffe708",
|
|
17
17
|
"date-fns": "^4.1.0",
|
|
18
18
|
"lucide-react": "^0.468.0",
|
|
19
19
|
"react": "^19.3.1",
|
|
@@ -18,12 +18,14 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/* Page typeface. Latin system faces first, then Japanese system faces so kana and
|
|
21
|
-
kanji do not fall back to a thin locale default.
|
|
22
|
-
|
|
21
|
+
kanji do not fall back to a thin locale default. `ui-sans-serif` / `system-ui`
|
|
22
|
+
come after the Japanese families on purpose: on Japanese Windows they resolve to
|
|
23
|
+
the condensed Yu Gothic UI, which would otherwise take the kana. Put a Latin
|
|
24
|
+
webfont in front if you add one, but keep the Japanese families. */
|
|
23
25
|
body {
|
|
24
26
|
font-family:
|
|
25
|
-
|
|
26
|
-
"Hiragino Kaku Gothic ProN", "Noto Sans JP",
|
|
27
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans",
|
|
28
|
+
"Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, ui-sans-serif, system-ui, sans-serif;
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
/* vantage-template:chart-preset — regenerated by `chart`; edits here are lost */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@squadbase/vantage-template",
|
|
3
|
-
"version": "0.1.1-dev1.
|
|
3
|
+
"version": "0.1.1-dev1.a4351c2",
|
|
4
4
|
"description": "CLI tool for initializing and customizing Squadbase Vantage projects.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"squadbase",
|
|
@@ -36,19 +36,6 @@
|
|
|
36
36
|
"access": "public",
|
|
37
37
|
"registry": "https://registry.npmjs.org"
|
|
38
38
|
},
|
|
39
|
-
"scripts": {
|
|
40
|
-
"sync-base": "rsync -a --delete --exclude='node_modules' --exclude='dist' --exclude='.vantage' --exclude='*.tsbuildinfo' --exclude='*.log' template/ base-template/ && mv base-template/.gitignore base-template/_gitignore",
|
|
41
|
-
"build": "npm run sync-base && tsup",
|
|
42
|
-
"type-check": "tsc",
|
|
43
|
-
"agents": "node scripts/build-agents.cjs",
|
|
44
|
-
"agents:check": "node scripts/build-agents.cjs --check",
|
|
45
|
-
"template:install": "bun install --cwd template --frozen-lockfile",
|
|
46
|
-
"template:build": "npm --prefix template run build",
|
|
47
|
-
"prepublishOnly": "npm run agents:check && npm run build",
|
|
48
|
-
"release": "npm publish --@squadbase:registry=https://registry.npmjs.org",
|
|
49
|
-
"dev": "node scripts/dev.mjs",
|
|
50
|
-
"screenshot": "node scripts/screenshot.mjs"
|
|
51
|
-
},
|
|
52
39
|
"devDependencies": {
|
|
53
40
|
"@types/node": "^22.15.0",
|
|
54
41
|
"playwright": "^1.49.0",
|
|
@@ -58,7 +45,20 @@
|
|
|
58
45
|
"optionalDependencies": {
|
|
59
46
|
"@ai-sdk/anthropic": "^2.0.0",
|
|
60
47
|
"@ai-sdk/google": "^2.0.0",
|
|
61
|
-
"@ai-sdk/openai": "
|
|
48
|
+
"@ai-sdk/openai": "2.0.122",
|
|
62
49
|
"ai": "^5.0.52"
|
|
50
|
+
},
|
|
51
|
+
"gitHead": "a4351c27612e4e414e42aca724497b65d69f9730",
|
|
52
|
+
"scripts": {
|
|
53
|
+
"sync-base": "rsync -a --delete --exclude='node_modules' --exclude='dist' --exclude='.vantage' --exclude='*.tsbuildinfo' --exclude='*.log' template/ base-template/ && mv base-template/.gitignore base-template/_gitignore",
|
|
54
|
+
"build": "pnpm run sync-base && tsup",
|
|
55
|
+
"type-check": "tsc",
|
|
56
|
+
"agents": "node scripts/build-agents.cjs",
|
|
57
|
+
"agents:check": "node scripts/build-agents.cjs --check",
|
|
58
|
+
"template:install": "bun install --cwd template --frozen-lockfile",
|
|
59
|
+
"template:build": "bun run --cwd template build",
|
|
60
|
+
"release": "pnpm publish --@squadbase:registry=https://registry.npmjs.org",
|
|
61
|
+
"dev": "node scripts/dev.mjs",
|
|
62
|
+
"screenshot": "node scripts/screenshot.mjs"
|
|
63
63
|
}
|
|
64
|
-
}
|
|
64
|
+
}
|