diff --git a/packages/twenty-docs/developers/extend/apps/publishing.mdx b/packages/twenty-docs/developers/extend/apps/publishing.mdx index 3077b5d0f9..2cbd596730 100644 --- a/packages/twenty-docs/developers/extend/apps/publishing.mdx +++ b/packages/twenty-docs/developers/extend/apps/publishing.mdx @@ -217,9 +217,9 @@ The Twenty server syncs its marketplace catalog from the npm registry **every ho You can trigger the sync immediately instead of waiting: ```bash filename="Terminal" -yarn twenty catalog-sync +yarn twenty server catalog-sync # To target a specific remote: -# yarn twenty catalog-sync --remote production +# yarn twenty server catalog-sync --remote production ``` The metadata shown in the marketplace comes from your `defineApplication()` config — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`. diff --git a/packages/twenty-sdk/src/cli/commands/app-command.ts b/packages/twenty-sdk/src/cli/commands/app-command.ts index 1cce1c50de..61c45fc7d1 100644 --- a/packages/twenty-sdk/src/cli/commands/app-command.ts +++ b/packages/twenty-sdk/src/cli/commands/app-command.ts @@ -115,9 +115,18 @@ export const registerCommands = (program: Command): void => { program .command('catalog-sync') - .description('Trigger marketplace catalog sync on the server') + .description( + '[Deprecated] Moved under server. Use `yarn twenty server catalog-sync`.', + ) .option('-r, --remote ', 'Sync on a specific remote') .action(async (options) => { + console.warn( + chalk.yellow( + '`yarn twenty catalog-sync` is deprecated and will be removed in a future release.\n' + + 'Use `yarn twenty server catalog-sync` instead.\n', + ), + ); + await catalogSyncCommand.execute({ remote: options.remote, }); diff --git a/packages/twenty-sdk/src/cli/commands/server.ts b/packages/twenty-sdk/src/cli/commands/server.ts index 390d9e815b..d2f3fb0352 100644 --- a/packages/twenty-sdk/src/cli/commands/server.ts +++ b/packages/twenty-sdk/src/cli/commands/server.ts @@ -14,11 +14,14 @@ import { checkServerHealth } from '@/cli/utilities/server/detect-local-server'; import chalk from 'chalk'; import type { Command } from 'commander'; import { execSync, spawnSync } from 'node:child_process'; +import { CatalogSyncCommand } from './catalog-sync'; export const registerServerCommands = (program: Command): void => { const server = program .command('server') - .description('Manage a local Twenty server instance'); + .description( + 'Manage a Twenty server (local instance and server-side actions)', + ); server .command('start') @@ -200,4 +203,13 @@ export const registerServerCommands = (program: Command): void => { } }, ); + + server + .command('catalog-sync') + .description('Trigger a marketplace catalog sync on the server') + .option('-r, --remote ', 'Sync on a specific remote') + .action(async (options: { remote?: string }) => { + const command = new CatalogSyncCommand(); + await command.execute({ remote: options.remote }); + }); };