Skip to content
Ultracite
Esc
↑↓navigate↵open⌘Jpreview

AdaL rereads AGENTS.md on every turn

AdaL reads the AGENTS.md at your workspace root on every turn, so Ultracite’s rules stay in front of it for the whole session. Ultracite doesn’t configure AdaL’s hooks, so the agent runs ultracite fix through its bash tool when the rules tell it to.

AdaL by SylphAIChecked against AdaL 1.9.0

# 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.

…
Ultracite’s rules
Where AdaL looks for instructions
  1. 1Default system promptAdaL’s general-purpose instructions, unless --prompt-file replaces them.
  2. 2AGENTS.mdUltraciteAt the workspace root, read every turn and injected as project instructions.
  3. 3UserPromptSubmit hookA hook in ~/.adal/settings.json whose output is prepended to each prompt you send.

How AdaL reads the rules

AdaL has one project instructions file: AGENTS.md at the workspace root, injected every turn as project context. A custom prompt file changes AdaL’s role, not the project rules.

Every turn
AdaL reads AGENTS.md on each turn, not once per session.
/init
/init analyzes the codebase and creates an AGENTS.md. If you run it after Ultracite, check its rules are still there; npx ultracite init adds them back.
Prompt files
--prompt-file replaces the default role prompt for a run. AGENTS.md still loads as project context.

Rules every turn, commands through bash

AdaL runs ultracite fix because AGENTS.md tells it to. Its hooks live only in ~/.adal/settings.json: a PostToolUse hook can add context to a tool result through stdout on exit 0, while exit 2 blocks only PreToolUse and UserPromptSubmit. Ultracite doesn’t configure them.

- **Format code**: `npx ultracite fix`
- **Check for issues**: `npx ultracite check`
- **Diagnose setup**: `npx ultracite doctor`
What the rules tell it to run
  1. 01AdaL changes a file with create_file, replace_by_string, rewrite_file or delete_lines.
  2. 02Following AGENTS.md, it runs npx ultracite fix with bash.
  3. 03Your permission mode decides whether it asks first; --yolo runs everything.
  4. 04It reads the output and fixes what’s left before it answers.

Worth knowing about AdaL

  • Lint runners can skip the prompt

    In default mode, AdaL runs reads, searches, read-only shell commands and project test, build and lint runners without asking, and asks before file edits and other shell commands. acceptEdits also lets edits through, and “allow always” covers one command prefix for the rest of the session.

  • Unfinished replies get a nudge

    AdaL uses Jev to notice when a model stops before the task is finished, and nudges the agent to keep going instead of handing back a half-done turn.

  • Worktrees live inside your project

    AdaL’s worktree tool puts parallel work in .agents/worktrees/<name>/ on its own branch, inside your project. Add .agents/worktrees/ to .gitignore, as AdaL’s docs advise, so those copies don’t show up as untracked files.

  • The Ultracite skill

    AdaL loads skills from ~/.adal/skills/, the project’s .adal/skills/ and installed plugins, not from .agents/skills/. When you choose AdaL, init installs the Ultracite skill into .adal/skills/ as well.

AdaL questions, answered

Does AdaL read AGENTS.md?
Yes. Put it at the workspace root: AdaL reads it every turn and injects it as project instructions, in interactive sessions and headless adal -q runs alike.
Does AdaL support hooks?
Yes, in ~/.adal/settings.json only; project and plugin hooks aren’t available yet. They use Claude Code’s event names, and a PostToolUse hook adds context to the tool result through stdout on exit 0. Ultracite doesn’t configure them.
Does --prompt-file drop the rules in AGENTS.md?
No. A prompt file replaces AdaL’s default role prompt, but AGENTS.md still loads as project context alongside it.
Can AdaL run Ultracite in CI?
Use headless mode: adal -q "…" runs a prompt without the interactive UI, and --yolo lets every tool call run without asking. AdaL follows AGENTS.md there as it does interactively.

Ship less slop

One command sets up your linter, formatter, editor and agents. Works with Oxlint, Biome and ESLint.