Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions public/layouts/404.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{% extends "layouts/base.twig" %}

{% block content %}
<h1>Page Not Found</h1>
<p>The page you're looking for doesn't exist.</p>
{% endblock %}
Binary file added public/layouts/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions public/layouts/assets/pico.min.css

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions public/layouts/assets/prism.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions public/layouts/assets/prism.js

Large diffs are not rendered by default.

63 changes: 63 additions & 0 deletions public/layouts/assets/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
body{
font-size:16px;
}
.docs-layout {
display: grid;
grid-template-columns: 300px 1fr;
gap: 5rem;
max-width: 1200px;
margin: 0 auto;
padding: 1rem;
}

.mod--center{
text-align:center;
margin: auto;
display: block;
}

header{
max-width:1200px;
margin:auto;
}

header nav{
display:flex;
justify-content: right;
}

.docs-content {
max-width: 800px;
}

.docs-sidebar {
position: sticky;
top: 1rem;
height: calc(100vh - 2rem);
overflow-y: auto;
padding-right: 1rem;
}

details[open] > summary, details{
margin-bottom:initial;
}

.nav-group {
border-left: 1px solid var(--pico-accordion-open-summary-color);
margin: 0.5rem 0 0.5rem 0.5rem;
padding-left: 0.5rem;
}

.nav-section > summary {
cursor: pointer;
padding: 0.25rem 0;
list-style: none;
}

.nav-item {
padding: 0.25rem 0;
}

.nav-item--active {
font-weight: bold;
}
134 changes: 134 additions & 0 deletions public/layouts/checklists/_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Documentation Checklist: [PACKAGE_NAME]

Package: `phpnomad/[package]`
Status: Not Started | In Progress | Needs Review | Complete
Last Updated: YYYY-MM-DD

---

## Phase 1: Research

### Package Components
(List all interfaces, traits, classes, and exceptions found in the source code)

**Interfaces:**
- [ ] `InterfaceName` - Brief description

**Traits:**
- [ ] `TraitName` - Brief description

**Classes:**
- [ ] `ClassName` - Brief description

**Exceptions:**
- [ ] `ExceptionName` - Brief description

### Dependencies
- Depends on: (list packages this requires)
- Depended on by: (list packages that require this)

### Existing References
(List existing docs that mention this package - these need cross-reference updates)
- [ ] `path/to/doc.md` - Context of mention

---

## Phase 2: Planned Structure

(Define all files to create before writing any content)

```
docs/packages/[package]/
├── introduction.md
├── [subdirectory]/
│ ├── introduction.md
│ └── [component].md
└── [concept].md
```

### Files to Create
- [ ] `introduction.md` - Package overview
- [ ] (add all planned files here)

---

## Phase 3: Writing Checklist

### Structure
- [ ] Has `introduction.md` as main entry point
- [ ] Has subdirectories for major concepts (if applicable)
- [ ] Each interface/trait/class has dedicated documentation file

### Frontmatter (Required for ALL .md files)
- [ ] Has `id` field
- [ ] Has `slug` field
- [ ] Has `title` field
- [ ] Has `doc_type` (explanation, tutorial, reference, how-to)
- [ ] Has `summary` (1-2 sentence description)
- [ ] Has `llm_summary` (detailed description for AI consumption)
- [ ] Has `questions_answered` list
- [ ] Has `audience` list
- [ ] Has `tags` and `llm_tags`
- [ ] Has `keywords`
- [ ] Has `related` links
- [ ] Has `see_also` links

### Content - Introduction File
- [ ] Explains what the package does
- [ ] Explains why it exists / what problem it solves
- [ ] Has "Key ideas at a glance" summary
- [ ] Has installation instructions
- [ ] Has visual diagram (ASCII) showing data/control flow (if applicable)
- [ ] Lists core components with brief descriptions and links to detail pages
- [ ] Has "When to use this package" section
- [ ] Has "Relationship to other packages" section
- [ ] Has "Next steps" with links to deeper docs

### Content - Component Files
- [ ] Each interface has its own documentation file
- [ ] Each trait has its own documentation file
- [ ] Each significant class has its own documentation file
- [ ] Method signatures with parameter descriptions
- [ ] Return types explained
- [ ] Exceptions documented
- [ ] Usage examples per component

### Content - Conceptual
- [ ] Explains the patterns/architecture used
- [ ] Explains the lifecycle of operations (if applicable)
- [ ] Has "Why use this" section with benefits
- [ ] Has "Best practices" section
- [ ] Has "When NOT to use" guidance (if applicable)

### Content - Examples
- [ ] Has basic usage example
- [ ] Has real-world/practical example
- [ ] Has integration example with other packages
- [ ] Code examples are complete and runnable
- [ ] Examples show common patterns

---

## Phase 4: Review

### Cross-References
- [ ] Links to packages this depends on
- [ ] Links to packages that depend on this
- [ ] Links to related concepts in core-concepts/
- [ ] Internal links between doc files work
- [ ] **Updated existing docs with links back to this package**

### Quality
- [ ] No placeholder text
- [ ] Consistent formatting with other package docs
- [ ] Spell-checked
- [ ] Code examples tested/verified

