Project Structure

When you run docudart create --full, the following directory structure is created:

your-project/
├── docudart/
│   ├── config.dart          # Type-safe configuration
│   ├── labels.dart          # String constants (reusable labels)
│   ├── pubspec.yaml         # Dependencies (path dep to parent)
│   ├── docs/                # Markdown documentation
│   │   ├── index.md
│   │   ├── getting-started.md
│   │   └── 01-guides_expanded/
│   │       └── components.md
│   ├── pages/               # Custom Dart pages
│   │   ├── landing_page.dart
│   │   └── changelog_page.dart
│   ├── components/          # Reusable components
│   │   ├── header.dart
│   │   ├── footer.dart
│   │   ├── sidebar.dart
│   │   └── button.dart
│   ├── assets/              # Static assets
│   │   ├── light/logo/      # Light mode logo
│   │   ├── dark/logo/       # Dark mode logo
│   │   └── favicon/         # Favicon files
│   └── themes/              # Custom themes (optional)
├── pubspec.yaml             # Your project's pubspec
├── CHANGELOG.md             # Auto-detected for changelog page
└── lib/                     # Your project's code

Key directories

docs/

Markdown files with YAML frontmatter. Each .md file becomes a page. Subdirectories become sidebar categories.

pages/

Custom Dart pages using Jaspr components. Files are auto-discovered — add a .dart file and link to it from your header. The filename determines the route: pages/changelog_page.dart maps to /changelog.

components/

Reusable Dart components for your header, footer, sidebar, and any custom UI. These are referenced from config.dart.

assets/

Static files copied to the build output. Place logos in assets/light/ and assets/dark/ for automatic theme-aware switching. Favicons go in assets/favicon/.

themes/

Reserved for custom theme definitions (optional).

Build output

After running docudart build, the output goes to docudart/build/web/:

docudart/build/web/
├── index.html           # Home page
├── docs/                # Documentation pages (clean URLs)
│   ├── index.html
│   └── getting-started/
│       └── index.html
├── changelog/
│   └── index.html
├── styles.css           # Theme styles
├── theme.js             # Theme toggle + sidebar + utilities
├── sitemap.xml          # Generated when siteUrl is set
├── robots.txt           # Generated when siteUrl is set
└── assets/              # Static assets

Generated internals

DocuDart creates a managed Jaspr project at docudart/.dart_tool/docudart/. This is auto-generated on every build — don't edit files there. The .gitignore should exclude both .dart_tool/ and build/.