Add CLAUDE.md symlink and complete docs/ table of contents #221

Merged
ldraney merged 2 commits from docs/claude-md-symlink-and-toc-audit into main 2026-06-14 13:29:40 +00:00
Owner

Summary

  • Add CLAUDE.md as a symlink to README.md so Claude Code discovers project docs on session start
  • Complete the README documentation table with 6 missing docs

Closes #220

Changes

  • CLAUDE.md -- new symlink pointing to README.md
  • README.md -- added 6 missing entries to the Documentation table: auth-strategy, keycloak-setup, feature-flags, service-requests, local-dev-setup, dora/pipeline-timing

Test Plan

  • readlink CLAUDE.md returns README.md
  • All 18 doc links in the table resolve to existing files
  • Claude Code loads README content via CLAUDE.md on session start

Review Checklist

  • Passed automated review-fix loop
  • No secrets committed
  • No unnecessary file changes
  • Commit messages are descriptive
  • Feature flag needed? No -- docs-only change
  • ldraney/landscaping-assistant #220 -- the Forgejo issue this PR implements
  • landscaping-assistant -- project this work belongs to
## Summary - Add `CLAUDE.md` as a symlink to `README.md` so Claude Code discovers project docs on session start - Complete the README documentation table with 6 missing docs Closes #220 ## Changes - `CLAUDE.md` -- new symlink pointing to `README.md` - `README.md` -- added 6 missing entries to the Documentation table: auth-strategy, keycloak-setup, feature-flags, service-requests, local-dev-setup, dora/pipeline-timing ## Test Plan - [ ] `readlink CLAUDE.md` returns `README.md` - [ ] All 18 doc links in the table resolve to existing files - [ ] Claude Code loads README content via CLAUDE.md on session start ## Review Checklist - [ ] Passed automated review-fix loop - [ ] No secrets committed - [ ] No unnecessary file changes - [ ] Commit messages are descriptive - [ ] Feature flag needed? No -- docs-only change ## Related Notes - `ldraney/landscaping-assistant #220` -- the Forgejo issue this PR implements - `landscaping-assistant` -- project this work belongs to
Add CLAUDE.md symlink and complete docs/ table of contents
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
CI / scan_ruby (pull_request) Waiting to run
CI / scan_js (pull_request) Waiting to run
CI / lint (pull_request) Waiting to run
ci/woodpecker/pr/woodpecker Pipeline failed
759ccc544b
CLAUDE.md symlinks to README.md so Claude Code discovers docs on session
start. Added 6 missing docs to the README table: auth-strategy,
keycloak-setup, feature-flags, service-requests, local-dev-setup,
and dora/pipeline-timing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
Owner

PR #221 Review

DOMAIN REVIEW

Tech stack: Documentation-only change (Markdown + symlink). No application code touched.

Symlink (CLAUDE.md -> README.md):

  • Mode 120000 correctly indicates a symbolic link.
  • Target README.md is a relative path in the same directory -- correct for a repo-root symlink.
  • No trailing newline on the symlink target content -- this is standard git symlink storage.
  • This ensures Claude Code discovers project documentation on session start without duplicating content.

README.md documentation table (6 new rows):

  • All 6 newly linked files verified to exist on disk: auth-strategy.md, keycloak-setup.md, feature-flags.md, service-requests.md, local-dev-setup.md, dora/pipeline-timing.md.
  • All 12 pre-existing entries also verified -- no broken links in the table.
  • New entries are inserted in logical positions rather than appended to the bottom, maintaining thematic grouping (auth docs together, infrastructure docs together, dev docs together). Good organization.
  • Descriptions are concise and informative -- each one accurately reflects the doc's content.

BLOCKERS

None.

This is a docs-only change with no application code, no secrets, no user input handling, and no security implications. No blocker criteria are triggered.

NITS

  1. Potential conflict with PR #218: PR #218 ("Add iOS dev builds doc and CLAUDE.md symlink") is also open and appears to add a CLAUDE.md symlink. If #218 merges first, this PR will conflict on CLAUDE.md. If this PR merges first, #218 will conflict. Coordinate merge order or close one of them.

  2. Table row count claim in test plan: The test plan says "All 18 doc links in the table resolve to existing files." The final table has 18 rows -- verified correct.

SOP COMPLIANCE

  • PR body has: Summary, Changes, Test Plan, Related -- all present and well-structured
  • No secrets committed
  • No unnecessary file changes (2 files, both docs-related, on-scope for #220)
  • Commit messages are descriptive (branch name docs/claude-md-symlink-and-toc-audit is clear)
  • Review checklist included in PR body

PROCESS OBSERVATIONS

  • Low-risk docs-only change. Zero deployment failure risk.
  • The CLAUDE.md symlink is a good operational pattern -- it surfaces project documentation to AI tooling without content duplication and without maintenance drift between two files.
  • The open PR #218 overlap should be resolved before merge to avoid unnecessary conflict resolution work.

VERDICT: APPROVED

## PR #221 Review ### DOMAIN REVIEW **Tech stack:** Documentation-only change (Markdown + symlink). No application code touched. **Symlink (`CLAUDE.md` -> `README.md`):** - Mode `120000` correctly indicates a symbolic link. - Target `README.md` is a relative path in the same directory -- correct for a repo-root symlink. - No trailing newline on the symlink target content -- this is standard git symlink storage. - This ensures Claude Code discovers project documentation on session start without duplicating content. **README.md documentation table (6 new rows):** - All 6 newly linked files verified to exist on disk: `auth-strategy.md`, `keycloak-setup.md`, `feature-flags.md`, `service-requests.md`, `local-dev-setup.md`, `dora/pipeline-timing.md`. - All 12 pre-existing entries also verified -- no broken links in the table. - New entries are inserted in logical positions rather than appended to the bottom, maintaining thematic grouping (auth docs together, infrastructure docs together, dev docs together). Good organization. - Descriptions are concise and informative -- each one accurately reflects the doc's content. ### BLOCKERS None. This is a docs-only change with no application code, no secrets, no user input handling, and no security implications. No blocker criteria are triggered. ### NITS 1. **Potential conflict with PR #218:** PR #218 ("Add iOS dev builds doc and CLAUDE.md symlink") is also open and appears to add a CLAUDE.md symlink. If #218 merges first, this PR will conflict on `CLAUDE.md`. If this PR merges first, #218 will conflict. Coordinate merge order or close one of them. 2. **Table row count claim in test plan:** The test plan says "All 18 doc links in the table resolve to existing files." The final table has 18 rows -- verified correct. ### SOP COMPLIANCE - [x] PR body has: Summary, Changes, Test Plan, Related -- all present and well-structured - [x] No secrets committed - [x] No unnecessary file changes (2 files, both docs-related, on-scope for #220) - [x] Commit messages are descriptive (branch name `docs/claude-md-symlink-and-toc-audit` is clear) - [x] Review checklist included in PR body ### PROCESS OBSERVATIONS - Low-risk docs-only change. Zero deployment failure risk. - The CLAUDE.md symlink is a good operational pattern -- it surfaces project documentation to AI tooling without content duplication and without maintenance drift between two files. - The open PR #218 overlap should be resolved before merge to avoid unnecessary conflict resolution work. ### VERDICT: APPROVED
Merge branch 'main' into docs/claude-md-symlink-and-toc-audit
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
CI / scan_ruby (pull_request) Has been cancelled
CI / scan_js (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
441f52f470
ldraney deleted branch docs/claude-md-symlink-and-toc-audit 2026-06-14 13:29:40 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/landscaping-assistant!221
No description provided.