Skip to content

Conversation

@bryanchriswhite
Copy link
Contributor

@bryanchriswhite bryanchriswhite commented Jan 30, 2026

Summary

  • Restore curriculum parts II–IV in the Docusaurus sidebar and align onboarding links.
  • Add question‑asking coaching in terminal basics, chat CLI example, minimal user loop exercise, and reading‑code prompts.
  • Add canonical links to GitHub stubs and commit agent prompts for future doc updates.
  • Add CI workflow to run ASCII lint and vitest on PRs.

##Testing

  • npm ci
  • npm run lint:ascii
  • npm test

##Notes

  • Includes an update to .claude/settings.local.json.

Adds a workflow that runs on PRs touching doc directories, scripts, or
package files. Executes npm run lint:ascii and npm test in a single job
on ubuntu-latest with Node 20.
…idebar

Reduce sidebar clutter by collapsing curriculum part subcategories and
examples by default, while expanding mental models and community sections.
Add root package.json with lint:ascii, format:ascii, and test scripts,
along with the format-ascii tooling, TypeScript config, and vitest setup.
Remove package-lock.json from .gitignore so CI can use npm ci.
@bryanchriswhite
Copy link
Contributor Author

@greptile

@bryanchriswhite bryanchriswhite marked this pull request as ready for review January 30, 2026 11:14
Comment on lines 157 to +160
│ ├── 00-hello-world-console/ # Simplest possible program
│ ├── 01-chat-cli/ # Stage 1: Terminal app
│ ├── 02-chat-static-web/ # Stage 2: HTML/CSS/JS
│ └── 03-chat-cli-typescript/ # Stage 1 with types
│ ├── 11-chat-cli/ # Stage 1: Terminal app
│ ├── 12-chat-static-web/ # Stage 2: HTML/CSS/JS
│ └── 13-chat-cli-typescript/ # Stage 1 with types
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused about this change - it seems like we would be going from 00, 11, 12, 13, which doesn't make sense. What's the rationale here?

@bryanchriswhite bryanchriswhite changed the title Refactor/reorg Docs: restore curriculum nav, add coaching blocks, and ASCII lint CI Jan 30, 2026
@greptile-apps
Copy link

greptile-apps bot commented Jan 30, 2026

Greptile Overview

Greptile Summary

This PR reorganizes the documentation structure and adds automated tooling for ASCII diagram formatting. The changes restore curriculum parts II–IV in the sidebar, add coaching prompts throughout documentation to encourage better question-asking when using AI tools, and establish a CI pipeline for maintaining ASCII diagram consistency.

Key changes:

  • CI Infrastructure: Added GitHub Actions workflow to lint ASCII blocks and run tests on PRs affecting documentation
  • ASCII Tooling: Implemented comprehensive formatter (scripts/format-ascii.ts) that detects and aligns ASCII boxes in markdown fenced blocks, with 12 test cases covering edge cases including nested boxes, multiple border styles, and idempotence
  • Sidebar Reorganization: Restored Parts II–IV (Team Practices, Building Applications, Historical Context), collapsed Part I, and expanded Mental Models and Community sections for better discoverability
  • Documentation Coaching: Added sections in terminal basics, chat CLI example, minimal user loop exercise, and reading-code prompts to guide learners toward specific, grounded questions when using AI assistants
  • Canonical Links: Added references to production documentation URLs in GitHub stub files (ADR, community, prompts) for easier navigation
  • Package Management: Removed package-lock.json from .gitignore to enable npm ci in CI workflow (the commit history shows the author caught and fixed this dependency issue)

The implementation is well-structured with proper TypeScript configuration, comprehensive test coverage, and thoughtful handling of edge cases like nested boxes (left unchanged with warnings rather than mangled).

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • Score reflects well-tested tooling, comprehensive test coverage, documentation improvements, and proper handling of the package-lock.json CI dependency (fixed in commit history). The ASCII formatter handles edge cases gracefully and the CI workflow follows GitHub Actions best practices.
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/lint-ascii.yml added CI workflow for ASCII linting and tests on PRs
scripts/format-ascii.ts implemented comprehensive ASCII box formatter with border detection and alignment logic
scripts/tests/format-ascii.test.ts added thorough test suite covering edge cases including nested boxes, idempotence, and multiple border styles
package.json added scripts for ASCII linting/formatting and test dependencies (glob, tsx, typescript, vitest)
package-lock.json generated lockfile for npm ci in CI workflow (previously gitignored)
website/sidebars.ts restored curriculum parts II-IV, collapsed Part I, and expanded Mental Models and Community sections
website/docs/curriculum/part-1-foundations/terminal-basics.md added coaching section on pausing before running commands with safety checklist
website/docs/prompts/reading-code.md added TUI-specific guidance for terminal-based AI assistants

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub
    participant CI as CI Workflow
    participant Linter as ASCII Linter
    participant Tests as Vitest

    Dev->>GH: Push changes to PR
    GH->>CI: Trigger lint-ascii workflow
    CI->>CI: Checkout code
    CI->>CI: Setup Node.js 20
    CI->>CI: npm ci (install dependencies)
    CI->>Linter: npm run lint:ascii
    Linter->>Linter: Find markdown files
    Linter->>Linter: Detect ASCII boxes in fenced blocks
    Linter->>Linter: Check if boxes are formatted
    alt Formatting issues found
        Linter->>CI: Exit 1 (formatting drift)
        CI->>GH: ❌ Check failed
    else No formatting issues
        Linter->>CI: Exit 0 (all formatted)
        CI->>Tests: npm test
        Tests->>Tests: Run vitest suite
        Tests->>Tests: Test box detection & formatting
        alt Tests fail
            Tests->>CI: Exit 1
            CI->>GH: ❌ Check failed
        else Tests pass
            Tests->>CI: Exit 0
            CI->>GH: ✅ Check passed
        end
    end
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@bryanchriswhite bryanchriswhite merged commit 8bf9de6 into main Jan 30, 2026
3 checks passed
@bryanchriswhite bryanchriswhite deleted the refactor/reorg branch January 30, 2026 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants