- Rename features/dashboard → features/front_hall - Update routes: /, /control-room, /parlor, /settings - Update navigation to 4 rooms (removed chat tab - will be omnipresent dock) - Add docs/UI_LAYOUT.md with wireframes and responsive specs - Update ARCHITECTURE.md and PLAN.md to reflect room structure Directory structure now mirrors "Rooms of the Estate" UI navigation: - front_hall/ (dashboard) - control_room/ (infrastructure - containers, stacks, etc.) - parlor/ (home automation) - library/ (future) - study/ (future, hidden) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
54 lines
2.9 KiB
Markdown
54 lines
2.9 KiB
Markdown
# LLM Agent Instructions
|
|
|
|
This document contains instructions and documentation references for AI assistants working with this codebase.
|
|
|
|
> **📖 Important**: Before working on this project, read [PHILOSOPHY.md](PHILOSOPHY.md) to understand the system vision, architectural patterns, and design goals. All development should work towards realizing those patterns.
|
|
# AGENTS.md
|
|
|
|
> **Start every session by reading this file.**
|
|
> This file outlines the operational protocols, coding standards, and architectural decisions for this Flutter project.
|
|
|
|
## 1. Agent Operational Protocols
|
|
|
|
### 🧠 Work Patterns (Plan-Act-Reflect)
|
|
* **Plan:** Before writing code, briefly outline your plan. Identify which files you will touch and what the side effects might be.
|
|
* **Act:** Execute the changes in small, atomic steps.
|
|
* **Reflect:** After coding, verify your work. Did you break existing tests? Did you add new tests?
|
|
|
|
### 🌐 Internal Service Access
|
|
* **git.schweitz.net**: Access via `http://localhost:3002` (direct Gitea) to bypass Authentik SSO
|
|
* Example: `curl http://localhost:3002/jpmschweitzer/library-desk/raw/branch/main/README.md`
|
|
* Public repos are readable without authentication
|
|
* Related repos: , `core-api`, `tatlock`, `library-desk`, `scheduler`, `portainer-core`
|
|
|
|
### 🐳 Deployment & Infrastructure
|
|
* **Full stack documentation**: Available in the `portainer-core` repo
|
|
* Access: `curl http://localhost:3002/jpmschweitzer/portainer-core/raw/branch/main/CONTAINERS.md`
|
|
* Contains: All service ports, URLs, Redis DB allocations, external domains
|
|
* **Tatlock deployment**:
|
|
* LAN: `http://192.168.86.149:8000`
|
|
* External: `tatlock.schweitz.net` (behind Authentik SSO)
|
|
* Redis DBs: 1 (memory), 6 (benchmarks)
|
|
* **Health check**: `curl http://192.168.86.149:8000/health`
|
|
|
|
### 🛡️ Git Discipline
|
|
* **Commit Messages:** Use the [Conventional Commits](https://www.conventionalcommits.org/) format.
|
|
* `feat: add user login endpoint`
|
|
* `fix: resolve database connection timeout`
|
|
* `refactor: split monolith dependency file`
|
|
* **Atomic Commits:** Keep commits small. One logical change = one commit.
|
|
* **Version Tagging:** Every version increment (major.minor.patch, not build count) must have a corresponding git tag.
|
|
* Format: `v{major}.{minor}.{patch}` (e.g., `v0.3.0`)
|
|
* Tag after updating `pubspec.yaml` version and CHANGELOG
|
|
* Push tags with `git push --tags`
|
|
|
|
### 🧪 Testing Requirements
|
|
* **Always add tests for new code before committing.** No exceptions.
|
|
* Tests should cover the happy path and key edge cases.
|
|
* Run `flutter test` before committing to ensure all tests pass.
|
|
* For widgets: use widget tests. For business logic: use unit tests.
|
|
* Code coverage should not decrease with new commits.
|
|
|
|
### 📝 Changelog Maintenance
|
|
* **Update `CHANGELOG.md`** with every user-facing change.
|
|
* Format: `## [Unreleased] - YYYY-MM-DD` followed by `### Added`, `### Changed`, or `### Fixed`. |