Use this file to discover all available pages before exploring further.
Already invested in custom rules, agents, or skills for your current AI coding tool? You don’t have to start over. GlooCode’s custom agent system can express the same behaviors — different format, same ideas.This guide shows how to translate your existing configurations into GlooCode custom agents, with concrete before-and-after examples for each major tool.
Every custom agent in GlooCode is defined in ~/.config/gloocode/gloocode.json. Each agent has five fields:
Field
What it does
mode
Always "subagent" for custom agents
model
Which Gloo AI model to use (e.g., gloo-anthropic-claude-sonnet-4.5)
description
A short summary — shown when listing agents, helps you remember what each one does
prompt
The system prompt that defines the agent’s behavior
permission
What tools the agent can use (allow or deny per tool)
When you migrate a rule, skill, or agent from another tool, you’re primarily mapping its instructions into the prompt field and its access controls into the permission block.Switch to any custom agent mid-session by typing /<agent-name> in the TUI.
See Agents for the full configuration reference, including all permission types and model options.
Cursor stores project rules in .cursor/rules/*.mdc files (or the legacy .cursorrules file at the project root). Each rule has optional YAML frontmatter with description, globs, and alwaysApply fields, followed by Markdown instructions.
---description: Testing conventions for this projectglobs: "**/*.test.ts,**/*.spec.ts"---When writing tests:- Use Vitest, not Jest- Prefer `describe` / `it` blocks over `test`- Always test error cases, not just happy paths- Mock external APIs, never hit real endpoints in tests
After — in ~/.config/gloocode/gloocode.json:
{ "$schema": "https://gloocode.ai.gloo.com/config.json", "agent": { "test-writer": { "mode": "subagent", "model": "gloo-anthropic-claude-sonnet-4.5", "description": "Writes tests following project conventions.", "prompt": "You are a test-writing specialist. When writing tests:\n- Use Vitest, not Jest\n- Prefer `describe` / `it` blocks over `test`\n- Always test error cases, not just happy paths\n- Mock external APIs, never hit real endpoints in tests\n\nFocus on *.test.ts and *.spec.ts files.", "permission": { "glob": "allow", "grep": "allow", "read": "allow", "bash": "allow", "edit": "allow" } } }}
Switch to it with /test-writer in the TUI.
If you have multiple Cursor rules that apply to different file types, you can create separate GlooCode agents for each — or combine related rules into a single agent with a longer prompt.
Windsurf stores rules in .windsurf/rules/*.md files (or the legacy .windsurfrules file). Each file has YAML frontmatter with a trigger field (always_on, model_decision, glob, or manual) followed by Markdown content.
---trigger: always_on---Security requirements for all code changes:- Never log sensitive data (passwords, tokens, PII)- Use parameterized queries, never string concatenation for SQL- Validate all user input at system boundaries- Use HTTPS for all external requests
After — in ~/.config/gloocode/gloocode.json:
{ "$schema": "https://gloocode.ai.gloo.com/config.json", "agent": { "secure": { "mode": "subagent", "model": "gloo-anthropic-claude-sonnet-4.5", "description": "Security-focused code review and implementation.", "prompt": "You are a security-conscious coding agent. For all code changes:\n- Never log sensitive data (passwords, tokens, PII)\n- Use parameterized queries, never string concatenation for SQL\n- Validate all user input at system boundaries\n- Use HTTPS for all external requests\n\nFlag any existing violations you find while working.", "permission": { "glob": "allow", "grep": "allow", "read": "allow", "bash": "allow", "edit": "allow" } } }}
GitHub Copilot uses .github/copilot-instructions.md for repository-wide instructions, .github/instructions/*.instructions.md for path-specific rules (with applyTo globs in frontmatter), and .github/agents/*.agent.md for custom agents.
---name: reviewerdescription: "Code reviewer focused on quality and security"tools: ["read", "search"]---Review code changes for:- Logic errors and edge cases- Security vulnerabilities (injection, XSS, auth bypass)- Performance issues (N+1 queries, unnecessary re-renders)- Adherence to project conventionsProvide specific line-level feedback. Your verdict must beAPPROVE, REQUEST_CHANGES, or BLOCK.
After — in ~/.config/gloocode/gloocode.json:
{ "$schema": "https://gloocode.ai.gloo.com/config.json", "agent": { "reviewer": { "mode": "subagent", "model": "gloo-anthropic-claude-sonnet-4.5", "description": "Code reviewer focused on quality and security.", "prompt": "Review code changes for:\n- Logic errors and edge cases\n- Security vulnerabilities (injection, XSS, auth bypass)\n- Performance issues (N+1 queries, unnecessary re-renders)\n- Adherence to project conventions\n\nProvide specific line-level feedback. Your verdict must be APPROVE, REQUEST_CHANGES, or BLOCK.", "permission": { "glob": "allow", "grep": "allow", "read": "allow", "bash": "allow", "edit": "deny" } } }}
Notice the "edit": "deny" — the reviewer can read and analyze code but cannot modify files, matching the read-only intent of the original Copilot agent.
Aider uses .aider.conf.yml for configuration and CONVENTIONS.md for project coding standards. Aider doesn’t have discrete agents — it uses a single model with conventions loaded as read-only context.
- Use httpx instead of requests for HTTP calls- Type hints on all function signatures- All public functions must have docstrings- Use pytest for testing, aim for 80%+ coverage- Prefer composition over inheritance
{ "$schema": "https://gloocode.ai.gloo.com/config.json", "agent": { "python": { "mode": "subagent", "model": "gloo-anthropic-claude-sonnet-4.5", "description": "Python development following project conventions.", "prompt": "Follow these project conventions:\n- Use httpx instead of requests for HTTP calls\n- Type hints on all function signatures\n- All public functions must have docstrings\n- Use pytest for testing, aim for 80%+ coverage\n- Prefer composition over inheritance\n\nAfter making changes, run `ruff check` to lint and `pytest` to verify tests pass.", "permission": { "glob": "allow", "grep": "allow", "read": "allow", "bash": "allow", "edit": "allow" } } }}
Codex uses AGENTS.md files for project instructions (at multiple directory levels) and .codex/config.toml for model and permission settings. Codex doesn’t support custom agents as discrete entities.
# Project Guidelines## ArchitectureThis is a Next.js 15 App Router project with TypeScript strict mode.## Conventions- Server components by default, `'use client'` only when needed- Use Zustand for client state, React Query for server state- Tailwind CSS for styling, no arbitrary values- All API routes go in `src/app/api/`## Testing- Vitest for unit tests, Playwright for E2E- Run `bun test` before committing
After — in ~/.config/gloocode/gloocode.json:
{ "$schema": "https://gloocode.ai.gloo.com/config.json", "agent": { "nextjs": { "mode": "subagent", "model": "gloo-anthropic-claude-sonnet-4.5", "description": "Next.js development following project architecture.", "prompt": "This is a Next.js 15 App Router project with TypeScript strict mode.\n\nConventions:\n- Server components by default, 'use client' only when needed\n- Use Zustand for client state, React Query for server state\n- Tailwind CSS for styling, no arbitrary values\n- All API routes go in src/app/api/\n\nAfter changes, run `bun test` before committing.", "permission": { "glob": "allow", "grep": "allow", "read": "allow", "bash": "allow", "edit": "allow" } } }}
Amazon Q uses .amazonq/rules/*.md files for project-level rules. Rules are plain Markdown (no YAML frontmatter required) and are automatically loaded as context.
# CDK Security Rules## Instructions- All S3 buckets must have encryption enabled- All S3 buckets must enforce SSL connections- All S3 buckets must block public access- All DynamoDB tables must have encryption enabled- All Lambda functions must have tracing enabled## PriorityCritical — these are non-negotiable security requirements.
After — in ~/.config/gloocode/gloocode.json:
{ "$schema": "https://gloocode.ai.gloo.com/config.json", "agent": { "infra": { "mode": "subagent", "model": "gloo-anthropic-claude-sonnet-4.5", "description": "Infrastructure code with security requirements.", "prompt": "When writing or reviewing infrastructure code, enforce these critical security requirements:\n- All S3 buckets must have encryption enabled\n- All S3 buckets must enforce SSL connections\n- All S3 buckets must block public access\n- All DynamoDB tables must have encryption enabled\n- All Lambda functions must have tracing enabled\n\nThese are non-negotiable. Flag any violations immediately.", "permission": { "glob": "allow", "grep": "allow", "read": "allow", "bash": "allow", "edit": "allow" } } }}
Combine related rules. If you have five small Cursor rules that all relate to TypeScript conventions, combine them into a single GlooCode agent prompt rather than creating five separate agents.Use read-only agents for review. Any rule or agent that was meant to analyze without changing code should set "edit": "deny" in its permission block.Pick the right model for the job. GlooCode lets you assign different models to different agents. Use a stronger model (like gloo-anthropic-claude-sonnet-4.5) for complex review tasks and a faster model (like gloo-anthropic-claude-haiku-4.5) for simple linting or formatting checks. See Supported Models for all options.You can have as many agents as you want. There’s no limit on custom agents. Create specialized agents for different parts of your workflow — planning, reviewing, testing, documenting — and switch between them with /<name>.Prompts can be as long as you need. If your original rules file was 200 lines of detailed conventions, you can put all of that into the prompt field. Use \n for line breaks in the JSON string.