|
| 1 | +# Execution Plan: MkDocs Integration for GitHub Pages |
| 2 | + |
| 3 | +This plan outlines the steps to integrate MkDocs into the project for automatic GitHub Pages deployment via CI/CD. |
| 4 | + |
| 5 | +### Objective |
| 6 | +Provide a professional, web-based documentation portal at `https://apiad.github.io/starter` that is automatically synchronized with the codebase via CI/CD. |
| 7 | + |
| 8 | +### Architectural Impact |
| 9 | +- Introduces MkDocs as a static site generator for project documentation. |
| 10 | +- Extends the GitHub Actions CI/CD pipeline to automatically build and deploy the `docs/` folder to GitHub Pages. |
| 11 | +- Enhances local development tooling (`makefile`) to easily build and preview documentation. |
| 12 | + |
| 13 | +### File Operations |
| 14 | +- **`mkdocs.yml`** (Create): Core configuration file for MkDocs. |
| 15 | +- **`.github/workflows/docs.yml`** (Create): GitHub Actions workflow for CI/CD deployment. |
| 16 | +- **`docs/index.md`** (Modify): Add a prominent "Setup" or "Quick Start" section. |
| 17 | +- **`makefile`** (Modify): Add `docs-serve` and `docs-build` commands. |
| 18 | +- **`TASKS.md`** (Update): Add the new task to the appropriate section. |
| 19 | +- **`journal/`** (Update): Add a journal entry to log the completion of this integration. |
| 20 | + |
| 21 | +### Step-by-Step Execution |
| 22 | + |
| 23 | +**Step 1: Create `mkdocs.yml`** |
| 24 | +Create a `mkdocs.yml` file in the repository root with the following configuration: |
| 25 | +- `site_name`: Gemini CLI Opinionated Framework |
| 26 | +- `site_url`: `https://apiad.github.io/starter` |
| 27 | +- `theme`: Material theme with dark mode support and search enabled. |
| 28 | +- `plugins`: Include `search` and `mkdocstrings` (with Python handler). |
| 29 | +- `nav`: Map the navigation to the existing `docs/` structure. |
| 30 | + |
| 31 | +**Step 2: Setup CI/CD Deployment** |
| 32 | +Create `.github/workflows/docs.yml` to automate deployment: |
| 33 | +- Trigger on `push` to the `main` branch. |
| 34 | +- Deploy to the `gh-pages` branch using `mkdocs gh-deploy --force`. |
| 35 | + |
| 36 | +**Step 3: Refine `docs/index.md`** |
| 37 | +- Add a prominent "Quick Start" section right after the philosophy to bring visibility to the primary installation command. |
| 38 | +- Ensure the Markdown is compatible with MkDocs Material. |
| 39 | + |
| 40 | +**Step 4: Update `makefile`** |
| 41 | +Add the following targets: |
| 42 | +- `docs-serve`: For local live-reloading preview. |
| 43 | +- `docs-build`: To generate the static site locally. |
| 44 | + |
| 45 | +**Step 5: Log Progress** |
| 46 | +- Update `TASKS.md`: Add an entry under the Archive for MkDocs integration. |
| 47 | +- Update the latest journal entry in `journal/` to log the changes. |
| 48 | + |
| 49 | +### Testing Strategy |
| 50 | +1. **Local Preview:** Run `make docs-serve` locally. Verify rendering, theme, and navigation. |
| 51 | +2. **Build Verification:** Run `make docs-build` to ensure the site builds without warnings. |
| 52 | +3. **CI/CD Testing:** Push to `main` and verify the GitHub Actions workflow completion. |
| 53 | +4. **Live Site Verification:** Visit `https://apiad.github.io/starter`. |
0 commit comments