prep-dojo-everything.js runs `pnpm install --no-frozen-lockfile` for the
dojo target, which resolves @copilotkit/* from the npm registry. When
link-cpk runs before prep-dojo, the symlinks it creates get overwritten.
Swapping the order ensures prep-dojo installs first, then link-cpk
overwrites the registry packages with local CopilotKit build outputs.
Update e2e_dojo.yml to pass CopilotKit/packages instead of
CopilotKit/packages/v1, so the updated ag-ui link-cpk.js script
links both V1 and V2 packages in dojo e2e tests.
The @copilotkitnext/runtime:build step OOMs on GitHub Actions runners
with the default ~2GB heap. Set NODE_OPTIONS=--max-old-space-size=4096
on all three failing workflows.
Replace anthropics/claude-code-base-action@beta with the Claude Code
CLI (`claude -p` with `--output-format json`). This gives direct
control over the output format — a single JSON object with a `result`
field instead of ambiguous JSONL. The extraction script parses the
JSON, strips preamble, and writes clean markdown to pr-social-copy.md
which is uploaded as the artifact and posted to the PR comment.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The claude-execution-output.json is JSONL (one JSON object per line),
not a single JSON object. JSON.parse() on the whole file silently
failed, producing empty output. Now parses line by line, finding the
"type": "result" entry or falling back to the last assistant message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract result text and save as pr-social-copy.md (not raw JSON)
- Strip preamble/analysis before first ### header
- Upload the markdown file as the artifact (90-day retention)
- Comment reads from the same markdown file
- Remove character limit from blog post and LinkedIn (only Twitter
keeps 280 char limit)
- Instruct Claude to skip preamble and start directly with content
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add disallowed_tools to prevent Claude from wasting turns on
TodoWrite, Edit, Write, and other non-essential tools that cause
error_during_execution crashes
- Make extract/upload/update steps run with always() so they still
execute even if Claude's step exits with error_during_execution
- Add JSONL log fallback: if result field is empty, scan assistant
messages for the generated content (contains ###)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a direct "Download full output" link in the comment footer that
points to the uploaded artifact, alongside the existing workflow run
link.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude Code sandboxes file access to the working directory. Files in
/tmp are inaccessible regardless of allowed_tools config. Move diff
files and extracted result to .claude-tmp/ inside the repo.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add `Read` to allowed_tools so Claude can read the diff files
- Read Claude output from JSON file instead of step output (fixes
empty result caused by multiline content breaking GH Actions outputs)
- Upload claude-execution-output.json as a downloadable artifact
- Add link to workflow run in the success comment footer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Skip posting the initial comment on PRs from forks (job-level guard
+ runtime check for workflow_dispatch)
- Verify the checkbox clicker has write/admin permission before
running generation (prevents external collaborators from triggering
Claude API calls)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The claude-code-base-action expects anthropic_api_key as a `with:`
input parameter, not an `env:` variable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add workflow_dispatch trigger with pr_number input so the social copy
generator can be used on any existing PR (open or merged). Also adds
duplicate comment detection and a GitHub API diff fallback for merged
PRs where the branch may have been deleted.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a GitHub Actions workflow that posts a comment on every new PR with a
checkbox to generate social media copies (Twitter/X, LinkedIn, Blog Post)
using Claude Code. Checking the checkbox triggers Claude to analyze the PR
diff and generate content. After generation, the checkbox resets to
"Regenerate" so users can re-trigger after pushing new changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move original CopilotKit/CopilotKit directory to src/v1.x
- Introduce new v2 interfaces in src/v2.x
- Align CI paths and preview environments to new layout
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
Co-authored-by: Ran Shemtov <ran@copilotkit.ai>
Co-authored-by: Brandon McConnell <brandon@dreamthinkbuild.com>
Co-authored-by: Mike Ryan <mike.ryan52@gmail.com>