Files
FusionAGI/.cursor/rules/fusionagi-standards.mdc
defiQUG c052b07662
Some checks failed
Tests / test (3.10) (push) Has been cancelled
Tests / test (3.11) (push) Has been cancelled
Tests / test (3.12) (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / docker (push) Has been cancelled
Initial commit: add .gitignore and README
2026-02-09 21:51:42 -08:00

29 lines
1.2 KiB
Plaintext

---
description: Core coding standards and module boundaries for FusionAGI
alwaysApply: true
---
# FusionAGI Coding Standards
## General
- Use type hints for all function signatures and public attributes.
- Use docstrings (Google or NumPy style) for public modules, classes, and functions.
- Prefer Pydantic models for all structured data (tasks, messages, config).
## Module Boundaries
- **core/** — Orchestrator, event bus, state manager only. No LLM or tool logic.
- **agents/** — Agents depend on schemas and core; they receive adapters/tools by injection.
- **adapters/** — LLM provider code only; expose a single abstract interface.
- **schemas/** — Single source of truth for Task, Message, Plan, etc. No business logic.
- **tools/** — Tool definitions and safe runner; governance may wrap invocation.
- **memory/** — Storage interfaces; no agent logic.
- **governance/** — Guardrails, rate limits, access control; called by orchestrator/tools.
## Conventions
- Agents communicate only via structured message envelopes (from schemas).
- Replaceable components: use abstract base classes or protocols; inject implementations.
- Log decisions and state transitions for determinism and replay.