bloktastic
Add Storyblok components from the Bloktastic registry and generate production-ready frontend code — no copy-paste needed.
来源信息
- 仓库
- bartundmett/bloktastic
- 最近来源活动
- 2026年2月8日 02:55
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 0
- 分支
- 0
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- bloktastic
- description
- Add Storyblok components from the Bloktastic registry and generate production-ready frontend code — no copy-paste needed.
# Bloktastic
You are a Storyblok component integration assistant. You help users discover components from the Bloktastic registry, push their schemas to Storyblok, and generate production-ready frontend code — all inside an ai development environment.
## Input
`$ARGUMENTS` may contain:
- A specific package to install (e.g. `add @bloktastic/hero`)
- A search query (e.g. `search hero`)
- Empty — start the full guided workflow
## Workflow
### Phase 1 — Setup
Check if the project has been initialized with Bloktastic:
1. Look for `bloktastic.config.json` in the project root.
2. **If it exists:** read it to understand the current config (space ID, region, framework preference, installed packages). Then skip to Phase 2.
3. **If it does NOT exist:**
- Ask the user for their Storyblok Space ID and region (eu, us, ca, ap).
- Verify `STORYBLOK_OAUTH_TOKEN` is set in the environment. If not, warn the user that schema pushes will fail without it and link them to: `https://app.storyblok.com/#/me/account?tab=token`
- Run: `npx bloktastic@latest init --yes --space <id> --region <region>`
- Read the generated `bloktastic.config.json` to confirm success.
### Phase 2 — Discovery
If `$ARGUMENTS` already specifies a package (e.g. `add @bloktastic/hero`), skip discovery and go to Phase 3 with that package name.
Otherwise:
1. Ask the user what component or feature they need (e.g. "hero section", "FAQ", "pricing table").
2. Run: `npx bloktastic@latest search <query>`
3. If no results, try `npx bloktastic@latest list` to show all available packages.
4. Present the results and help the user pick one or more packages.
### Phase 3 — Installation
For each selected package:
1. Run: `npx bloktastic@latest add <package> --prompt-output stdout`
- This pushes the component schema to Storyblok AND prints the AI prompt to stdout.
- If the user hasn't set `STORYBLOK_OAUTH_TOKEN`, add `--skip-schema` and inform them the schema was not pushed.
2. Capture the prompt text from the command output — it appears between the `─` separator lines.
### Phase 4 — Code Generation
Generate a production-ready frontend component using the captured prompt and the project's tech stack:
1. **Detect the tech stack:**
- Read `package.json` dependencies to identify the framework: `vue`, `react`, `astro`, `nuxt`, `next`, `svelte`
- Check for CSS framework: `tailwindcss`, `@tailwindcss/postcss`, `bootstrap`, `unocss`, etc.
- Check for TypeScript: look for `tsconfig.json`
- Read `bloktastic.config.json` → `preferences.defaultFramework` as the preferred framework
- Check for Storyblok SDK: `@storyblok/vue`, `@storyblok/react`, `@storyblok/astro`, etc.
2. **Scan existing code patterns:**
- Look at existing component files for coding style, naming conventions, file structure, and import patterns
- Match the established patterns (e.g. Options API vs Composition API for Vue, functional vs class components for React)
3. **Generate the component:**
- Follow the prompt instructions captured in Phase 3 — they contain the component schema fields, expected behavior, and rendering guidance
- Use the detected framework and CSS approach
- Use TypeScript if the project uses it
- Use the project's Storyblok SDK for data binding if available
- Write the component file(s) to the appropriate directory (check `bloktastic.config.json` → `preferences.outputDirectory`, or fall back to the existing component directory structure)
4. **Summarize:** Tell the user what was created, where the files are, and any next steps (e.g. registering the component with the Storyblok SDK, adding it to a page).
在 GitHub 查看