Files
Tyler Slaton 96885b5959 refactor: consolidate V1/V2 packages into flat @copilotkit/* structure
Flatten all packages from packages/v1/* and packages/v2/* into packages/* —
every package now lives directly under the @copilotkit/ scope with no v1/v2
subdirectories.

- Move all v1 packages (react-core, react-ui, runtime, shared, etc.) from
  packages/v1/* to packages/*
- Absorb v2 react code into packages/react-core/src/v2/ (exported via /v2 subpath)
- Absorb v2 agent code into packages/runtime/src/agent/ (exported via /v2 subpath)
- Move v2 packages (core, angular, demo-agents, etc.) to packages/*
- Replace all @copilotkitnext/* imports with @copilotkit/* equivalents
- Keep @copilotkitnext/angular as the sole exception (angular remains on next)
- Update CI workflows, renovate config, release scripts for flat structure
- No public API surface changes — all exports fields are preserved

Co-authored-by: Alem Tuzlak <t.zlak@hotmail.com>
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-28 16:45:10 -07:00

1.1 KiB

Git & PRs

Worktree Workflow

Always use a git worktree for non-trivial work. This keeps the main working tree clean and lets you work in isolation.

  1. Start a worktree at the beginning of a task. This creates a new branch and a separate working directory.
  2. Do all work inside the worktree — commits, builds, tests.
  3. Push the worktree branch to the remote with -u to set up tracking.
  4. Create a PR targeting main using gh pr create --base main.
  5. Clean up the worktree after the PR is merged.

Creating a PR

When the work is ready:

  1. Stage and commit your changes in the worktree.
  2. Push the branch: git push -u origin <branch-name>
  3. Create the PR: gh pr create --base main
  4. Use a clear title (under 70 chars) and a body summarizing what changed and why.

Commit Conventions

  • Write concise commit messages focused on the "why", not the "what".
  • Stage specific files — avoid git add -A or git add . to prevent accidentally including unrelated changes.
  • Never amend commits unless explicitly asked. Always create new commits.
  • Never force-push unless explicitly asked.