From da9da3ef2cb7714480a24cdd1030e9d7f257e1c6 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sat, 6 Jun 2026 09:30:48 -0500 Subject: [PATCH] chore: move CLAUDE.md to .mokogitea/ directory Relocate CLAUDE.md from repo root to .mokogitea/ per project convention. Content updated with focused, repo-specific architecture and rules. Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md => .mokogitea/CLAUDE.md | 49 ++++++++++++------------------- 1 file changed, 19 insertions(+), 30 deletions(-) rename CLAUDE.md => .mokogitea/CLAUDE.md (53%) diff --git a/CLAUDE.md b/.mokogitea/CLAUDE.md similarity index 53% rename from CLAUDE.md rename to .mokogitea/CLAUDE.md index 7049fa1..7fcb82c 100644 --- a/CLAUDE.md +++ b/.mokogitea/CLAUDE.md @@ -1,45 +1,37 @@ -# CLAUDE.md +# MokoJoomBackup -This file provides guidance to Claude Code when working with this repository. +Full-site backup and restore for Joomla — database, files, and configuration. Replaces Akeeba Backup Pro. -## Project Overview - -**MokoJoomBackup** -- Full-site backup and restore for Joomla — database, files, and configuration +## Quick Reference | Field | Value | |---|---| -| **Platform** | joomla | -| **Language** | PHP | -| **Default branch** | main | -| **License** | GPL-3.0-or-later | +| **Package** | `pkg_mokobackup` | +| **Language** | PHP 8.1+ | +| **Branch** | develop on `dev`, merge to `main` (protected) | | **Wiki** | [MokoJoomBackup Wiki](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomBackup/wiki) | -| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) | -## Common Commands +## Commands ```bash -make build # Build the project +make build # Build package ZIP make lint # Run linters make validate # Validate structure make release # Full release pipeline -make minify # Minify CSS/JS assets make clean # Clean build artifacts -``` - -```bash composer install # Install PHP dependencies ``` ## Architecture -This is a Joomla **package** extension (`pkg_mokobackup`) containing three sub-extensions: +Joomla **package** with four sub-extensions: ### com_mokobackup (Component) -- Admin backend for managing backup profiles and backup records +- Admin backend for managing backup profiles and records - Backup engine: `Engine/BackupEngine`, `Engine/DatabaseDumper`, `Engine/FileScanner`, `Engine/Archiver` - Joomla 4/5 MVC: Controllers, Models, Views, Tables - Namespace: `Joomla\Component\MokoBackup\Administrator` -- Database tables: `#__mokobackup_profiles`, `#__mokobackup_records` +- DB tables: `#__mokobackup_profiles`, `#__mokobackup_records` - CLI: `cli/mokobackup.php` for cron-based backups ### plg_system_mokobackup (System Plugin) @@ -49,36 +41,33 @@ This is a Joomla **package** extension (`pkg_mokobackup`) containing three sub-e ### plg_task_mokobackup (Task Plugin) - Integrates with Joomla's Scheduled Tasks (com_scheduler) - Registers "Run Backup Profile" task type -- Each scheduled task selects a backup profile — create multiple tasks for different schedules - Namespace: `Joomla\Plugin\Task\MokoBackup` ### plg_webservices_mokobackup (WebServices Plugin) -- REST API for remote backup management -- Wire-compatible with existing mcp_mokobackup MCP server +- REST API for remote backup management (wire-compatible with mcp_mokobackup) - Endpoints: backup, backups, profiles, download, delete - Namespace: `Joomla\Plugin\WebServices\MokoBackup` ### Database Schema -Two tables: - `#__mokobackup_profiles` — backup profiles (name, description, config JSON, filters JSON) - `#__mokobackup_records` — backup records (profile_id, status, origin, archive path, sizes, timestamps) ## Rules -- **Never commit** `.claude/`, `.mcp.json`, `TODO.md`, or `*.min.css`/`*.min.js` -- **Attribution**: use `Authored-by: Moko Consulting` in commits -- **Branch strategy**: develop on `dev`, merge to `main` for release +- **Never commit** `.claude/`, `.mcp.json`, `TODO.md`, `*.min.css`/`*.min.js` +- **Attribution**: `Authored-by: Moko Consulting` +- **Workflow directory**: `.mokogitea/` (not `.gitea/` or `.github/`) - **Minification**: handled at build time (CI) -- **Wiki**: documentation lives in the Gitea wiki, not in `docs/` files -- **Standards**: this repo follows [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) +- **Wiki**: documentation lives in the Gitea wiki, not `docs/` files +- **Standards**: [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) ## Coding Standards - PHP 8.1+ minimum -- Joomla 4/5 DI container pattern: `services/provider.php` > Extension class +- Joomla 4/5 DI container pattern: `services/provider.php` → Extension class - Legacy stub `.php` file required for plugin loader but empty - `SubscriberInterface` for event subscription (not `on*` method naming) -- `bind() > check() > store()` for Table operations (not `save()`) +- `bind() → check() → store()` for Table operations (not `save()`) - Language file placement: site (no `folder`) vs admin (`folder="administrator"`) - SPDX license headers on all PHP files