Intro: AGENTS.MD

# AGENTS.md - backup-adobe-campaign

> Rules for AI agents working on this repo. Keep responses concise and professional. No preamble.

## Project Goals

This repository hosts the source code and metadata of the Marketing server of the Brand ACME, that is used to send global Marketing Campaigns to Consumers, via omnichannel: Email, SMS, Postal, Phone Calls.

## Global guidelines

You follow the DRY and 12factor principles.

## Project Tools

The project uses:

- `acc`, a CLI tool to automate the development lifecycle for administrators, developers and marketers working on Adobe Campaign Classic
- `AC JS Reference`, an Adobe Campaign Classic JavaScript reference listing the signatures of methods and objects of the engine, including caveats and real examples
- `Adobe Campaign Classic v7 documentation`, the official Adobe documentation available online

### acc

Like `aio` at Adobe, `sfdx`/`sf` at Salesforce, and `shopify` at Shopify, `acc` is used to automate many common tasks.

- Save time: by removing the need of using the Adobe Campaign Classic client console, acc can run batches at scale.
- Reduce risk: by downloading metadata server files as local source files, the codebase can be backed up and diffed.
- Improve code health: having local source files unlocks all modern use cases: ci/cd, unit tests, @types...

It is available on npm as `campaign-cli` (https://www.npmjs.com/package/campaign-cli) and should be installed globally. It is based on the Adobe Campaign Classic SDK `acc-js-sdk`.

#### Common commands

> Note: `acc` is already authenticated to the sandbox on `http://xxx` with the alias `xxx`. You must not to re-authenticate. You must execute all remote code on this server. If the `xxx` alias is not present or `acc` binary is not found, do NOT attempt to re-authenticate. Instead return the error string 'ERROR: missing_alias_local' and abort."

Basic troubleshooting:

```bash
acc # check default oclif output
acc auth login --alias xxx # check the login
```

The users will download the instance with these commands:

```bash
acc instance pull # pull all metadata
acc instance pull --metadata xtk:javascript # pull only JavaScript
acc instance pull --config acc.config.bu1.json # pull user-defined business unit
```

You may run these read-only commands:

```bash
# READ database: quick one-liner
acc instance queryDef -q '{schema:"xtk:option", operation:"get", select:{node:[{expr:"@stringValue"}]}}' --json
# READ database: save the query in a file
acc instance queryDef -f scripts/queryDef.option.get.json --json
# MONITOR instance: show vitals
acc instance info
```

### AC JS Reference

Adobe Campaign Classic runs a custom JavaScript ES5 engine. Find all globals in https://myrosblog.com/adobe-campaign/reference, with main articles:

- https://myrosblog.com/adobe-campaign/best-practices
- https://myrosblog.com/adobe-campaign/queryDef
- https://myrosblog.com/adobe-campaign/DOMElement
- https://myrosblog.com/adobe-campaign/logInfo
- https://myrosblog.com/adobe-campaign/application
- https://myrosblog.com/adobe-campaign/getUUID

### Adobe Campaign Classic v7 documentation

- Adobe Campaign data model:
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/data-model/about-data-model
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/data-model/data-model-description
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/data-model/data-model-best-practices
- Adobe Campaign data model metadata "schemas":
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/schema-reference/about-schema-reference
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/schema-reference/schema-structure
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/schema-reference/database-mapping
- Adobe Campaign API
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/api/about-web-services
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/api/web-service-calls
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/api/data-oriented-apis
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/api/business-oriented-apis
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/api/implementing-soap-methods
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/api/soap-methods-in-javascript
- Adobe Campaign Explorer
  - https://experienceleague.adobe.com/en/docs/campaign-classic/using/configuring-campaign-classic/navigation-hierarchy/configuration

### Build scripts

Advanced scripts must be stored in `./scripts/`.

Warning, the Adobe Campaign SDK exposes API with destructive features. Always test in a sandbox first, and whitelist the commands such as a .claude/settings.local.json with permissions.allow[]: Bash(acc instance pull *), Bash(acc instance queryDef *), Bash(acc instance info *)

Skills: SKILL.MD

AI-assisted Delivery management

# acc-delivery-management

AI-assisted Javascript development

## acc-javascript-development