• Finding Things

    A quick reference guide for locating content, documentation, tools, and code in the repository.

    Content

    Course Content

    Where: content/courses/

    Each course has its own directory:

    • content/courses/advanced-ui/ — Advanced UI course
    • content/courses/advanced-figma/ — Advanced Figma course

    Within each course:

    • curriculum/ — Main course content (lessons, guides, exercises)
    • index.chalk — Course index/landing page
    • syllabus.chalk — Course syllabus

    Handbook Documentation

    Where: content/handbook/

    • content/handbook/1-ethos/ — Values and principles
    • content/handbook/2-style-guide/ — Writing style guide
    • content/handbook/3-process/ — Production processes
    • content/handbook/4-documentation/ — Tool documentation (this section)

    Workspace Content

    Where: content/workspace/

    • content/workspace/ideas/ — Ideas and proposals
    • content/workspace/proposals/ — Formal proposals
    • content/workspace/nevan/ — Personal workspace content

    Documentation

    Chalk Documentation

    Where: content/handbook/4-documentation/2-chalk/

    Covers Chalk syntax, features, guides, examples, and reference.

    Workbench Documentation

    Where: content/handbook/4-documentation/3-workbench/

    Covers Workbench usage, props, controls, and integration with Blueprint.

    Blueprint Documentation

    Where: content/handbook/4-documentation/4-blueprint/

    Covers Blueprint components, elevation system, and usage patterns.

    Repository Documentation

    Where: content/handbook/4-documentation/1-repo/ (this section)

    Covers repository structure, setup, workflows, and tools.

    Tools and Packages

    Chalk Build System

    Where: packages/chalk/

    • Source code: packages/chalk/src/
    • Tests: packages/chalk/tests/
    • CLI: packages/chalk/cli.js

    Workbench

    Where: packages/workbench/

    • Source: packages/workbench/src/
    • Documentation: packages/workbench/docs/

    Blueprint

    Where: packages/blueprint/

    • Components: packages/blueprint/lib/
    • Helpers: packages/blueprint/helpers/

    Other Tools

    • Dashboard: packages/dashboard/
    • Invoice Downloader: packages/invoice-downloader/
    • Course Exporter: lab/course-exporter/

    Websites

    Main Website

    Where: websites/buttonschool.com/

    Source files for the main Button School website.

    Chalkboard

    Where: websites/chalkboard.buttonschool.com/

    Preview tool website.

    Handbook

    Where: websites/handbook.buttonschool.com/

    Public version of the handbook.

    Common Questions

    “Where do I add a new course?”

    Create a new directory in content/courses/ following the existing structure. See Repository Structure for details.

    “Where do I update the style guide?”

    Edit files in content/handbook/2-style-guide/. The main file is content/handbook/2-style-guide/index.chalk.

    “Where are the Chalk docs?”

    In content/handbook/4-documentation/2-chalk/. You can also preview them with pnpm chalk and navigate to the documentation section.

    “How do I preview my changes?”

    Use Chalkboard: pnpm chalk from the repository root. This starts a local dev server where you can see all content.

    “Where do I find examples of Chalk syntax?”

    See content/handbook/4-documentation/2-chalk/03-examples/ for example files demonstrating different Chalk features.

    “Where are Workbench examples?”

    See packages/workbench/docs/process/ for Workbench demo examples.

    “Where do I add a new tool?”

    If it’s experimental, add it to lab/. If it’s a production tool, add it to packages/. Make sure to add it to pnpm-workspace.yaml if it should be part of the workspace.

    “Where are the build outputs?”

    Most build outputs are in dist/ directories within each package or website. These are typically gitignored.

    “Where do I find configuration files?”

    • Root level: package.json, pnpm-workspace.yaml, setup.sh, Brewfile
    • Package level: Each package has its own package.json
    • Website level: Each website may have its own config (e.g., netlify.toml)

    Search Tips

    Using Your Editor

    Most editors support searching across the repository:

    • VS Code: CommandShiftF (Mac) or CtrlShiftF (Windows/Linux)
    • Search for file names, content, or specific patterns

    Using Command Line

    # Find files by name
    find . -name "*.chalk" -type f
    
    # Search for text in files
    grep -r "search term" content/
    
    # Find files containing specific text
    grep -rl "search term" content/
    

    Using Git

    # Search commit messages
    git log --grep="search term"
    
    # Find when a file was last modified
    git log -1 -- content/path/to/file.chalk
    

    Still Can’t Find It?

    • Check the Repository Structure for an overview
    • Ask team members—they may know where something is
    • Search the codebase using your editor’s search functionality
    • Check if it’s in a gitignored directory (build outputs, node_modules, etc.)