Projects
A project in Long Horizon is a local folder containing your application code. When you open a project, Long Horizon creates configuration files that link it to your workspace and store your tests.
Project configuration
Long Horizon stores project settings in a project.json file inside the .longhorizon folder in your repository. Key settings include:
workspace_id— Links this project to a specific workspaceapp_url— The URL Long Horizon opens when running testsproject_dir— Absolute path to your project root
{
"workspace_id": "ws_abc123",
"app_url": "http://localhost:3000",
"project_dir": "/Users/you/code/my-app"
}Should you commit .longhorizon folder?
Yes, you should commit the .longhorizon folder to your repository. The folder contains the project configuration and tests which are written by the agent. By committing the folder, the tests remain in sync with the code base and are also shared with your team members.
Supported coding agents
Long Horizon works with these AI coding agents:
- Cursor — Enable MCP in Settings → Tools & MCPs
- Claude Code — Restart the CLI after configuration
- Codex — Restart the CLI after configuration
During project setup, Long Horizon detects which agents you have installed and configures MCP for each one. See MCP Server for detailed setup instructions.
Rule files
Long Horizon can create optional rule files in your project:
PLANNING_RULES.md— Guidelines for how your agent should plan test scenariosTESTING_RULES.md— Conventions for test execution, data setup, and assertions
These files are read by your coding agent as context. Fill them with your team's testing conventions, forbidden patterns, or setup requirements. They're optional—Long Horizon works without them.
Changing your app URL
If your dev server runs on a different port or you need to test against a staging environment, update the app URL in Long Horizon's project settings. The change takes effect on the next test run.
Tip: Keep your app URL stable during a testing session. Changing it mid-session can cause confusing failures if cached state doesn't match the new environment.