# File Structure

## File Structure

Veltro separates route composition, content, configuration, and reusable UI.

<FileTree>

- veltro/
  - public/
    - images/
    - plyr/
    - videos/
    - company-desk.pdf
  - scripts/
    - generate-favicons.mjs
    - generate-multilingual-content.mjs
    - optimize-media.mjs
    - remove-draft-from-sitemap.mjs
    - remove-multilingual.mjs
    - toml-watcher.mjs
  - src/
    - assets/
      - images/
    - config/
      - config.toml
      - fonts.json
      - language.json
      - menu.en.json
      - menu.fr.json
      - social.json
    - content/
      - about/
      - author/
      - awards/
      - blog/
      - careers/
      - case-studies/
      - contact/
      - faq/
      - homepage/
      - industries/
      - pages/
      - portfolio/
      - pricing/
      - sections/
      - services/
      - team/
      - testimonial/
    - i18n/
      - en.json
      - fr.json
    - layouts/
      - components/
        - cards/
        - global/
        - sections/
        - seo/
        - utilities/
        - widgets/
      - helpers/
      - shortcodes/
      - Base.astro
    - lib/
      - utils/
    - pages/
      - [...lang]/
      - 404.astro
      - robot.txt.ts
    - plugins/
    - styles/
    - content.config.ts
    - sections.schema.ts
  - astro.config.mjs
  - netlify.toml
  - vercel.json
  - wrangler.toml
  - package.json

</FileTree>

### Files You Will Edit Most Often
- `src/config/config.toml`: site identity, SEO, content folder names, forms, multilingual settings, smooth scrolling, cursor, header action, contact details, and footer settings
- `src/config/menu.<language>.json`: header, mega menu, footer columns, and legal links
- `src/config/fonts.json`: font families and variants
- `src/styles/theme.css`: Tailwind CSS 4 design tokens, breakpoints, type scale, radii, and colors
- `src/i18n/<language>.json`: shared interface text
- `src/content/sections/<language>/`: reusable section content
- `src/pages/[...lang]/`: routes and section order

### Organization Rule
- `src/pages/...` decides **which sections render and in what order**
- `src/content/...` provides **editable content and frontmatter**
- `src/layouts/components/...` controls **markup, styling, and interaction hooks**

Static files placed in `public/` keep their direct URL. Images imported from `src/assets/images/` are processed by Astro's image pipeline.