68 lines
3.0 KiB
PHP
68 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace MintyPHP\Tests\Architecture;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class CodexSkillsContractTest extends TestCase
|
|
{
|
|
use ProjectFileAssertionSupport;
|
|
|
|
public function testCoreGuardrailsSkillAndReferencesExist(): void
|
|
{
|
|
$skill = $this->readProjectFile('tools/codex-skills/core-guardrails/SKILL.md');
|
|
$this->assertStringContainsString('name: core-guardrails', $skill);
|
|
|
|
$this->readProjectFile('tools/codex-skills/core-guardrails/references/boundaries-core.md');
|
|
$this->readProjectFile('tools/codex-skills/core-guardrails/references/boundaries-ui.md');
|
|
$this->readProjectFile('tools/codex-skills/core-guardrails/references/quality-gates.md');
|
|
$this->readProjectFile('tools/codex-skills/core-guardrails/references/source-map.md');
|
|
}
|
|
|
|
public function testStarterkitPlannerSkillAndReferencesExist(): void
|
|
{
|
|
$skill = $this->readProjectFile('tools/codex-skills/starterkit-planner/SKILL.md');
|
|
$this->assertStringContainsString('name: starterkit-planner', $skill);
|
|
|
|
$this->readProjectFile('tools/codex-skills/starterkit-planner/references/plan-template.md');
|
|
$this->readProjectFile('tools/codex-skills/starterkit-planner/references/tradeoff-matrix.md');
|
|
}
|
|
|
|
public function testStarterkitGridStandardsSkillAndReferencesExist(): void
|
|
{
|
|
$skill = $this->readProjectFile('tools/codex-skills/starterkit-grid-standards/SKILL.md');
|
|
$this->assertStringContainsString('name: starterkit-grid-standards', $skill);
|
|
|
|
$this->readProjectFile('tools/codex-skills/starterkit-grid-standards/references/list-checklist.md');
|
|
$this->readProjectFile('tools/codex-skills/starterkit-grid-standards/references/row-interaction-standard.md');
|
|
$this->readProjectFile('tools/codex-skills/starterkit-grid-standards/references/page-size-standard.md');
|
|
}
|
|
|
|
public function testStarterkitPhpStyleCiSkillExists(): void
|
|
{
|
|
$skill = $this->readProjectFile('tools/codex-skills/starterkit-php-style-ci/SKILL.md');
|
|
$this->assertStringContainsString('name: starterkit-php-style-ci', $skill);
|
|
}
|
|
|
|
public function testCodexPromptsDocumentationReferencesBothSkills(): void
|
|
{
|
|
$prompts = $this->readProjectFile('docs/reference-codex-prompts.md');
|
|
$this->assertStringContainsString('core-guardrails', $prompts);
|
|
$this->assertStringContainsString('starterkit-planner', $prompts);
|
|
}
|
|
|
|
public function testDocsIndexReferencesCodexPrompts(): void
|
|
{
|
|
$index = $this->readProjectFile('docs/index.md');
|
|
$this->assertStringContainsString('/docs/reference-codex-prompts.md', $index);
|
|
}
|
|
|
|
public function testCodexSkillsSyncScriptSupportsCheckAndApply(): void
|
|
{
|
|
$script = $this->readProjectFile('bin/codex-skills-sync.sh');
|
|
$this->assertStringContainsString('--check', $script);
|
|
$this->assertStringContainsString('--apply', $script);
|
|
$this->assertStringContainsString('mode="check"', $script);
|
|
}
|
|
}
|