Artikel tester
Agent instructions — ele.dags.dk
Session entry points (auto-loaded as workspace rules every session): this file (
AGENTS.md)Skill folders (each
SKILL.mdis loaded on demand):.cursor/skills/(ele-*project skills, indexed in the table below),
This repository is an Express server with a plugin-driven architecture:
core/plugins/*/plugin.js
(bundled, loaded first) then
plugins/*/plugin.js
. Boot flow lives in
core/server.js
and
core/src/ServerClass.js
.
Always read first
.cursor/skills/ele-aio/SKILL.md
— mandatory before any task that plans from or changes this repository’s code: consult aio first (not optional); always use ele-aio for at least
aio:prompt + aio:summary
on substantive sessions (all session prompts/summaries must be saved — not optional, even when
aio:search
is not needed); state prompt id + summary saved in the attestation; end every response with **ele-aio attestation:** …; never aio:purge unless the user explicitly requests a full aio/.cache wipe.
.cursor/rules/ele-aio-mandatory.mdc
reinforces this. Same rule in README — AI assistants (ele-aio).
-
.cursor/skills/ele-ai-agent-procedures/SKILL.md— mandatory for AI-assisted implementation (bounded scope, task envelopes, evidence): read withdocs/implementation/ai-agent-procedures/README.mdand contractagent_task_contract_v1..cursor/rules/ele-ai-agent-procedures-mandatory.mdcreinforces this. Complements ele-aio; does not replace it.
- README.md — short runbook and links; ele-aio policy. Admin JSON inventory: docs/implementation/admin-http-surface.md (not duplicated in README).
Vinyl-colors.jpg -
.cursor/rules/ele-mcp-http-cli-mandatory.mdc— query the livemcp-gatewayfrom the agent terminal withnpm run mcp:httpwhen IDE-native MCP tools are not wired (requires a running server onELE_MCP_HTTP_BASE). - For plugin authoring: docs/implementation/PLUGIN_DEVELOPER_MANUAL.md and docs/implementation/i18n.md (English JSON errors; translated user-facing UI).
- For
api.*signatures and phase rules: docs/implementation/PLUGIN_API_REFERENCE.md (when the task is function-level behavior). - For interface contracts:
docs/README.md
(entry index; per-id tables
docs/reports/generated-contract-index.md,docs/reports/contract-usage-matrix.md), docs/implementation/authoring/interface-lifecycle-governance.md (stability,owner, duplicate-avoidance), and the relevantdocs/contracts/{datastores,services,kernel,policy-registration,behavior-http}/*-interface-v1.mdfiles (plusdocs/contracts/content/anddocs/contracts/admin-types/where applicable). - For bundled
core/pluginscatalog and per-plugin docs: docs/core-plugins/README.md . Generated plugin reports live under docs/reports/plugins/ (seenpm run generate:plugin-status/render:plugin-statusin npm.md).
Plugin rules (summary)
-
setup:api.prefs.declare,api.services.register,api.datastores.register,api.functions.register— not routes orapi.admin.*. -
activate: routes,api.routes.disable,api.admin.registerContribution. -
start/stop: background work and cleanup (timers, pools, stores). - Every plugin needs
permissions.actionswith at least one entry; validate incore/src/plugin-contract.js.