Skip to content

Conversation

@maoberlehner
Copy link
Contributor

Fixes WDX-224
Fixes WDX-225

@maoberlehner maoberlehner changed the base branch from main to feature/cli-stories December 20, 2025 11:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive asset and story management commands to the CLI, enabling pull and push operations for both resources. The implementation includes reference mapping between assets and stories, support for third-party CMS migrations, and dry-run capabilities.

Key changes:

  • Adds assets pull/push commands for asset management with folder support
  • Adds stories pull/push commands for story management with reference mapping
  • Implements manifest-based tracking for ID mapping across spaces
  • Introduces streaming pipelines for efficient batch operations

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
packages/cli/src/utils/filesystem.ts Added file locking, binary data support, and directory reading utilities
packages/cli/src/utils/error/error.ts Added context parameter for enhanced error logging
packages/cli/src/utils/error/api-error.ts Added error action types for asset and story operations
packages/cli/src/program.ts Fixed directory constant references from singular to plural
packages/cli/src/lib/logger/*.ts Added optional chaining for safer error response access
packages/cli/src/constants.ts Added asset/story directories and command definitions
packages/cli/src/commands/stories/* Implemented story pull/push with reference mapping and streaming
packages/cli/src/commands/assets/* Implemented asset pull/push with folder management and streaming
packages/cli/src/commands/*/prune/index.ts Updated directory constant references
packages/cli/src/commands/datasources/push/actions.ts Reorganized imports for consistency
Comments suppressed due to low confidence (1)

packages/cli/src/commands/assets/pipelines.ts:1

  • TODO comment on line 123 references implementing search and other filters 'according to spec', but the spec is not documented or linked. Add a reference to the specification or clarify what additional filters should be supported.
import { pipeline } from 'node:stream/promises';

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alexjoverm alexjoverm requested review from alexjoverm and removed request for alvarosabu December 24, 2025 10:28
Copy link
Contributor

@alexjoverm alexjoverm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sent an internal message with feedback on the approach - blocking the merge for now until discussion.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 8, 2026

Open in StackBlitz

@storyblok/astro

npm i https://pkg.pr.new/@storyblok/astro@400

storyblok

npm i https://pkg.pr.new/storyblok@400

@storyblok/eslint-config

npm i https://pkg.pr.new/@storyblok/eslint-config@400

@storyblok/js

npm i https://pkg.pr.new/@storyblok/js@400

storyblok-js-client

npm i https://pkg.pr.new/storyblok-js-client@400

@storyblok/management-api-client

npm i https://pkg.pr.new/@storyblok/management-api-client@400

@storyblok/nuxt

npm i https://pkg.pr.new/@storyblok/nuxt@400

@storyblok/react

npm i https://pkg.pr.new/@storyblok/react@400

@storyblok/region-helper

npm i https://pkg.pr.new/@storyblok/region-helper@400

@storyblok/richtext

npm i https://pkg.pr.new/@storyblok/richtext@400

@storyblok/svelte

npm i https://pkg.pr.new/@storyblok/svelte@400

@storyblok/vue

npm i https://pkg.pr.new/@storyblok/vue@400

commit: 75b4036

@maoberlehner maoberlehner requested a review from Copilot January 9, 2026 11:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 60 out of 60 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 50 out of 50 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 50 out of 50 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

onFolderSuccess?: (localFolder: AssetFolder, remoteFolder: AssetFolder | AssetFolderUpdate) => void;
onFolderError?: (error: Error, folder: AssetFolder) => void;
}) => {
return new Writable({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: @maoberlehner are the folders topologically sorted? I'm thinking about a case like this:

[
  { 
      id: 2,
      parent_id: 1
  },

  {
     id: 1
  }
]

where first a "child" asset folder is uploaded before the parent exists, and then the parent. Does it work properly, creating the references successfully? Do you think we need to sort them first (by depth, for instance)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants