Project Requirements

Last updated 2026 October 10

Squarkdown is built for any project that has a Svelte/Kit↗ site using MDsveX↗.

It takes Markdown content scattered across your repo, and preprocesses it to be consumed by SvelteKit via MDsveX. For instance, it could be a CLI tool for which you’d like to have docs online as well as in the repo.1

Those are the 2 prerequisites: SvelteKit and MDsveX.2 How you use the Markdown beyond that is completely up to you!


Project Structure

Squarkdown expects a project structure like this:

/project/
   squarkup.toml
   ...
   site/
      vite.config.ts
      src/
         routes/
      	   ...

squarkup.toml contains your squarkup configuration. site/ is a SvelteKit project.

Alternatively, you can place your squarkup config under a .squarkdown/ folder:

  /project/
+    .squarkdown/
+       squarkup.toml
     ...
     site/
        src/
           vite.config.ts
        	...
           routes/
        	   ...

Squarkdown doesn’t care where your .md files are located – it will recursively scan for them (configurable via paths.sources, paths.include, paths.exclude).

You will, however, need to add <!-- #SQUARK live! --> (a charm squark) to .md files you want Squarkdown to process.



  1. Sound familiar? That’s what Squarkdown is, which is why it uses itself!↩
  2. Yeah, Squarkdown is quite a niche and stack-specific tool, lmao. Make sure you know what you’re using it for!↩