Snowflake CoCo reads AGENTS.md as its main rules
Snowflake CoCo, formerly Cortex Code, reads AGENTS.md in its CLI (still run as cortex) and its desktop app. Ultracite doesn’t set up hooks for it, so CoCo runs ultracite fix when the rules tell it to, after you approve the command or pre-approve it.
Snowflake CoCo by SnowflakeChecked against October 2026
# Ultracite Code Standards
This project uses **Ultracite**, a zero-config preset that enforces strict code quality standards through automated formatting and linting.
## Quick Reference
- **Format code**: `npx ultracite fix`
- **Check for issues**: `npx ultracite check`
- **Diagnose setup**: `npx ultracite doctor`
Oxlint + Oxfmt (the underlying engine) provides robust linting and formatting. Most issues are automatically fixable.
…- 1
AGENTS.mdUltraciteThe primary project instructions file, at the workspace root. - 2
Folders up to the git rootCoCo Desktop also checks every directory from the workspace root up to the git root, for monorepos. - 3
CLAUDE.md, CORTEX.md, SNOWFLAKE.md, RULES.mdAlso recognized by CoCo Desktop, with names matched case-insensitively. - 4
.cursor/rules/*.mdc, .claude/rules/*.mdRead relative to the git root by CoCo Desktop. - 5
~/.snowflake/cortex/AGENTS.mdYour instructions for every project. CoCo Desktop’s Custom instructions editor writes this file.
How Snowflake CoCo reads the rules
CoCo treats AGENTS.md as the project’s main instructions file. Snowflake documents the search in detail for CoCo Desktop: workspace files first, then yours, then the active profile’s, all concatenated into one block of context.
- Size
- About 100,000 characters in total in CoCo Desktop. A file that would pass the cap is skipped.
- Same name
- When a workspace file and a user file share a name, the workspace one is used and the other is skipped.
- When it loads
- Instruction files go into the first message of the session, joined into one block of context.
- Patterns
chat.instructionFilePatternschanges which file names CoCo Desktop discovers.- Scoped files
.github/instructions/*.instructions.mdwith anapplyToglob attach only when matching files are in the conversation.- Order
- Workspace files first, then your user files, then the active profile’s.
Approve the command once, or up front
CoCo runs ultracite fix with its bash tool because AGENTS.md tells it to. In the default Confirm mode, CoCo may ask before it runs a shell command; a remembered approval or --allowed-tools lets it through.
cortex -p "Run npx ultracite fix, then fix what it reports" --allowed-tools "Bash(npx ultracite *)"- 01CoCo changes a file with its
editorwritetool. - 02Following
AGENTS.md, it runsnpx ultracite fixwithbash. - 03Confirm mode may ask first; a saved “Always allow” or
--allowed-toolsskips the prompt. - 04CoCo reads the output and fixes what’s left.
Worth knowing about Snowflake CoCo
Hooks come from Claude Code’s files too
The CLI reads hooks from
.cortex/settings.json,.claude/settings.json, their.localvariants,~/.claude/settings.jsonand~/.snowflake/cortex/hooks.json. Matchers are case-sensitive and built-in tool names are lowercase:bashmatches,Bashdoesn’t.Approvals you give once
When CoCo asks before a command, “Always allow (persist)” saves the answer to
~/.snowflake/cortex/permissions.json, scoped to the project and the command pattern. Delete a project’s entry to reset it.One setup for the CLI and desktop
CoCo CLI and CoCo Desktop read the same configuration in
~/.snowflake/cortex/, so a skill or hook you set up in one is available in the other.The Ultracite skill
CoCo CLI loads project skills from
.cortex/skills/and.claude/skills/, and since 1.0.77 from.agents/skills/, so it finds the Ultracite skillinitinstalls there./skill listshows what loaded.
Snowflake CoCo questions, answered
- Does Snowflake CoCo read AGENTS.md?
- Yes. Snowflake lists
AGENTS.mdsupport among the CLI’s agent customization features, and CoCo Desktop treatsAGENTS.mdas the primary project instructions file. - Is Snowflake CoCo the same as Cortex Code?
- Yes. Snowflake’s docs now call Cortex Code “Snowflake CoCo”, and the CLI command is still
cortex.ultracite init --agents snowflake-cocosets it up (snowflake-cortex, its old id, still works). - Will CoCo run Ultracite’s Claude Code hook?
- Not as written. The CLI reads hooks from
.claude/settings.json, but its matchers are case-sensitive and its built-in tool names are lowercase, so theWrite|Editmatcher in Ultracite’s Claude Code hook doesn’t matcheditorwrite. Ultracite doesn’t configure CoCo hooks. - How do I run Ultracite through CoCo in CI?
- Use batch mode and pre-approve the command:
cortex -p "…" --allowed-tools "Bash(npx ultracite *)".cortex execrejects interactive prompts automatically, so a command that isn’t pre-approved won’t run there. - Where do I put personal instructions for CoCo?
- In
~/.snowflake/cortex/AGENTS.md. CoCo Desktop’s Custom instructions editor reads and writes the same file.
Keep going
- AgentKiro CLIAWS’s terminal coding agent, formerly Amazon Q Developer CLI, with custom agents, steering and hooks.
- AgentCodexOpenAI’s coding agent for the terminal, IDEs, the ChatGPT desktop app and cloud tasks.
- AgentDroidFactory’s coding agent CLI, run interactively or headless in CI.
- DocsAgent rulesWhat
initwrites for every agent, and how to keep it current.
Ship less slop
One command sets up your linter, formatter, editor and agents. Works with Oxlint, Biome and ESLint.