chore: move CLAUDE.md to .mokogitea/ directory
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
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) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user