About

Splicer is an AI code migration agent that moves features between GitHub repositories. You describe what you want to migrate, pick a source repo and a target repo, and Splicer finds the relevant files, adapts them, wires dependencies, and integrates everything into a clean `splice` branch ready for a PR.

Input

- Source Repo → You point to the repo that has the feature you want (e.g. a component, hook, or util).

- Target Repo → You point to the repo where it should live.

- User Input → You describe what to migrate (e.g. *“Add the dark mode toggle component and its styles”*).

Splicer → Creates a `splice` branch in the target, finds the right code and dependencies, copies and pastes files, adapts imports and styles, adds npm deps, wires the feature in, and runs static checks. You get a PR-ready branch and, for Node.js projects, a live in-browser preview.

- All migrations are written to a `splice` branch (never `main`/`master`). Merge via GitHub PR or clone the branch locally.

Example: Give the same prompt to Google AI Studio, Lovable, and Bolt; then add all the features you want from the others into the best one as the base.

## How I built it

I started by building the core agent using LangChain and LangGraph along with Github MCP tools, testing heavily in LangSmith. I initially experimented with a full validator and revisor loop, but it quickly became over-engineered. I simplified the pipeline to a single structured check node, which was far more reliable, and I plan to continue refining the validation loop to make it truly agentic. Graph framework:

1. Splicer Setup: Create a splice branch in the target repository from the default branch.

- If the splice branch already exists, skip creation.

2. Planner API: Generate a structured plan that defines:

- Source repository exploration goals

- Target repository exploration goals

- Integration instructions

- The final end goal of the change

3. Target Agent: Analyze the target repository to determine:

- Where the feature should live

- File paths and project structure

- Coding styles and conventions

- Framework constraints

- Exact paste and integration instructions

4. Source Agent: Inspect the source repository to:

- Locate the exact code to reuse

- Identify all dependencies

- Mark files for copying and classify them by type (component, hook, utility, etc.)

5. Paster Agent: Combine inputs from Splicer Setup, Target Agent, and Source Agent to:

- Map copied source files to the correct target paths

- Apply all copied files in a single atomic commit

6. Integrator Agent: Modify the pasted code as requested by the user:

- Adjust logic or behavior

- Add any required dependencies

- Wire the new component or feature into the target application

7. Check Node: Validate the resulting changeset:

- The diff is readable and coherent

- package.json and tsconfig remain valid

- All import dependencies are present

- Code passes basic syntax checks

8. Clean Up: Remove the .splicer/staging directory from the target branch to leave a clean working tree.