From 6f902b78c007fe55d09a7578d7945be9a5cd4529 Mon Sep 17 00:00:00 2001 From: Bastien Wirtz Date: Sat, 27 Sep 2025 14:42:31 +0200 Subject: [PATCH] doc: add agent instructions file. --- .gitignore | 6 +++- AGENTS.md | 84 +++++++++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 12 ++++++- 3 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 AGENTS.md diff --git a/.gitignore b/.gitignore index ee51c88..6eb9005 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,8 @@ yarn-error.log* # App configuration config.yml -.drone.yml \ No newline at end of file +.drone.yml + +# Specific Agent file +CLAUDE.md +GEMINI.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..29d7dfb --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,84 @@ +# AGENTS Instructions + +This file provides guidance to AI Agents when working with code in this repository. + +## Development Commands + +```bash +pnpm install # Install dependencies (PNPM enforced via packageManager) +pnpm dev # Start development server on http://localhost:3000 +pnpm mock # Start mock API server for testing service integrations +pnpm build # Build for production +pnpm preview # Preview production build +pnpm lint # Run ESLint with auto-fix +``` + +## Architecture Overview + +Homer is a static Vue.js 3 PWA dashboard that loads configuration from YAML files. The architecture is service-oriented with dynamic component loading. + +### Core Application Structure + +- **Entry Point**: `src/main.js` mounts the Vue app +- **Root Component**: `src/App.vue` handles layout, configuration loading, and routing +- **Configuration System**: YAML-based with runtime merging of defaults (`src/assets/defaults.yml`) and user config (`/assets/config.yml`) +- **Service Components**: 53 specialized integrations in `src/components/services/` that extend a Generic component pattern + +### Service Integration Pattern + +All service components follow this architecture: + +- Extend `Generic.vue` using Vue slots (`