generated from pascalmartineau/wp-skeleton
chore: Initial Claude init
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 1m2s
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 1m2s
This commit is contained in:
56
.claude/CLAUDE.md
Normal file
56
.claude/CLAUDE.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Overview
|
||||
|
||||
This is a WordPress site for Conseil de la culture de l'Abitibi-Témiscamingue with a hybrid architecture combining WordPress backend with a Nuxt.js frontend application. The site uses GraphQL for data communication between WordPress and Nuxt.js.
|
||||
|
||||
## Development Commands
|
||||
|
||||
### WordPress/PHP
|
||||
- **Lint PHP code**: `./vendor/bin/phpcs` (uses WordPress coding standards via phpcs.xml)
|
||||
- **Install PHP dependencies**: `composer install`
|
||||
|
||||
### Nuxt.js Frontend (in wp-content/themes/ccat/)
|
||||
- **Development server**: `pnpm dev:nuxt` (runs on host with --host flag)
|
||||
- **Build**: `pnpm build` (runs typecheck then nuxt build sequentially)
|
||||
- **Type checking**: `pnpm build:typecheck`
|
||||
- **Lint**: `pnpm lint` (ESLint with auto-fix)
|
||||
- **Deploy**: `pnpm deploy` (NuxtHub deployment)
|
||||
- **Preview**: `pnpm preview` (NuxtHub preview)
|
||||
|
||||
## Architecture
|
||||
|
||||
### WordPress Backend
|
||||
- **Location**: Root directory contains standard WordPress installation
|
||||
- **Custom Post Types**: membership, contributor, event, location, project, representation, resource, template (wp-content/themes/ccat/includes/cpt/)
|
||||
- **Custom Taxonomies**: discipline, project-category, resource-category (wp-content/themes/ccat/includes/taxonomies/)
|
||||
- **GraphQL**: Enabled via WP GraphQL plugin with JWT authentication
|
||||
- **ACF Integration**: Advanced Custom Fields Pro with Extended Pro for custom fields
|
||||
|
||||
### Nuxt.js Frontend
|
||||
- **Location**: wp-content/themes/ccat/ (acts as WordPress theme but contains Nuxt app)
|
||||
- **Framework**: Nuxt 4.x with Vue 3, TypeScript
|
||||
- **UI**: Nuxt UI 4.0 alpha with TailwindCSS
|
||||
- **GraphQL**: Connects to WordPress GraphQL endpoint via nuxt-graphql-middleware
|
||||
- **Deployment**: Cloudflare Workers via NuxtHub
|
||||
- **Package Manager**: pnpm with specific built dependencies configuration
|
||||
|
||||
### Key Dependencies
|
||||
- **WordPress Plugins**: WP GraphQL, ACF Pro, iThemes Security Pro, Clean Image Filenames
|
||||
- **Nuxt Modules**: @nuxt/ui, @nuxthub/core, nuxt-auth-utils, nuxt-graphql-middleware, @nuxtjs/sitemap
|
||||
|
||||
## File Structure
|
||||
- `/wp-content/themes/ccat/app/` - Nuxt application files
|
||||
- `/wp-content/themes/ccat/server/` - Server-side GraphQL schema and API routes
|
||||
- `/wp-content/themes/ccat/includes/` - WordPress theme functions (CPT, taxonomies, ACF)
|
||||
- `/wp-content/themes/ccat/acf-json/` - ACF field group definitions
|
||||
- `/wp-content/mu-plugins/` - Must-use plugins (currently only headless-home-url.php)
|
||||
|
||||
## Development Notes
|
||||
- Site is configured as non-indexable (indexable: false in nuxt.config.ts)
|
||||
- GraphQL endpoint: https://wp.cultureat.ca/graphql
|
||||
- Frontend URL: https://cultureat.ca
|
||||
- Uses Cloudflare Workers for hosting the Nuxt frontend
|
||||
- WordPress serves as headless CMS with custom post types for cultural content management
|
||||
Reference in New Issue
Block a user