# avril.conf `avril.conf` is written in "friendly JSON", with an implicit top-level object, `//` comments, and trailing + implicit commas. ``` name: "@app/demo", version: "0.1.0", // optional // dependencies on avril projects deps: [ "jsr:@me/my-library@^1.0.0", // depend via jsr "https://esm.example/my-library/1.0.0/", // depend via https "./lib/my-cool-library", // depend on relative projects // avoid name conflicts via explicit `name`: { from "../other/my-cool-library", name: "other/my-cool-library" }, ], // miscellaneous import map augmentations imports: { helper: './my-helper.ts' } ``` Unknown fields are ignored, including in task and dependency objects, so other tools can store their own configuration alongside avril's. Recognized fields are still validated, and `avril add` preserves unrelated fields. ## packages - package metadata strings: `name`, `version`, `description` - `exports`: controls how importing from this project works - can be a plain string (e.g. `exports: "mod.ts"`) for a single . export - otherwise, can be a map of subpaths to files - `deps`: a list of package dependencies - `imports`: map of bare specifiers to real specifiers (a la `