diff --git a/.github/instructions/copilot-instructions.md b/.github/instructions/copilot-instructions.md index b0002363..52e15bdf 100644 --- a/.github/instructions/copilot-instructions.md +++ b/.github/instructions/copilot-instructions.md @@ -5,6 +5,12 @@ Every session should improve the codebase, not just add to it. Actively refactor code you encounter, even outside of your immediate task scope. Think about long-term maintainability and consistency. Make a detailed plan before writing code. Always create unit tests for new code coverage. - **MANDATORY**: Read all relevant instructions in `.github/instructions/` for the specific task before starting. +- **ARCHITECTURE AWARENESS**: Always consult `ARCHITECTURE.md` at the repository root before making significant changes to: + - Core components (Backend API, Frontend, Caddy Manager, Security layers) + - System architecture or data flow + - Technology stack or dependencies + - Deployment configuration + - Directory structure or file organization - **DRY**: Consolidate duplicate patterns into reusable functions, types, or components after the second occurrence. - **CLEAN**: Delete dead code immediately. Remove unused imports, variables, functions, types, commented code, and console logs. - **LEVERAGE**: Use battle-tested packages over custom implementations. @@ -101,6 +107,13 @@ Before proposing ANY code change or fix, you must build a mental map of the feat ## Documentation +- **Architecture**: Update `ARCHITECTURE.md` when making changes to: + - System architecture or component interactions + - Technology stack (major version upgrades, library replacements) + - Directory structure or organizational conventions + - Deployment model or infrastructure + - Security architecture or data flow + - Integration points or external dependencies - **Features**: Update `docs/features.md` when adding capabilities. This is a short "marketing" style list. Keep details to their individual docs. - **Links**: Use GitHub Pages URLs (`https://wikid82.github.io/charon/`) for docs and GitHub blob links for repo files. diff --git a/.github/instructions/update-docs-on-code-change.instructions.md b/.github/instructions/update-docs-on-code-change.instructions.md index 639e1a0f..db308a66 100644 --- a/.github/instructions/update-docs-on-code-change.instructions.md +++ b/.github/instructions/update-docs-on-code-change.instructions.md @@ -107,6 +107,15 @@ Automatically check if documentation updates are needed when: - Installation or setup procedures change - Command-line interfaces or scripts are updated - Code examples in documentation become outdated +- **ARCHITECTURE.md must be updated when:** + - System architecture or component interactions change + - New components are added or removed + - Technology stack changes (major version upgrades, library replacements) + - Directory structure or organizational conventions change + - Deployment model or infrastructure changes + - Security architecture or data flow changes + - Integration points or external dependencies change + - Development workflow or testing strategy changes ## Documentation Update Rules @@ -219,6 +228,7 @@ If `apply-doc-file-structure == true`, then apply the following configurable ins Maintain these documentation files and update as needed: - **README.md**: Project overview, quick start, basic usage +- **ARCHITECTURE.md**: System architecture, component design, technology stack, data flow - **CHANGELOG.md**: Version history and user-facing changes - **docs/**: Detailed documentation - `installation.md`: Setup and installation guide diff --git a/.github/skills/docker-rebuild-e2e-scripts/run.sh b/.github/skills/docker-rebuild-e2e-scripts/run.sh index f5738190..5622f145 100755 --- a/.github/skills/docker-rebuild-e2e-scripts/run.sh +++ b/.github/skills/docker-rebuild-e2e-scripts/run.sh @@ -21,8 +21,8 @@ source "${SKILLS_SCRIPTS_DIR}/_environment_helpers.sh" PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)" # Docker compose file for Playwright E2E tests -COMPOSE_FILE=".docker/compose/docker-compose.playwright-ci.yml" -CONTAINER_NAME="charon-playwright" +COMPOSE_FILE=".docker/compose/docker-compose.playwright-local.yml" +CONTAINER_NAME="charon-e2e" IMAGE_NAME="charon:local" HEALTH_TIMEOUT=60 HEALTH_INTERVAL=5