### Final Approval
- [ ] **Approved by human** - Documentation reviewed and approved by a human

---

## Notes

(Add any package-specific notes, questions, or issues here)
151 changes: 151 additions & 0 deletions public/layouts/checklists/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# Documentation Checklist: Config

Package: `phpnomad/config`
Status: Needs Review
Last Updated: 2026-01-25

---

## Phase 1: Research

### Package Components

**Interfaces:**
- [x] `ConfigStrategy` - Main interface for configuration access
- [x] `ConfigFileLoaderStrategy` - Interface for loading configuration from files

**Traits:**
- (none)

**Classes:**
- [x] `ConfigService` - Default implementation of ConfigStrategy

**Exceptions:**
- [x] `ConfigException` - Exception for configuration errors

### Dependencies
- Depends on: Nothing (zero dependencies)
- Depended on by: json-config-integration, wordpress-plugin

### Existing References
- **ISOLATED** - No other documented packages currently reference the config package
- This package needs backlinks added when dependent packages are documented

---

## Phase 2: Planned Structure

```
docs/packages/config/
├── introduction.md # Package overview
├── interfaces/
│ ├── introduction.md # Interfaces overview
│ ├── config-strategy.md # ConfigStrategy interface
│ └── config-file-loader-strategy.md # ConfigFileLoaderStrategy interface
├── services/
│ ├── introduction.md # Services overview
│ └── config-service.md # ConfigService class
└── exceptions/
└── config-exception.md # ConfigException
```

### Files to Create
- [x] `introduction.md` - Package overview (links to component pages)
- [x] `interfaces/introduction.md` - Interfaces overview
- [x] `interfaces/config-strategy.md` - ConfigStrategy interface detail
- [x] `interfaces/config-file-loader-strategy.md` - ConfigFileLoaderStrategy interface detail
- [x] `services/introduction.md` - Services overview
- [x] `services/config-service.md` - ConfigService class detail
- [x] `exceptions/config-exception.md` - ConfigException detail

**Restructured:** 2026-01-25 - Split into 7 files following file-per-interface rule.

---

## Phase 3: Writing Checklist

### Structure
- [x] Has `introduction.md` as main entry point
- [x] Has subdirectories for major concepts (if applicable)
- [x] Each interface/trait/class has dedicated documentation file

### Frontmatter (Required for ALL .md files)
- [x] Has `id` field
- [x] Has `slug` field
- [x] Has `title` field
- [x] Has `doc_type` (explanation, tutorial, reference, how-to)
- [x] Has `summary` (1-2 sentence description)
- [x] Has `llm_summary` (detailed description for AI consumption)
- [x] Has `questions_answered` list
- [x] Has `audience` list
- [x] Has `tags` and `llm_tags`
- [x] Has `keywords`
- [x] Has `related` links
- [x] Has `see_also` links

### Content - Introduction File
- [x] Explains what the package does
- [x] Explains why it exists / what problem it solves
- [x] Has "Key ideas at a glance" summary
- [x] Has installation instructions
- [x] Has visual diagram (ASCII) showing data/control flow (if applicable)
- [x] Lists core components with brief descriptions and links to detail pages
- [x] Has "When to use this package" section
- [x] Has "Relationship to other packages" section
- [x] Has "Next steps" with links to deeper docs

### Content - Component Files
- [x] Each interface has its own documentation file
- [x] Each trait has its own documentation file - N/A, no traits
- [x] Each significant class has its own documentation file
- [x] Method signatures with parameter descriptions
- [x] Return types explained
- [x] Exceptions documented

### Content - Conceptual
- [x] Explains the patterns/architecture used
- [x] Explains the lifecycle of operations (if applicable)
- [x] Has "Why use this" section with benefits
- [x] Has "Best practices" section
- [x] Has "When NOT to use" guidance (if applicable)

### Content - Examples
- [x] Has basic usage example
- [x] Has real-world/practical example
- [x] Has integration example with other packages
- [x] Code examples are complete and runnable
- [x] Examples show common patterns

---

## Phase 4: Review

### Cross-References
- [x] Links to packages this depends on - N/A, no dependencies
- [x] Links to packages that depend on this
- [x] Links to related concepts in core-concepts/
- [x] Internal links between doc files work - Single file currently
- [ ] **Updated existing docs with links back to this package** - No docs reference config yet

### Quality
- [x] No placeholder text
- [x] Consistent formatting with other package docs
- [x] Spell-checked
- [ ] Code examples tested/verified

### Final Approval
- [ ] **Approved by human** - Documentation reviewed and approved by a human

---

## Notes

- Package has 2 interfaces, 1 service class, 1 exception - currently all in introduction
- Comprehensive flow diagram showing loader -> service -> strategy workflow
- Includes multi-environment application example
- Testing section demonstrates mocking configuration
- Dependent packages: json-config-integration, wordpress-plugin
- **RESTRUCTURED**: Split into 7 files on 2026-01-25
- **ISOLATED**: No backlinks exist because no documented packages use config yet
- Remaining items:
1. Verify code examples work (manual testing)
Loading