Skip to content

Project Maintenance Guide

This page is a maintenance reference for this private documentation repository.

The goal is to keep future updates consistent as the learning series grows beyond Day58.

Local Preview

pip install -r requirements.txt
mkdocs serve

Open:

http://127.0.0.1:8000/

Build Check

Before committing documentation changes:

mkdocs build --strict

Documentation Structure

docs/
  topics/          Topic-oriented handbook pages
  api-reference/   API lookup pages
  notes/           Existing technical notes
  labs/            Day-based labs and experiments
  logs/            Daily learning logs
  meta/            Maintenance, refactor, and project documentation

Naming Rules

Labs

Use Day-based naming:

Day XX - Topic Name

File names should use kebab-case:

day58-posix-semaphore-ipc.md

Notes

Use topic-oriented sidebar names. Avoid Day numbers in the sidebar unless the note is strongly tied to a specific daily context.

API Reference

Use API names as titles:

epoll_wait()
fcntl()
devm_gpiod_get()

Update Workflow

  1. Add or update lab content.
  2. Add topic links when the content becomes reusable knowledge.
  3. Add API reference pages for repeatedly used APIs.
  4. Update mkdocs.yml navigation.
  5. Run mkdocs build --strict.
  6. Commit with a docs: prefix.

Commit Message Examples

git commit -m "docs: add subsystem topics and API references"
git commit -m "docs: normalize lab naming and title conventions"
git commit -m "docs: expand POSIX, network, and signal API references"

Refactor Phase Strategy

Each phase should have a clear scope:

  • topic refactor
  • API reference expansion
  • naming cleanup
  • UI / UX improvement
  • maintenance documentation

Avoid mixing large content moves with UI changes in the same phase when possible.