ai-platform-engineering
AGENTS.md438 starsChanged 53 days agoApache-2.0View on GitHub
Start with the narrowest owning module; do not add a parallel implementation until you have checked the shared locations below. Tests live beside their component (**/tests/, **/__tests__/) unless they exercise a cross-component contract. Repository-wide checks are in tests/; RBAC integration and browser coverage is in tests/rbac/ and ui/e2e/rbac/. Each component has its own environment variables - see env.example in ui/ and READMEs in ai_platform_engineering/knowledge_bases/rag/. AI agents operating in this repository must follow these rules on every commit:
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- caipe-io/ai-platform-engineeringword for word, first seen Sep 22, 2026
Other versions1 project uses a version of this.
Word for word · 1
- caipe-io/ai-platform-engineering★ 438100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,542 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository21 other files it gives its agents.
- .cursor/rules/docker-compose-first-install.mdcCursor rule
- .cursor/rules/safe-git-worktree.mdcCursor rule
- .cursor/rules/specify-rules.mdcCursor rule
- docker-compose-first-installSkill
- local-integration-testingSkill
- release-docsSkill
- run-caipe-integration-testsSkill
- skillsSkill
- speckit.analyzeSkill
- speckit.checklistSkill
- speckit.clarifySkill
- speckit.constitutionSkill
- speckit.implementSkill
- speckit.planSkill
- speckit.specifySkill
- speckit.sync-templateSkill
- speckit.tasksSkill
- speckit.taskstoissuesSkill
- streaming-testingSkill
- ui-performance-benchmarkSkill
- update-docsSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
24 rules. About 0 are common, 15 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Start with the narrowest owning module.
- Very specific: line 51
Architecture & concepts: - Keep updated in docs/
- Distinctive: line 52
Configuration & code details: - Document in component READMEs
- Distinctive: line 53
Agent instructions: - Keep this file (AGENTS.md) up-to-date
- Distinctive: line 59
Prefer bullets over paragraphs.
- Distinctive: line 60
Prefer diagrams over long explanations.
- Distinctive: line 61
No wall of text.
- Distinctive: line 62
Remove words that do not change decisions.
- Very specific: line 69
Use an explicit human DCO on every commit: - Every commit must include the Signed-off-by trailer that the human contributor explicitly …
- Distinctive: line 70
Do not invent identities: - Use only a DCO identity explicitly provided by the human contributor.
- Very specific: line 77
Branch naming: - Use prebuild/ prefix for CI to build Docker images
- Very specific: line 79
PR descriptions: - Follow the template in .github/pull_request_template.md
- Distinctive: line 89
Never apply a review suggestion with GitHub's "Commit suggestion" button.
- Distinctive: line 92
Do not resolve review threads on a pull request you do not own.
- Very specific: line 99
Create follow-up work as GitHub Issues in caipe-io/ai-platform-engineering.
- Very specific: line 101
Do not use repo-local Beads or bd issue tracking.
- Distinctive: line 105
Before committing code changes, run relevant checks:
- Very specific: line 111
When changing docker-compose.yaml, docker-compose.dev.yaml, .env.example, release image tags, Compose profiles, Keycloak/OpenFGA/RAG …
- Distinctive: line 121
Do not add Slack/Webex bots to that default path.
- Distinctive: line 125
Imports at top: - All imports must be at the top of the file, unless otherwise specified
- Distinctive: line 127
Error handling: - Use specific exceptions, log errors with context, don't silently swallow exceptions
- Distinctive: line 132
Never use real or deployment-specific names in tests, fixtures, examples, docs, seeds, screenshots, or generic source defaults.
- Very specific: line 134
Use neutral identifiers such as primary, secondary, example, test-user, and example-bot.
- Very specific: line 135
Use reserved domains such as example.com, example.org, and example.test for URLs and email addresses.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agent Instructions
Project Structure
ai_platform_engineering/ # Python backend
mcp/ # Per-tool MCP servers (GitHub, ArgoCD, etc.)
dynamic_agents/ # Dynamic agents runtime (FastAPI, MongoDB, AG-UI/SSE)
integrations/ # Slack and Webex bot integrations
autonomous_agents/ # Scheduled and event-driven autonomous tasks
audit_service/ # Audit-event service
scheduler/ # Scheduler service
cron-runner/ # Cron job runner
knowledge_bases/rag/ # RAG server, ingestors, graphrag, ontology
skills_middleware/ # Skill scanning / catalog middleware
utils/ # Shared utilities
ui/ # Next.js frontend
docs/ # Documentation site (Docusaurus)
docker-compose*.yaml # Canonical Docker Compose configurations
tests/ # Repo-level + RBAC tests
scripts/ # Utility scripts
charts/ # Helm chartsFind the Canonical Implementation
Start with the narrowest owning module; do not add a parallel implementation until you have checked the shared locations below.
| Need | Start here | Reuse before adding new code |
| UI page or API route | ui/src/app/ | ui/src/components/, ui/src/lib/, ui/src/store/ |
| UI component | ui/src/components/ | ui/src/components/ui/ and ui/src/components/shared/, then an existing component in the same feature area |
| UI selection control | ui/src/components/ui/{select,searchable-picker}.tsx | Follow docs/docs/ui/selection-controls.md; reuse a domain picker before adding a base or custom listbox |
| UI state or browser data | ui/src/store/ | Existing store and ui/src/lib/ helpers |
| Application manifest or native UI package | ui/app-sdk/agentic-app-manifest.mjs | CAIPE App Contract: shared AgenticAppManifest types/validation, ui/src/lib/agentic-apps/ installation adapters, and the native component interface |
| MCP integration | ai_platform_engineering/mcp/<provider>/ | ai_platform_engineering/mcp/common/ |
| Slack or Webex behavior | ai_platform_engineering/integrations/{slack_bot,webex_bot}/ | The BFF/API contract and shared auth utilities |
| Dynamic/custom-agent runtime | ai_platform_engineering/dynamic_agents/ | Its src/ modules and tests |
| RAG/ingestion | ai_platform_engineering/knowledge_bases/rag/ | common/, server/, or ingestors/ as applicable |
| Authentication, authorization, or audit helpers | ai_platform_engineering/utils/{auth,audit_backends}/, ui/src/lib/authz/, ui/src/lib/rbac/, and ui/src/lib/audit/ | Use the existing domain boundary; do not add direct OpenFGA checks outside an approved adapter |
Tests live beside their component (**/tests/, **/__tests__/) unless they
exercise a cross-component contract. Repository-wide checks are in tests/;
RBAC integration and browser coverage is in tests/rbac/ and ui/e2e/rbac/.
Each component has its own environment variables - see env.example in ui/ and READMEs in ai_platform_engineering/knowledge_bases/rag/.
Documentation
- Architecture & concepts - Keep updated in
docs/ - Configuration & code details - Document in component READMEs
- Agent instructions - Keep this file (
AGENTS.md) up-to-date
Docs & Spec Rules
- Reading is as hard as writing.
- Optimize for the next reader.
- Prefer bullets over paragraphs.
- Prefer diagrams over long explanations.
- No wall of text.
- Remove words that do not change decisions.
DCO Policy
AI agents operating in this repository must follow these rules on every commit:
- No AI sign-off -
Signed-off-byis a human DCO certification. AI agents must never invent, assume, or add this trailer on their own. - Use an explicit human DCO on every commit - Every commit must include the
Signed-off-bytrailer that the human contributor explicitly provided. - Do not invent identities - Use only a DCO identity explicitly provided by the human contributor.
Git Guidelines
- Conventional Commits for commits and PR titles - Format:
type(scope): description- Types:
feat,fix,docs,refactor,test,chore - Example:
feat(rag): add userinfo caching
- Types:
- Branch naming - Use
prebuild/prefix for CI to build Docker images- Example:
prebuild/feat/rag-batch-job-status
- Example:
- PR descriptions - Follow the template in
.github/pull_request_template.md
Pull Requests and Review
- One logical change per PR. Aim for under 500 changed lines of hand-written code; keep refactors out of behaviour changes.
- The description states why the change exists, links the issue, and says how it was verified.
- Disclose AI assistance in the description. Never add AI co-author or
assisted-bytrailers - see DCO Policy. - Never apply a review suggestion with GitHub's "Commit suggestion" button; the commit it creates names the suggestion's author as a co-author who has not signed off, which fails DCO. Apply it locally.
- Do not resolve review threads on a pull request you do not own.
- Full policy:
docs/docs/repo-ops/code-review.md
Issue Tracking
This project uses GitHub Issues for issue tracking.
- Create follow-up work as GitHub Issues in
caipe-io/ai-platform-engineering. - Reference related issues in PR descriptions when applicable.
- Do not use repo-local Beads or
bdissue tracking.
Quality Gates
Before committing code changes, run relevant checks:
- Python:
uv run ruff check,uv run pytest(always useuv runto ensure virtual env) - UI:
nvm usefirst (if available), thennpm run lint,npm run build
Docker Compose First Install
When changing docker-compose.yaml, docker-compose.dev.yaml, .env.example,
release image tags, Compose profiles, Keycloak/OpenFGA/RAG defaults, or
first-launch UX, follow .claude/skills/docker-compose-first-install/SKILL.md.
The docker-compose.yaml + .env.example path must work for a first-time OSS
user with the minimal profiles:
mcp-servers,caipe-ui-prod,rbac,dynamic-agents,rag,caipe-mongodb,web_ingestorDo not add Slack/Webex bots to that default path.
Code Style
- Imports at top - All imports must be at the top of the file, unless otherwise specified
- Type hints required - Python functions should have type hints for parameters and return values
- Error handling - Use specific exceptions, log errors with context, don't silently swallow exceptions
- Comments - Explain current intent or an invariant. Do not add tool/model provenance or rely on historical spec IDs as the explanation.
Test Data and Generic Examples
- Never use real or deployment-specific names in tests, fixtures, examples, docs, seeds, screenshots, or generic source defaults.
- This includes company and product names, people, email addresses, bot identities, cluster names, environment names, customer names, and internal project names.
- Use neutral identifiers such as
primary,secondary,example,test-user, andexample-bot. - Use reserved domains such as
example.com,example.org, andexample.testfor URLs and email addresses. - Environment-specific identities belong only in environment-owned deployment configuration, never in reusable source or tests.
Active Technologies
- TypeScript (Next.js, React) + Zustand (state management), Next.js App Router (093-fix-audit-chat-active-preserve)
- MongoDB (server-side via API), Zustand store (client-side) (093-fix-audit-chat-active-preserve)
- Python + Slack Bolt, Slack SDK, httpx (SSE streaming), Pydantic (config models), requests, loguru, PyYAML — no new dependencies (100-slack-agui-migration)
- MongoDB (LangGraph checkpointer on dynamic agents side; Slack bot is stateless beyond in-memory TTL caches) (100-slack-agui-migration)
- Service accounts: dynamic Keycloak confidential clients + OpenFGA
service_accounttuples + Mongoservice_accountscollection; BFF (Next.js) orchestrates create/rotate/revoke/scope; caller-keyed tool authz added to the OpenFGA ext_authz bridge (2026-06-05-service-accounts) - Python 3.13 Harness Engine supports provider adapters; the optional Python 3.14 Deep Agents integration reuses the Dynamic Agents runtime. Compatibility-service execution remains the default unless explicitly enabled.
- MongoDB
harness_agents,harness_agent_versions,harness_sessions,harness_runs, andharness_eventspreserve execution versions, native session bindings and cursor replay. Native checkpoints stay in the application database, with a sharedexecution_thread_leasesproducer fence.
Recent Changes
- 2026-08-17-harness-engine: Added an independent AgentCore Harness Engine with detached runs, replayable sessions, and W3C trace propagation
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

