Communitygithub.com

remotion-dev/adicionar-opcao-cli

Adicione uma nova opção de CLI ou config do Remotion criando um AnyRemotionOption, registrando a análise de CLI, conectando setters de configuração e atualizando a documentação. Use ao adicionar ou converter flags de linha de comando ou opções do Remotion.

O que é adicionar-opcao-cli?

Este skill orienta desenvolvedores a adicionarem uma nova opção de linha de comando (CLI) ou de configuração ao framework Remotion. Ele cobre desde a criação de um `AnyRemotionOption` tipado, passando pelo registro do parsing CLI usando `yargs` ou `commander`, até a conexão com setters de configuração (como `Config.setStillQuality`). O skill também inclui a atualização da documentação docusaurus e a adição de testes. É útil para contribuidores que precisam expor novas funcionalidades via CLI ou arquivo de configuração, garantindo consistência e integração com o ecossistema Remotion. Suporta as plataformas Node.js e React, e é compatível com projetos que usam Remotion (>=4.0). O fluxo segue a arquitetura modular do Remotion, separando concerns entre definição da opção, parsing CLI, armazenamento de configuração e documentação.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/remotion-dev/remotion/tree/main/.agents/skills/add-cli-option

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que adicionar-opcao-cli faz?

Adicione uma nova opção de CLI ou configuração do Remotion criando um AnyRemotionOption, registrando o parsing de CLI, conectando os setters de configuração e atualizando a documentação. Use ao adicionar ou converter flags de linha de comando ou opções do Remotion.

Visão geral

Este skill automatiza o processo de adicionar uma opção de CLI ou de configuração no ecossistema Remotion. Ele garante que todas as peças necessárias sejam criadas ou modificadas de forma consistente, seguindo as convenções do projeto.

Fluxo de Trabalho

  1. Criar um AnyRemotionOption – Defina o tipo da opção, valor padrão, nome da CLI, descrição, etc.
  2. Registrar o parsing de CLI – Adicione a opção ao arquivo de definição de comandos (ex: src/cli/commands.ts) para que seja reconhecida pelo yargs/commander.
  3. Conectar setters de configuração – No módulo de configuração (ex: src/config.ts), adicione um setter público que armazena o valor e dispara efeitos colaterais se necessário.
  4. Atualizar documentação – Inclua a nova opção na página de documentação docusaurus relevante (ex: packages/docs/docs/cli/options.md).
  5. Adicionar testes – Teste unitários e de integração para validar o comportamento.

Estrutura de Arquivos

  • packages/renderer/src/options/ – Definições de opções.
  • packages/cli/src/commands.ts – Registro de comandos CLI.
  • packages/config/src/config.ts – Setters e estado da configuração.
  • packages/docs/docs/ – Documentação.

Exemplo de Criação de Opção

// packages/renderer/src/options/myNewOption.ts
import { AnyRemotionOption } from './AnyRemotionOption';

export const myNewOption: AnyRemotionOption<number> = {
  name: 'my-new-option',
  cliFlag: 'my-new-option',
  description: 'Minha nova opção',
  defaultValue: 42,
  type: 'number',
};

Registro no CLI

No arquivo packages/cli/src/commands.ts, adicione:

// Dentro do handler do comando 'render' ou similar
.option('my-new-option', {
  type: 'number',
  describe: 'Minha nova opção',
  default: 42,
})

Setter de Configuração

Em packages/config/src/config.ts:

export const setMyNewOption = (value: number) => {
  options.myNewOption = value;
  // Efeitos colaterais opcionais
};

Documentação

Adicione no arquivo packages/docs/docs/cli/options.md:

### `--my-new-option`

Define o valor da minha nova opção. Valor padrão: `42`.

Testes

Crie testes no diretório packages/cli/src/__tests__/ e packages/config/src/__tests__/.

Notas

  • Mantenha a nomenclatura consistente com as convenções do Remotion (camelCase para código, kebab-case para CLI).
  • Verifique se a opção não conflita com opções existentes.
  • Atualize o arquivo de changelog se aplicável.

Referências

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

remotion-dev/add-bug

Add a new Remotion bug entry to packages/bugs/api/[v].ts. Use when the user describes a bug and affected Remotion versions that should be surfaced through the bugs API.

remotion-dev/add-effect

Add a new effect to @remotion/effects, including implementation, package exports, docs, demos, preview images, Remotion skill updates, tests, formatting, and builds.

remotion-dev/add-expert

Add a new expert to the Remotion experts page

remotion-dev/add-new-package

Add a new package to the Remotion monorepo, including package scaffolding, monorepo registration, documentation, build scripts, tests, and release checklist updates. Use when creating a new @remotion package.

remotion-dev/add-sfx

Add a new sound effect to @remotion/sfx

remotion-dev/add-webcodecs-bug

Add a browser WebCodecs bug to the Remotion Mediabunny WebCodecs bugs docs page. Use when given a Chromium, WebKit, or Firefox issue URL that should be tracked in packages/docs/docs/mediabunny/webcodecs-bugs.mdx, especially when needing to look up the issue title, filing date, reporter, and resolution state before editing the MDX table.

remotion-dev/docs-demo

Add an interactive demo to the Remotion documentation. Use when creating a new <Demo> component for docs pages.

remotion-dev/homepage-video-assets

Use when rendering or replacing Remotion homepage creator strip videos, especially transparent Chrome WebM and Safari MP4 assets copied into both promo-pages and docs.

remotion-dev/make-pr

Open a pull request for the current feature

remotion-dev/remotion

Rebuild, install, and reload the private Remotion Canvas Capture unpacked Chrome extension. Use when the extension needs to be restored after a Codex worktree was deleted, rebuilt after source changes, moved to its durable install directory, or reloaded in Chrome or Chrome Canary.

remotion-dev/remotion-best-practices

Router for all Remotion skills

remotion-dev/remotion-captions

Transcribing, displaying and animating captions

remotion-dev/remotion-create

Create a new Remotion video

remotion-dev/remotion-docs

Search Remotion documentation

remotion-dev/remotion-interactivity

Structure Remotion markup for interactivity

remotion-dev/remotion-maps

Remotion Map animation knowledge

remotion-dev/remotion-markup

Content, animation and effects best practices

remotion-dev/remotion-multimedia

Interacting with Mediabunny

remotion-dev/remotion-render

Export a Remotion video

remotion-dev/remotion-saas

Build an app with Remotion

Habilidades Relacionadas