The aarshi.toml file

Every aarshi project has an aarshi.toml file at its root. It stores the choices made during setup, so every later command knows how the project is built.

What it looks like

After aarshi setup my-site --languages fr,en --default-language fr --yes, the file contains:

languages = ["fr", "en"]
package_manager = "npm"
ui = "shadcn"
icons = "lucide"
cache_components = false
site_url = "http://localhost:3000"

The keys

KeyValuesWhat it controls
languages A list of codes, e.g. ["fr", "en"] The languages of the site. The first one is the default language: it is served at / and its dictionary is the reference for the types of the others.
package_manager npm, pnpm, yarn, bun The tool used to install the dependencies, and the lockfile aarshi status expects.
ui shadcn, base-ui shadcn (styled, built on Base UI), or Base UI alone.
icons lucide, none The icon library (lucide-react), or none.
cache_components true, false Enables the Cache Components feature of Next.js. Off by default.
site_url A full URL, e.g. https://example.com The public address of the site. It is copied to lib/site.ts.

Rules

Should you edit it by hand?

Changing site_url or cache_components by hand is fine. For languages, prefer aarshi add-lang: the command also creates the dictionary, the config files and the list in aarshi.toml. Adding a code to the list by hand does not create its dictionary.

Keep the file in your project. Commit it with the rest of the code. Every aarshi command reads it, and without it aarshi does not recognise the folder as a project.