Move from another tool
Bring your project instructions, rules and skills to Hull from Cursor, Windsurf or Claude Code.
Most of what you set up in another AI coding tool is plain Markdown: project instructions, rules and skills. Hull reads some of these files as they are, and the rest take a few minutes to move.
What Hull reads automatically
| File | Where | Notes |
|---|---|---|
AGENTS.md | Your project, from the working directory up to the repository root | The main place for project instructions. |
CLAUDE.md | Your project | Used when the project has no AGENTS.md. If both exist, Hull uses AGENTS.md. |
AGENTS.md | ~/.config/hull/ | Global instructions for every project. |
CLAUDE.md | ~/.claude/ | Used as global instructions when ~/.config/hull/AGENTS.md doesn't exist. |
| Skills | .claude/skills/ and .agents/skills/, in your project and your home directory | Each skill is a folder with a SKILL.md. See Skills. |
| Rules | .hull/rules/*.md in your project, ~/.hull/rules/*.md globally | Every rule file applies to every session. See Rules. |
Project files load only when the project is trusted. The CLI asks the first time you open a project that contains project configuration or instructions, and you can change the decision with hull trust. In VS Code, Hull follows VS Code's workspace trust.
To stop Hull reading Claude Code files, set HULL_DISABLE_CLAUDE_CODE=1. To turn off only one part, use HULL_DISABLE_CLAUDE_CODE_PROMPT=1 (instructions) or HULL_DISABLE_CLAUDE_CODE_SKILLS=1 (skills).
The quickest route: /init
In your project, run /init in the CLI or an IDE extension. Hull reads your README, build and test configuration, and any existing instruction files, including CLAUDE.md, .cursor/rules/, .cursorrules and .github/copilot-instructions.md, then writes a compact AGENTS.md. Review it and commit it.
From Cursor
Hull doesn't read .cursor/rules/ or .cursorrules directly.
Copy your rules
mkdir -p .hull/rules
for file in .cursor/rules/*.mdc; do
name="${file##*/}"
cp "$file" ".hull/rules/${name%.mdc}.md"
done
[ -f .cursorrules ] && cp .cursorrules .hull/rules/cursorrules.mdRemove the frontmatter
Delete the YAML block between the --- lines at the top of each file. Hull doesn't use description, globs or alwaysApply: every rule in .hull/rules/ applies to every session. If a rule only matters for some files, say so in the rule itself, for example "When editing *.tsx files, ...".
Move global rules
Copy the text from Cursor's user rules into ~/.hull/rules/cursor.md.
Nested folders under .cursor/rules/ aren't scanned in .hull/rules/. Flatten them into descriptive file names, such as backend-api.md.
From Windsurf
Windsurf rules are already plain Markdown.
mkdir -p .hull/rules
cp .windsurf/rules/*.md .hull/rules/
[ -f .windsurfrules ] && cp .windsurfrules .hull/rules/windsurfrules.md
mkdir -p ~/.hull/rules
cp ~/.codeium/windsurf/memories/global_rules.md ~/.hull/rules/windsurf-global.mdWindsurf's activation modes (Always On, Glob, Model Decision, Manual) don't carry over. Every rule in .hull/rules/ is always on, so remove rules you only used manually, or move them into a skill the agent loads when it needs it.
From Claude Code
Your CLAUDE.md files and skills work without changes, as described above. A few things to move by hand:
- MCP servers. Add them to your Hull config. See MCP.
- Custom slash commands and subagents. Recreate them as Hull workflows and subagents.
- Permissions. Set them in Hull's
permissionconfig. See Permissions.
If a project has both files, Hull reads only AGENTS.md, so keep your instructions there.
Point Hull at files where they are
If you'd rather leave rule files where they are, list them in the instructions key of your project's hull.jsonc. Paths and glob patterns both work:
{
"instructions": ["docs/conventions.md", ".cursor/rules/*.mdc"]
}Files listed this way are loaded as they are, including any frontmatter.
Check your setup
- Start a new session in the project.
- Ask: "Which project instructions and rules are you following?"
- Ask Hull to do a small task that one of your rules covers, and check the result.