storyblok
v4.14.3
Published
Storyblok CLI
Readme

Features
- 🛡️ Type Safety - Generate TypeScript type definitions for your Storyblok components, ensuring type safety in your frontend applications
- 🔐 Authentication - Secure login system with support for different regions and CI environments
- 🧩 Component Management - Pull and push component schemas, groups, presets, and internal tags between spaces
- 🔄 Migration System - Generate and run migrations to transform or update field values across your Storyblok content
- 🌐 Language Management - Pull and manage languages for your Storyblok space
- 📁 File Organization - Organized file structure with the
.storyblokdirectory as default - 🛠️ Customizable Paths - Flexible path configuration for all generated files
- 📝 Naming Conventions - Consistent file naming with customizable suffixes and prefixes
- 📂 Separate Files Support - Option to work with individual component files or consolidated files
- 👀 Dry Run Mode - Preview migrations changes before applying them to your Storyblok space
- 🔍 Filtering Capabilities - Filter components and stories using glob patterns and Storyblok query syntax
- 📊 Verbose Logging - Improved error handling and detailed logging options for debugging and monitoring
Pre-requisites
- Node.js >= 18.0.0
- Storyblok account (sign up here)
- Personal access token from Storyblok (get it here)
Documentation
[!WARNING] Official documentation for this package v4 is still in development. In the meantime, please refer to the internal documentation for the v4 beta.
Setup
This package relies on pnpm to manage dependencies. For instructions on how to install pnpm, please visit pnpm.io.
pnpm installBuild
pnpm buildTesting
To run the tests you can use the following command:
pnpm run testIf you prefer a more visual experience while writing tests you can use this command powered by vitest/ui:
pnpm run test:uiYou can also check the coverage with:
pnpm run coverageDebugging
To debug the CLI you can use the launch.json configuration in the .vscode folder. You can run any command with the debugger attached.

Then you can set breakpoints directly to the typescript files and the debugger will handle the rest with sourcempaps.

Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
For community support, chatting with other users, please visit:
Support
For bugs or feature requests, please submit an issue.
[!IMPORTANT] Please search existing issues before submitting a new one. Issues without a minimal reproducible example will be closed. Why reproductions are Required.
I can't share my company project code
We understand that you might not be able to share your company's project code. Please provide a minimal reproducible example that demonstrates the issue by using tools like Stackblitz or a link to a Github Repo lease make sure you include a README file with the instructions to build and run the project, important not to include any access token, password or personal information of any kind.
I only have a question
If you have a question, please ask in the Discuss Storyblok on Discord channel.
Contributing
If you're interested in contributing to Storyblok CLI, please read our contributing docs before submitting a pull request.
