Codex/cli ux upgrade - #16
Open
caorushizi wants to merge 3 commits into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Pull request overview
Updates One CLI’s UX surface by making CI opt-in, expanding/standardizing help output (with i18n hooks), tightening workspace/deploy compatibility signaling for the dashboard, and adding dashboard unit tests to CI.
Changes:
- Introduces an explicit
one cicommand family (enable/sync/disable) and updates docs/tests to reflect CI no longer being generated implicitly. - Standardizes CLI help formatting (DESCRIPTION/USAGE/SUBCOMMANDS/COMMON OPTIONS) and expands i18n coverage across TTY output and errors.
- Improves dashboard UX + test coverage (Vitest + Testing Library), including deploy-target compatibility wiring.
Reviewed changes
Copilot reviewed 242 out of 245 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| skills-lock.json | Adds skill source lockfile for reproducible agent-skill inputs |
| packages/skills/one-cli/SKILL.md | Updates One CLI skill guidance (commands + manifest/overview guidance + new CI error) |
| packages/skills/one-cli/references/add-feature.md | Updates “add project” playbook to defer deploy/CI until later steps |
| packages/cli/tools/verify-cli-references/main.go | Allows one help references in prose verification |
| packages/cli/testdata/reference/help/root.txt | Updates root help snapshot to “everyday commands” + one help --all |
| packages/cli/testdata/reference/help/templates.txt | Updates templates help snapshot to “technology stacks” UX |
| packages/cli/testdata/reference/help/templates_list.txt | Updates templates list help snapshot formatting |
| packages/cli/testdata/reference/help/add.txt | Updates add help snapshot (deploy/CI deferred) |
| packages/cli/testdata/reference/help/dev.txt | Updates dev help snapshot (positional project + advanced legacy flag) |
| packages/cli/testdata/reference/help/run.txt | Updates run help snapshot to new help formatting |
| packages/cli/testdata/reference/help/serve.txt | Updates serve help snapshot to new help formatting |
| packages/cli/testdata/reference/help/skills.txt | Updates skills help snapshot formatting (keeps tips text) |
| packages/cli/testdata/reference/help/skills_install.txt | Updates skills install help snapshot formatting |
| packages/cli/testdata/reference/help/env_get.txt | Updates env get help snapshot formatting |
| packages/cli/testdata/reference/help/env_list.txt | Updates env list help snapshot formatting |
| packages/cli/testdata/reference/help/env_pull.txt | Updates env pull help snapshot formatting |
| packages/cli/testdata/reference/help/env_set.txt | Updates env set help snapshot formatting + automation guidance |
| packages/cli/testdata/reference/help/env_switch.txt | Updates env switch help snapshot formatting + condensed tips |
| packages/cli/testdata/reference/help/container.txt | Updates container help snapshot formatting |
| packages/cli/testdata/reference/help/container_build.txt | Updates container build help snapshot formatting + advanced flags |
| packages/cli/testdata/reference/help/container_info.txt | Updates container info help snapshot formatting |
| packages/cli/testdata/reference/help/container_push.txt | Updates container push help snapshot formatting + advanced flags |
| packages/cli/testdata/reference/help/configure_current.txt | Updates configure current help snapshot formatting |
| packages/cli/testdata/reference/help/configure_list.txt | Updates configure list help snapshot formatting |
| packages/cli/testdata/reference/help/configure_locale.txt | Updates configure locale help snapshot formatting |
| packages/cli/testdata/reference/help/configure_remove.txt | Updates configure remove help snapshot formatting + positional service-id |
| packages/cli/testdata/reference/help/configure_show.txt | Updates configure show help snapshot formatting + positional service-id |
| packages/cli/testdata/reference/help/configure_use.txt | Updates configure use help snapshot formatting + positional service-id |
| packages/cli/testdata/reference/help/configure_open.txt | Adds help snapshot for new one configure open |
| packages/cli/testdata/reference/help/configure_add_env-infisical.txt | Updates configure add env/infisical snapshot (common vs advanced options) |
| packages/cli/testdata/reference/help/configure_add_deploy-aliyun-oss.txt | Updates deploy/aliyun-oss add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-aws-s3.txt | Updates deploy/aws-s3 add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-cloudflare.txt | Updates deploy/cloudflare add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-edgeone.txt | Updates deploy/edgeone add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-kustomize.txt | Updates deploy/kustomize add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-minio.txt | Updates deploy/minio add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-r2.txt | Updates deploy/r2 add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-rustfs.txt | Updates deploy/rustfs add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-tencent-cos.txt | Updates deploy/tencent-cos add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_deploy-vercel.txt | Updates deploy/vercel add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_container-acr.txt | Updates container/acr add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_container-docker.txt | Updates container/docker add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_container-dockerhub.txt | Updates container/dockerhub add snapshot formatting |
| packages/cli/testdata/reference/help/configure_add_container-ghcr.txt | Updates container/ghcr add snapshot formatting |
| packages/cli/testdata/reference/help/ci.txt | Adds help snapshot for one ci |
| packages/cli/testdata/reference/help/ci_enable.txt | Adds help snapshot for one ci enable |
| packages/cli/testdata/reference/help/ci_sync.txt | Adds help snapshot for one ci sync |
| packages/cli/testdata/reference/help/ci_disable.txt | Adds help snapshot for one ci disable |
| packages/cli/testdata/reference/create-default.json | Updates create JSON fixture (CI not enabled; skills skipped) |
| packages/cli/testdata/reference/create-preset-fullstack.json | Updates create preset JSON fixture (CI not enabled; skills skipped) |
| packages/cli/testdata/reference/add-go-api.json | Updates add JSON fixture (AI guides reduced list) |
| packages/cli/pkg/ci/provider.go | Updates public CI provider contract docs (selection not persisted in manifest) |
| packages/cli/internal/ci/ci.go | Clarifies internal CI dispatch ownership (one ci owns generated files) |
| packages/cli/internal/workspace/roots.go | Extends PackageJSON parsing with packageManager field |
| packages/cli/internal/workspace/devcmd.go | Adds scaffold-time dev-command resolver for Go services vs libraries |
| packages/cli/internal/infra/infra.go | Uses scaffold dev resolver to avoid marking non-service Go projects as developable |
| packages/cli/internal/workspace/backend.go | Updates domain selection comment (CI not implicit; dev stored per project) |
| packages/cli/internal/workspace/backend_apply.go | Updates domain selection comment (CI/dev not persisted) |
| packages/cli/internal/workspace/manifest.go | Updates migration text to reflect CI/dev not controlled by manifest |
| packages/cli/internal/workspace/overview_test.go | Adds coverage for deploy compatibility targets + non-deployable apps |
| packages/cli/internal/serve/server.go | Localizes serve TTY output using i18n keys |
| packages/cli/internal/serve/handlers_workspace_mutate.go | Validates deploy backend choice against template deploy compatibility |
| packages/cli/internal/serve/handlers_workspace_mutate_test.go | Adds regression test ensuring invalid deploy kind does not mutate manifest |
| packages/cli/internal/secrets/dotenv/ops.go | Localizes dotenv set output; list prints names only |
| packages/cli/internal/secrets/infisical/crud.go | Localizes remote set output; list prints names only |
| packages/cli/internal/secrets/infisical/pull.go | Localizes pull summary + key listing output |
| packages/cli/internal/output/error.go | Reframes Exit0 semantics as “quiet successful exit” |
| packages/cli/internal/output/emit.go | Makes Exit0 errors quiet; localizes TTY error rendering + remediation text |
| packages/cli/internal/output/emit_test.go | Adds tests for Exit0 quietness and localized TTY error contract |
| packages/cli/internal/i18n/i18n_test.go | Adds test ensuring RefreshTree updates cobra flag usage strings |
| packages/cli/internal/prompt/form.go | Routes huh runs through shared Ctrl-C/cooperative-cancel wrapper |
| packages/cli/internal/preset/apply.go | Clarifies preset apply does not implicitly generate CI |
| packages/cli/internal/cmd/templatescmd/cmd.go | Marks templates command strings via i18n |
| packages/cli/internal/cmd/skillscmd/cmd.go | Marks skills install short help via i18n |
| packages/cli/internal/cmd/servecmd/cmd.go | Localizes serve flags; adds one configure open wrapper command |
| packages/cli/internal/cmd/runcmd/cmd.go | Localizes run injected/env-empty TTY lines |
| packages/cli/internal/cmd/containercmd/build.go | Marks advanced flags and localizes short help |
| packages/cli/internal/cmd/containercmd/push.go | Marks advanced flags and localizes short help |
| packages/cli/internal/cmd/containercmd/info.go | Localizes short help |
| packages/cli/internal/cmd/configurecmd/cmd_test.go | Updates command tree assertions to include configure open |
| packages/cli/internal/cmd/addcmd/cmd_test.go | Adds unit tests for project kind mapping behavior |
| packages/cli/internal/cli/snapshot_help_test.go | Updates snapshot test commentary for new root/all-help split |
| packages/cli/internal/cli/snapshot_e2e_test.go | Makes version snapshot flexible for local build suffixes |
| packages/cli/internal/cli/snapshot_e2e_run_test.go | Updates run help expectation to “USAGE” header |
| packages/cli/internal/cli/snapshot_e2e_env_test.go | Updates env help subcommand expectation (switch) |
| packages/cli/internal/cli/snapshot_e2e_dev_test.go | Updates dev e2e to positional selector semantics + JSON error envelope |
| packages/cli/internal/cli/snapshot_e2e_create_test.go | Updates create defaults (CI not enabled) assertions/docs |
| packages/cli/internal/cli/root_test.go | Adds tests for one help --all selection + bare invocation detection |
| packages/cli/internal/cli/e2e_helpers_test.go | Updates bootstrap workspace defaults documentation |
| packages/cli/cmd/one/main.go | Updates cooperative-cancel comment to match quiet Exit0 behavior |
| packages/cli/go.mod | Adds github.com/creack/pty dependency for TTY-related tests/utilities |
| apps/docs/content/tutorials/en/first-workspace.mdx | Updates tutorial to state CI is not configured by default |
| apps/docs/content/tutorials/zh/first-workspace.mdx | Updates tutorial to state CI is not configured by default |
| apps/docs/content/docs/en/meta.json | Adds ci docs page to navigation |
| apps/docs/content/docs/zh/meta.json | Adds ci docs page to navigation |
| apps/docs/content/docs/en/ci.md | Adds CI docs page (opt-in workflows + commands + schemas) |
| apps/docs/content/docs/zh/ci.md | Adds CI docs page (opt-in workflows + commands + schemas) |
| apps/docs/content/docs/en/configure.md | Updates configure docs (local connections + configure open) |
| apps/docs/content/docs/zh/configure.md | Updates configure docs (local connections + configure open) |
| apps/docs/content/docs/en/env-vars.md | Updates env docs to describe interactive flow + cancellation semantics |
| apps/docs/content/docs/zh/env-vars.md | Updates env docs to describe interactive flow + cancellation semantics |
| apps/docs/content/docs/en/error-codes.md | Updates CI error docs + create arg wording |
| apps/docs/content/docs/zh/error-codes.md | Adds CI_NOT_ENABLED + DEPENDENCIES_NOT_INSTALLED; updates wording |
| apps/docs/content/docs/en/manifest.md | Updates manifest docs (CI/deploy/container deferred) |
| apps/docs/content/docs/zh/manifest.md | Updates manifest docs (CI/deploy/container deferred) |
| apps/docs/content/docs/zh/run.md | Updates dev description (no Procfile.dev) |
| apps/dashboard/package.json | Adds Vitest + Testing Library deps and test scripts |
| apps/dashboard/vitest.config.ts | Adds dashboard Vitest config (jsdom + setup) |
| apps/dashboard/src/test/setup.ts | Adds jsdom/test env stubs for UI testing |
| apps/dashboard/src/types/api.ts | Extends OverviewProject with compatible deploy targets |
| apps/dashboard/src/pages/Overview.tsx | Passes deploy-kind options from API payload to config dialog |
| apps/dashboard/src/components/MissingConfigDialog.tsx | Allows domain kind options override (compat-target constrained) |
| apps/dashboard/src/pages/SectionDetail.tsx | Adds proper label/input association (accessibility) for Vercel fields |
| apps/dashboard/src/pages/SectionDetail.test.tsx | Adds regression test for masked secret editing behavior |
| .github/workflows/ci.yml | Runs dashboard tests in CI + improves pnpm cache key coverage |
| .agents/skills/vercel-react-best-practices/rules/async-api-routes.md | Adds vendored rule documentation for async patterns |
| .agents/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md | Adds vendored rule documentation for async patterns |
| .agents/skills/vercel-react-best-practices/rules/async-dependencies.md | Adds vendored rule documentation for async patterns |
| .agents/skills/vercel-react-best-practices/rules/async-parallel.md | Adds vendored rule documentation for async patterns |
| .agents/skills/vercel-react-best-practices/rules/bundle-conditional.md | Adds vendored rule documentation for bundle optimization |
| .agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md | Adds vendored rule documentation for bundle optimization |
| .agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md | Adds vendored rule documentation for bundle optimization |
| .agents/skills/vercel-react-best-practices/rules/bundle-preload.md | Adds vendored rule documentation for bundle optimization |
| .agents/skills/vercel-react-best-practices/rules/client-event-listeners.md | Adds vendored rule documentation for client perf patterns |
| .agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md | Adds vendored rule documentation for client perf patterns |
| .agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md | Adds vendored rule documentation for client perf patterns |
| .agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md | Adds vendored rule documentation for client perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-cache-storage.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-early-exit.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-flatmap-filter.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-index-maps.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-length-check-first.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md | Adds vendored rule documentation for JS perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-activity.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md | Adds vendored rule documentation for rendering perf patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-memo.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practactices/rules/rerender-split-combined-hooks.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-transitions.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md | Adds vendored rule documentation for rerender optimization patterns |
| .agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/server-cache-lru.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/server-dedup-props.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/server-serialization.md | Adds vendored rule documentation for server-side patterns |
| .agents/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md | Adds vendored rule documentation for advanced React patterns |
| .agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md | Adds vendored rule documentation for advanced React patterns |
| .agents/skills/vercel-react-best-practices/rules/advanced-init-once.md | Adds vendored rule documentation for advanced React patterns |
| .agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md | Adds vendored rule documentation for advanced React patterns |
| .agents/skills/vercel-react-best-practices/rules/_sections.md | Adds internal rule section index for the vendored rules |
| .agents/skills/vercel-react-best-practices/rules/_template.md | Adds internal template for authoring new rule docs |
| .agents/skills/vercel-react-best-practices/metadata.json | Adds skill metadata file (note: conflicts with repo skill conventions) |
| .agents/skills/tdd/tests.md | Adds TDD guidance content for agents |
| .agents/skills/tdd/mocking.md | Adds TDD mocking guidance content for agents |
| .agents/skills/tdd/agents/openai.yaml | Adds agent UI metadata for TDD skill |
Files not reviewed (2)
- apps/dashboard/pnpm-lock.yaml: Generated file
- pnpm-lock.yaml: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+1
to
+5
| { | ||
| "version": "1.0.0", | ||
| "organization": "Vercel Engineering", | ||
| "date": "January 2026", | ||
| "abstract": "Comprehensive performance optimization guide for React and Next.js applications, designed for AI agents and LLMs. Contains 40+ rules across 8 categories, prioritized by impact from critical (eliminating waterfalls, reducing bundle size) to incremental (advanced patterns). Each rule includes detailed explanations, real-world examples comparing incorrect vs. correct implementations, and specific impact metrics to guide automated refactoring and code generation.", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.