mirror of
https://github.com/tbamud/tbamud.git
synced 2026-03-29 08:27:18 +02:00
220 lines
4.8 KiB
Markdown
220 lines
4.8 KiB
Markdown
# AGENTS.md
|
|
|
|
## Purpose
|
|
|
|
This file defines the rules, expectations, and constraints for **automated agents**
|
|
(including AI coding assistants, LLMs, bots, and scripted tools) contributing to this
|
|
codebase.
|
|
|
|
The goal is to:
|
|
- Preserve long-term maintainability
|
|
- Avoid licensing and provenance risk
|
|
- Prevent architectural drift
|
|
- Ensure consistency with established design decisions
|
|
- Make human review straightforward and reliable
|
|
|
|
All automated agents MUST comply with the requirements in this document.
|
|
|
|
---
|
|
|
|
## Scope
|
|
|
|
This repository is a **C-based MUD engine** derived from CircleMUD/tbaMUD and is
|
|
under active development, including significant refactors to core systems such as:
|
|
|
|
- Skills and proficiency
|
|
- Combat resolution
|
|
- Object and mobile data models
|
|
- Online Creation (OLC)
|
|
- Persistence and serialization
|
|
- Builder and immortal tooling
|
|
|
|
Changes often have **far-reaching consequences** across gameplay, balance, and
|
|
world data integrity.
|
|
|
|
---
|
|
|
|
## General Rules for Automated Agents
|
|
|
|
### 1. No Unreviewed Structural Changes
|
|
|
|
Automated agents MUST NOT:
|
|
- Reorganize directories
|
|
- Rename files
|
|
- Merge or split source files
|
|
- Introduce new subsystems
|
|
- Replace existing systems wholesale
|
|
|
|
Unless **explicitly instructed** to do so.
|
|
|
|
Incremental, targeted changes are required.
|
|
|
|
---
|
|
|
|
### 2. Preserve Existing Behavior Unless Directed
|
|
|
|
If a function, macro, or subsystem already exists:
|
|
- Do NOT change semantics
|
|
- Do NOT “simplify” logic
|
|
- Do NOT remove edge-case handling
|
|
- Do NOT refactor stylistically
|
|
|
|
Unless the user **explicitly requests** that behavior be changed.
|
|
|
|
Backward compatibility is a priority.
|
|
|
|
---
|
|
|
|
### 3. Minimal Diffs Are Mandatory
|
|
|
|
Automated agents must:
|
|
- Change only what is necessary
|
|
- Avoid drive-by formatting edits
|
|
- Avoid re-indentation unless required
|
|
- Avoid renaming variables unless necessary for correctness
|
|
|
|
If a fix can be achieved with a 3-line change, a 30-line rewrite is unacceptable.
|
|
|
|
---
|
|
|
|
### 4. Follow Existing Code Style Exactly
|
|
|
|
This codebase intentionally reflects legacy CircleMUD conventions.
|
|
|
|
Agents MUST:
|
|
- Match indentation style
|
|
- Match brace placement
|
|
- Match naming conventions
|
|
- Match macro usage patterns
|
|
|
|
Do not introduce modern C idioms, new abstractions, or stylistic preferences.
|
|
|
|
---
|
|
|
|
## Licensing and Provenance Requirements
|
|
|
|
### 5. No Third-Party Code Injection
|
|
|
|
Automated agents MUST NOT:
|
|
- Paste code from external projects
|
|
- Introduce snippets from blogs, gists, StackOverflow, or forums
|
|
- Reproduce code from GPL-incompatible sources
|
|
|
|
All code must be **original**, **derivative of existing repository code**, or
|
|
**explicitly authorized** by the user.
|
|
|
|
If uncertain, ask before proceeding.
|
|
|
|
---
|
|
|
|
### 6. Do Not Assume License Changes
|
|
|
|
Do NOT:
|
|
- Modify license headers
|
|
- Remove attribution
|
|
- Add new license files
|
|
- Assume relicensing is permitted
|
|
|
|
Licensing is handled deliberately and conservatively.
|
|
|
|
---
|
|
|
|
## Technical Expectations
|
|
|
|
### 7. Full-Context Awareness Required
|
|
|
|
Before modifying a subsystem, automated agents MUST:
|
|
- Read all related `.c` and `.h` files
|
|
- Identify existing macros, helpers, and patterns
|
|
- Understand how data flows through the system
|
|
|
|
Guessing or partial understanding is not acceptable.
|
|
|
|
---
|
|
|
|
### 8. Prefer Existing Helpers and Macros
|
|
|
|
If functionality already exists:
|
|
- Reuse it
|
|
- Extend it minimally if needed
|
|
- Do not reimplement logic elsewhere
|
|
|
|
Duplication increases maintenance cost and risk.
|
|
|
|
---
|
|
|
|
### 9. Explicitly Note Assumptions
|
|
|
|
When producing code or recommendations, agents MUST:
|
|
- State assumptions clearly
|
|
- Identify uncertainties
|
|
- Call out areas that require human confirmation
|
|
|
|
Silent assumptions are dangerous.
|
|
|
|
---
|
|
|
|
## Data Integrity and World Safety
|
|
|
|
### 10. Protect World Files and Player Data
|
|
|
|
Automated agents must treat:
|
|
- World files
|
|
- Player files
|
|
- OLC data
|
|
- Serialized objects/mobs/rooms
|
|
|
|
As **production data**.
|
|
|
|
Do NOT:
|
|
- Change file formats casually
|
|
- Break backward compatibility
|
|
- Introduce implicit migrations
|
|
|
|
Any data format change must be explicit and documented.
|
|
|
|
---
|
|
|
|
## Communication Expectations
|
|
|
|
### 11. Be Direct and Precise
|
|
|
|
Agent output should:
|
|
- Use technical language appropriate to experienced developers
|
|
- Avoid verbosity for its own sake
|
|
- Avoid motivational or conversational filler
|
|
- Focus on correctness and clarity
|
|
|
|
---
|
|
|
|
### 12. Ask Before Acting When Uncertain
|
|
|
|
If instructions are ambiguous or risky:
|
|
- STOP
|
|
- Ask clarifying questions
|
|
- Do not guess intent
|
|
|
|
Incorrect confidence is worse than delay.
|
|
|
|
---
|
|
|
|
## Enforcement
|
|
|
|
Failure to comply with this document may result in:
|
|
- Rejection of changes
|
|
- Reversion of commits
|
|
- Loss of permission to contribute
|
|
|
|
This applies equally to humans and automated agents.
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
This codebase prioritizes:
|
|
- Stability over novelty
|
|
- Clarity over cleverness
|
|
- Intentional design over convenience
|
|
|
|
Automated agents are welcome collaborators **only** when they operate within
|
|
these constraints.
|