Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Coding agents on an Exponential project

How to set up an AI coding assistant on an Exponential project so that it works from facts - the documentation through exp:help, runtime facts through read-only console commands (exp:ini where, exp:access:check…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/ai-agents/agentic-workflows/coding-agents-on-an-exponential-project.md

On this page

Coding agents on an Exponential project

This page is for developers who work with an AI coding assistant on an extension, a design or a whole installation. Such an assistant reads code well, but Exponential's behavior depends on settings layers, siteaccesses, overrides and caches that code alone does not show. Give it the facts, and keep it away from what it must not touch.

Contents

  1. What the agent needs
  2. Documentation through exp:help
  3. Runtime facts through the console
  4. The build steps it must know
  5. What it must not touch
  6. Reviewing its work

What the agent needs

NeedSource
How a feature is meant to workThe help in doc/ (Agent-friendly documentation)
How this installation is configured right nowRead-only console commands on a development copy
How to build, test and deploy a changeThe project's own instructions, and the application creators' pages
What it may and may not changeYour project notes for the agent

Documentation through exp:help

Tell the agent to search before it answers: ./console exp:help search "<words>" --json, then read the pages. The application creators' section is the developer's map: Application creators: start here.

Runtime facts through the console

On a development or staging copy, these commands answer from the running installation instead of from a guess:

QuestionCommand
Which files set this setting, in load order, and which value wins?./console exp:ini where site.ini/ExtensionSettings/ActiveExtensions
What is its value?./console exp:ini get site.ini/DesignSettings/SiteDesign
May this user read or edit this node, and which limitation refuses it?./console exp:access:check --user=<login> --node=<id>
What did the error log say after the change?./console exp:logs --tail=var/log/error.log --lines=50
What does the documentation say?./console exp:help search "<words>"

Give the agent the read commands only. Commands that change settings or data (exp:ini set, cache clears, scripts that write) stay with a person. A command runs as the system user that starts it, with access to the whole installation, which is why this belongs on a development copy, not on production.

The build steps it must know

From the application creators' pages, the steps an agent most often forgets:

AfterRunRead
Editing a PHP filephp -l <file>Debugging and logs
Adding or renaming a classphp bin/php/ezpgenerateautoloads.php -e (extensions)Autoloads and class naming
Changing settings, classes or templatesClear the relevant caches (php bin/php/ezcache.php)Caching in applications
Any change on a running serverReload PHP-FPM or restart the application server where classes are kept in memoryDeploying with Velocity

What it must not touch

Write these into your project notes for the agent:

  • settings/override/ and any file with keys or passwords: never read into the conversation, never committed. Provider keys belong there and nowhere else.
  • Production data: no database dumps or customer data in the agent's context.
  • Destructive commands (removing files, dropping tables, clearing everything on production) only after a person confirms.
  • Commits: stage files by name, never everything; review the diff before committing.

Reviewing its work

Treat the agent's change as a contributor's pull request:

  • run the tests and the checks your project uses (Testing applications, CI for extensions);
  • check that it did not invent kernel classes, settings or template operators: exp:help search and exp:ini get tell you whether they exist;
  • check the documentation it changed, if any, with ./console exp:help check.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x