Basercms5 development
Skill baserproject/baser-skills/skills/basercms5-development
npx -y skills add baserproject/baser-skills --skill basercms5-developmentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
baserCMS 5系(CakePHP 5.0.5系)+ jQuery プロジェクトの共通ルール(環境・ディレクトリ構成・命名規則・ログ/エラーハンドリング・コアハック禁止・サーバ制約)を定めた基底スキル。「baserCMS 5 で開発」「5系プロジェクトの構成・規約を確認」「htdocs/plugins 配下の配置」「CakeLog でログ出力」「htdocs/vendor/baserproject・cakephp はコアハック禁止」等、5系プロジェクト共通の方針・制約を確認する際に参照する。プラグイン開発・改修の実装パターン(Table/Entity・コントローラ・管理画面フォーム・イベント・Vue/JS 等)は basercms5-plugin-development、テーマ開発・改修(layout/element・ウィジェット・メールフォームテンプレ・アセット)は basercms5-theme-development が正本。baserCMS 4系の開発は basercms4-development、4→5 へのアップグレードは basercms4-to-5-upgrade スキルを参照。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.9 KB, ~2.5k tokens by cl100k_base, as published. Nobody here has run it
baserCMS5系(CakePHP 5.0.5 系)+ jQuery プロジェクトの開発ルール
このプロジェクトでは、以下の技術スタックおよび設計方針に従って開発されています。
5系スキルは3層構造になっており、本スキルは**共通ベース(環境・ディレクトリ構成・命名・ログ・コアハック禁止・サーバ制約)**を扱う。実装パターンは分野別スキルが正本: プラグイン開発・改修 → basercms5-plugin-development、テーマ開発・改修 → basercms5-theme-development、4→5 移行作業 → basercms4-to-5-upgrade(配下の分野別移行スキル含む)。
推奨: 5系の開発に着手する前に一度
basercms5-claude-workflow-setup(環境セットアップ)を参照し、進め方の環境(設計=superpowers brainstorming/権限整理=permissions-audit/その上での Auto mode/spec・plan の Markdown プレビュー)を整える。提案ベースで、整っていればスキップ。
使用技術
- baserCMS 5系 を使用(内部的には CakePHP 5.0.5 ベース)
- バックエンド:PHP 8.1.5 〜 8.2 / CakePHP 5.0.5
- データベース:MySQL 5.7 〜 8.0
- フロントエンド:jQuery 1.x〜3.x(プロジェクト内で複数バージョンが混在している可能性あり)
- HTTPサーバ:Apache(mod_rewrite 有効)
ディレクトリ構成のルール
- MVC構成は CakePHP 5.0.5 に準拠しつつ、baserCMSでは主にプラグイン単位で構築されている
htdocs/plugins/{Plugin名}/Controller/,Model/,View/にそれぞれ配置される
- 共通パーツ(ヘッダー、フッターなど)は、テーマ内の
Elements/ディレクトリに配置- 主に:
htdocs/{テーマ名}/templates/element/
- 主に:
- レイアウトもテーマ内に配置される
- 主に:
htdocs/{テーマ名}/templates/layout/ $this->layoutにより切り替えが可能
- 主に:
- 管理画面系は
/admin/プレフィックスのURLルーティングで制御- 使用ファイル:
htdocs/config/.env - 定義内容:
export ADMIN_PREFIX="admin"
- 使用ファイル:
コーディング方針(baserCMS5固有)
共通ルールのコーディング方針も参照してください。
- クラスベースよりも関数ベース・手続き的なコードが多く採用されている
- JavaScript は Viewファイル内の
<script>タグ内または.jsファイルに記述 - Ajax通信は jQuery(
$.ajax())を用いて行う - ES6構文(Promise, fetch, import/export)は使用しない
- フロント実装に React や Vue などの SPA 技術は導入していない
- 一部、部分的に利用している箇所がある
命名規則(baserCMS5固有)
共通ルールの命名規則も参照してください。
※ baserCMSやCakePHPの命名慣習(Controller, Helper, Modelなど)はそのまま準拠する
ログ・エラーハンドリング方針(baserCMS5固有)
共通ルールのログ・エラーハンドリング方針も参照してください。
目的: /log エイリアスや、例外処理実装時の提案精度向上
baserCMS5固有の実装方法
- PHPでは
CakeLog::error()またはerror_log()を利用 - JavaScriptでは
console.error()を暫定対応とし、本実装時はサーバ送信も検討
実装例(baserCMS用で設定ファイルに記述):
/**
* 専用ログ
*/
if (!defined('PROJECT_PLUGIN_ACTION')) {
define('PROJECT_PLUGIN_ACTION', 'project_plugin_action');
CakeLog::config('project_plugin_action', [
'engine' => 'FileLog',
'types' => ['project_plugin_action'],
'file' => 'project_plugin_action',
'size' => '5MB',
'rotate' => 5,
]);
}
// ログを取りたい箇所に記述する
$this->log('Start', PROJECT_PLUGIN_ACTION);
$this->log(print_r($array, true), PROJECT_PLUGIN_ACTION);
使用ライブラリとヘルパー
BcBaserHelper,BcFormHelper,BcHtmlHelperなど baserCMS 固有ヘルパーを活用- HTML の出力は
$this->BcBaser->css(),$this->BcBaser->img()などを使用し、手書きは控えめにする
実装パターンの正本は分野別スキルへ
具体的な実装パターン(要点・落とし穴を含む)は、分野別の正本スキルに集約している。
- プラグイン開発(Table/Entity・コントローラ・管理画面フォーム・イベント・Vue/JS 等)→
basercms5-plugin-development - テーマ開発(layout/element・ウィジェット・メールフォームテンプレ・アセット)→
basercms5-theme-development
4→5 移行作業そのものは basercms4-to-5-upgrade / basercms-plugin-4-to-5-upgrade / basercms-theme-4-to-5-upgrade を参照。
ファイル・ディレクトリに関する扱いルール
目的: AIがコードを解析・提案する際に、以下の3つの分類に基づいて適切に扱うことで、不要な提案や誤った変更を防ぎます。
- 読み取り専用:フレームワークのコアファイルなど、参照はするが変更は禁止
- 設定調査用:設定値を確認するために参照するが、変更は禁止
以下の分類に基づいて、ファイル・ディレクトリの扱いを明確に区別してください。
読み取り専用(AI/人間が参照するが改変しないこと)
htdocs/vendor/baserproject/(baserCMS のコア)htdocs/vendor/cakephp/(CakePHP 本体)
設定調査用(内容の把握目的。値の取得などには使うが変更禁止)
htdocs/config/install.php(接続設定の確認)htdocs/config/.env.php(ルーティング・デバッグ設定などの調査)htdocs/bin/cake(CLI の仕様確認)htdocs/webroot/index.php,.htaccess(起動ファイル・Rewrite設定)
サーバ構成・制約(baserCMS5固有)
共通ルールのサーバ構成・制約も参照してください。
- baserCMS はドキュメントルート配下に配置(
index.phpがルート)
制約・注意点
- baserCMS の標準構成に準拠したカスタマイズが基本(コアハック禁止)
- Laravel や CakePHP 5系など、他フレームワークへの置き換え提案は不要
- モダン JS フレームワーク(Vue, React など)に関する提案も不要
- 検討や提案を行う場合は、既存構成との互換性と影響を最優先に考慮すること
- PHP 8.1.5の制約を考慮した実装を心がける
- jQuery 1.x〜3.xの互換性を保つ
- MySQL 5.7〜8.0の両方で動作するSQL文を使用
- CakePHP4系準拠。Table / Entity の責務分離を意識。
- バリデーションは Table クラスに定義。
- データベース変更は Migration (phinx) を利用。