Files
2026-05-21 20:09:06 +00:00

72 lines
2.7 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code when working with this repository.
## Project Overview
**MokoJoomStoreLocator** -- A Joomla 4/5 package providing a store locator listing component with coordinating map and search modules.
| Field | Value |
|---|---|
| **Platform** | joomla |
| **Extension type** | package (component + modules) |
| **Element** | `pkg_mokojoomstorelocator` |
| **Language** | PHP |
| **Default branch** | main |
| **License** | GPL-3.0-or-later |
| **Wiki** | [MokoJoomStoreLocator Wiki](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomStoreLocator/wiki) |
| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) |
## Package Contents
| Extension | Type | Element |
|---|---|---|
| Store Locator Component | component | `com_mokojoomstorelocator` |
| Store Locator Map | module (site) | `mod_mokojoomstorelocator_map` |
| Store Locator Search | module (site) | `mod_mokojoomstorelocator_search` |
## Common Commands
```bash
make build # Build package ZIP containing all sub-extensions
make lint # Run PHP linter
make validate # Lint + validation checks
make release # Validate + build
make clean # Clean build artifacts
```
```bash
composer install # Install PHP dev dependencies
```
## Architecture
This is a Joomla package. Key layout:
- `src/pkg_mokojoomstorelocator.xml` -- package manifest
- `src/script.php` -- package install/upgrade/uninstall script
- `src/packages/com_mokojoomstorelocator/` -- main component
- `admin/` -- admin MVC (controllers, models, views, forms, tables, SQL)
- `site/` -- frontend MVC (controllers, models, views, templates)
- `mokojoomstorelocator.xml` -- component manifest
- `src/packages/mod_mokojoomstorelocator_map/` -- map display module
- `src/packages/mod_mokojoomstorelocator_search/` -- search/filter module
- `updates.xml` -- Joomla update server manifest
## Database Table
`#__mokojoomstorelocator_locations` -- stores location data including coordinates, address, contact info, and business hours.
## Rules
- **Workflow directory**: `.mokogitea/` (not `.gitea/` or `.github/`)
- **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
- **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)
- **PHP minimum**: 8.1
- **Joomla table operations**: always use bind() -> check() -> store(), never save()
- **Namespace**: `Moko\Component\MokoJoomStoreLocator` for the component