Skip to content

Folder Structure

This guide explains what each folder and file in the Docuna project is for, so you know where to look when you need to make changes.

Created automatically when you install dependencies with npm. It stores the packages and their dependencies that the project requires.

You do not need to edit anything here. The folder appears after you run:

Terminal window
npm install

For static files that should be served as-is. Images, icons, fonts, and other assets placed here are copied to the build output without processing.

Use this folder when you want a file to keep its exact filename and path in the final site.

The main working folder. Almost all development happens here.

For files that need to be processed by Astro — for example, images that should be optimized at build time.

If you do not need Astro’s image optimization, place your files in public/ instead.

Where all documentation articles and static pages live. Every .md or .mdx file here becomes a page on your site.

This is the folder you will edit most often when adding content.

For JSON files that control the site’s content and layout. For example:

  • src/data/config/config.json — navbar menus, footer links, site title
  • src/data/home/home.json — landing page sections

Editing these files updates the site without touching any component code.

For CSS files that define the theme’s appearance. This is where the site-wide styles live.

For Astro components used to build the site’s layout — header, footer, pricing, features, and similar blocks.

If a section of the page needs structural changes, this is where you would edit it.

The main configuration file for the Astro project. It defines the site URL, Starlight integration, sidebar structure, and other project-level settings.

You will edit this file when you need to:

  • Change the site URL
  • Update the site title
  • Add or reorder sidebar groups
  • Register a new folder for auto-generated sidebar items
Path Purpose
node_modules/ Installed packages (auto-generated)
public/ Static files served as-is
src/assets/ Files processed by Astro
src/content/docs/ Documentation articles and static pages
src/data/ JSON files for content and layout
src/styles/ CSS files
src/widget/ Astro layout components
astro.config.mjs Project configuration

With this structure in mind, the next guides cover configuration, content, and deployment in more detail.