Initial commit: add .gitignore and README
This commit is contained in:
28
.cursor/rules/fusionagi-standards.mdc
Normal file
28
.cursor/rules/fusionagi-standards.mdc
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user