Cascade and Devin Local rules
- Last Updated: September 29, 2026
- 7 minute read
- OpenEdge
- Version 12.8
- Documentation
Both Cascade and the Devin Local agent use rule files to guide their behavior when working with OpenEdge ABL projects. Rules are persistent instructions, such as coding standards, syntax references, and project conventions, that are loaded automatically into the agent's context. This topic explains how to configure rules for each agent, how the two approaches differ, and how to migrate existing Cascade customizations if you switch to Devin Local.
Access rule files
- Cascade—You can access rule files in two ways:
- Navigate to File > Preferences > Windsurf
Settings, then select Manage
Rules under the
Customizations section.

- Alternatively, click the Toggle Cascade Side Bar >
Rules, Memories & Workflows (Notepad) icon at
the top-right corner of the Devin Desktop interface.

- Navigate to File > Preferences > Windsurf
Settings, then select Manage
Rules under the
Customizations section.
- Devin Local—Devin Local surfaces everything a session has loaded, such as rules, skills,
hooks, MCP servers, and plugins, in a single customizations view. To open
it:
- Choose Open customizations from the new-tab menu in an agent space, or
- Right-click a Devin Local session in the agent sidebar and select Open customizations.
Where rule files live
| Purpose | Cascade | Devin Local |
|---|---|---|
| Recommended project rules | .windsurf/rules/*.md |
AGENTS.md at the project root |
| Always-on rule file | .windsurf/global_rules.md |
AGENTS.md (or
AGENT.md) |
| Conditional/scoped rules | .windsurf/rules/*.md with activation
mode |
.devin/rules/*.md with
trigger frontmatter |
| Personal rules (not shared with the team) | User-level Windsurf settings | AGENTS.local.md (add to
.gitignore) |
| Rules that apply to every project | User-level Windsurf settings | ~/.config/devin/AGENTS.md
(%APPDATA%\devin\AGENTS.md on
Windows) |
- All paths above are relative to the workspace root, not the file system root.
- .devin/ is the Devin-native location and takes precedence over .windsurf/ when both exist. Rule files under .devin/rules/ and .windsurf/rules/ are both loaded if present.
- Rule files placed in subdirectories are loaded lazily, only when the agent accesses files in that part of the project. This approach keeps unrelated rules out of the agent's context.
- Devin Local also reads rules from .cursor/rules/, .claude/, and .windsurf rules if your project has them, so existing customizations from other tools carry over automatically. You can disable specific import sources in your Devin configuration file.
ABL syntax rules
Using the OpenEdge AI Assistant
To develop the ABL code, use the OpenEdge AI Assistant and its reference collection to determine grammar, language reference, and documentation. For details on using the OpenEdge AI Assistant, see Use the OpenEdge AI Assistant.
The OpenEdge AI Assistant is an MCP server. Devin Local prompts for approval before calling any MCP tool by default. You can pre-approve trusted tools or entire servers in your permissions configuration at the project, user, or organization level. See your Devin Local documentation for permission syntax and scopes. Without using the OpenEdge AI Assistant.
Without using the OpenEdge AI Assistant
As an alternative to using the MCP server, you can download a complete set of ABL syntax rule files from the Progress Electronic Software Delivery (ESD) website.
- Navigate to the Progress Software ESD website.
- From the list of available product lines, select Progress OpenEdge > Progress OpenEdge 12.8.x.
- Under the selected version, select AI Coding Assistance – ABL Syntax and Rules.
- Accept the end user license agreement to download the
ABL_Context.zipandabl-syntax.mdfiles.The
ABL_Context.ziparchive includes multiple .txtfiles, each containing grouped ABL statements. For example, all transaction-related statements are consolidated into a single .txtfile. Theabl-syntax.mdfile contains references to the specific .txtfiles. The .txtfiles can be stored anywhere on a local machine, within a project directory, or on a network location. However, you must update the paths inabl-syntax.mdto reflect where the.txtfiles are stored.Reference abl-syntax.md from the rule location used by your agent:- Cascade—Place or reference it from .windsurf/rules/abl-syntax.md.
- Devin Local—Place or reference it from .devin/rules/abl-syntax.md or include it as a project rule in AGENTS.md.
ABL Syntax Rules vs. OpenEdge AI Assistant
| ABL Syntax Rules | OpenEdge AI Assistant | |
|---|---|---|
| How it works | You download ABL_Context.zip and abl-syntax.md from the Progress ESD website and store the .txt files locally or on a network share. The abl-syntax.md rule file points to these files. | The OpenEdge AI Assistant exposes ABL reference data as live MCP tools that Cascade queries at runtime. |
| Setup | Requires manually downloading, extracting, and updating file paths in abl-syntax.md if files move. | Requires installing and configuring the OpenEdge AI Assistant extension in your IDE. |
| Content | Static snapshot of ABL syntax at the time of download. Must re-download to get updates. | Live—content is served by the MCP server and can reflect the latest reference without re-downloading files. |
| Rule file constraint | Subject to a 12,000-character rule file limit in supported IDEs, so large syntax sets may be split across multiple .txt files. | Not constrained by the rule file character limit. Data is fetched on demand via MCP tools. |
| When to use | When data residency or IP protection requirements prohibit code from leaving your environment, or when the environment is air-gapped. In the unlikely event that the OpenEdge AI Assistant is temporarily unavailable, these files can also serve as a fallback. | Recommended approach, more dynamic, no file management required. |
| Maintenance | You must manually update file paths in abl-syntax.md whenever files are moved. | No file path maintenance; the MCP server handles delivery. |
Rule file configuration
Cascade
To ensure Cascade applies syntax definitions and project-specific logic correctly, rule files must be structured and referenced in a consistent manner. The abl-syntax.md rule file located in /.windsurf/rules/ references the MCP server or the ABL syntax rule files and is the primary source for ABL syntax definitions. Additional definitions may be appended to abl-syntax.md file, referencing other MCP servers or .txt files, which may reside locally or on a shared disk. If the location of these resources changes, the file must be updated accordingly. Alternatively, Devin Desktop can be configured to apply the necessary changes automatically.
- Open the Customizations panel and select the
+Workspace option.

- Enter the name of the ruleset in lowercase, omitting the
.mdextension.A new file is created in the /.windsurf/rules/ directory.
Note:- If the /.windsurf/rules/ directory does not exist, it is created automatically.
- Project-specific rule files can be created using the +Workspace option in the Customizations panel. Use lowercase names without the .md extension.
Devin Local
- Create or edit AGENTS.md at the project root or add a file under .devin/rules/.
- Keep the file focused because long, verbose rules dilute the agent's attention. Reference a skill instead of embedding lengthy procedures directly in a rule.
- Commit AGENTS.md and .devin/rules/ to version control so the whole team shares the same guidelines. Use AGENTS.local.md (gitignored) for personal preferences only.
Rule activation modes
Cascade
Each rule file supports one of the following activation modes, which determine how Cascade applies the rules:

- Manual—Triggered only when explicitly mentioned by
the user. To activate, use an
@mentionin input box of Cascade. - Always On—Automatically applies to all relevant inputs without user intervention. This mode is recommended for abl-syntax rule set.
- Model Decision—Ideal for flexible, context-sensitive rules.
- Glob—Applies to files that match a specific pattern,
such as
.w,.cls,.vue.
Devin Local
| File | Activation |
|---|---|
|
AGENTS.md, AGENT.md, AGENTS.local.md |
Always-on and loaded at the start of every session. |
| .devin/rules/*.md |
Controlled by trigger frontmatter:
|
trigger: always_on.Authoring rules
Creating effective rules is an iterative process that involves experimentation and refinement to suit the specific needs of a project or application.
The following example rule set provides a starting point. The first two lines ensure
that the abl-syntax rules are prioritized and not unintentionally
overridden. The remaining entries offer general guidance and can be expanded or
customized as needed.
|
- Keep rules concise.
- Be specific. "Use
VARinstead ofDEFINE VARIABLE" is better than "use modern syntax." - Include examples of the pattern you want, not just a description of it.
- Version-control your rule files so the whole team benefits from the same guidelines.
- For anything beyond short, always-relevant instruction, consider a skill instead. Skills are only loaded into context when relevant, which keeps sessions faster and cheaper.
Migrating from Cascade to Devin Local
| Cascade feature | Devin Local equivalent |
|---|---|
| Rules (.windsurf/rules/) | AGENTS.md or .devin/rules/*.md (both are read automatically; no migration required) |
| Memories | Not supported. Capture the underlying procedure as a skill |
| Workflows | Not supported. Convert to a skill |