Files
tatlock-ui/AGENTS.md
T
jpmschweitzerandClaude Opus 4.5 a535a99541 docs: add testing requirements to AGENTS.md
- Add Testing Requirements section with explicit test-before-commit rule
- Fix project type reference (FastAPI -> Flutter)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 15:30:13 +01:00

2.7 KiB

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 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

  • NEVER commit to main or master directly. Always create a feature branch: feature/your-feature-name or fix/issue-description.
  • Commit Messages: Use the Conventional Commits 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.

🧪 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.