Skip to main content

Config reference

Complete reference of the ReadmeTemplateArgs type. Required fields are enforced by gen and validate; optional fields have sane defaults listed in the config overview.

Required fields​

language​

language: "ts" | "rs"

Source language of the project. Drives the installation snippet and which badges apply (msrv only exists for rs).

title, author, githubUsername, repoName, xHandle​

title: string // displayed under the logo
author: string // contact section
githubUsername: string // used in every GitHub URL
repoName: string // used in every GitHub URL
xHandle: string // X/Twitter handle, contact section

domain, email, domainExt​

domain: string // domain without extension, e.g. "gmail"
email: string // local part, e.g. "me"
domainExt?: string // defaults to "com"

Rendered as email@domain.domainExt in the contact section.

images​

images: {
logo: string // required, path relative to the repo root
screenshot?: string // optional, shown in the about section
}

Both paths are committed files, rendered through raw.githubusercontent.com/<user>/<repo>/HEAD/<path>.

template​

template: {
bugReport: `${string}.yml` | `${string}.yaml` | `${string}.md`
featRequest: `${string}.yml` | `${string}.yaml` | `${string}.md`
}

Filenames relative to .github/ISSUE_TEMPLATE/. The CLI reads the YAML front matter (title, labels, assignees) and builds prefilled new issue links for the header. Missing files fall back to a plain ?template= link.

sections​

sections: {
projectDescription: string // header tagline
about: string // 💡 About the project body
features: string // ✨ Features body
gettingStarted: string // 🎉 Getting started body
installation: string // 📋 Installation body
usage: string // 🔧 Usage body
roadmap: string // 🚀 Roadmap body
acknowledgments: string // 👏 Acknowledgments body
contributing?: string // 💻 optional
[custom: string]: string // any extra key = custom section
}

All values are markdown sources. Empty strings are skipped at render time. See sections & MDX for the rendering order and the MDX override mechanism.

backToTop​

backToTop: boolean

Adds <p align="right">(<a href="#readme-top">back to top</a>)</p> after every section.

Optional fields​

packageRegistry​

packageRegistry?: "jsr" | "npm" | "crates.io"

Enables the version badge and drives the automatic installation snippet:

RegistrySnippet
jsrdeno add <pkgName>
npmpnpm / npm / yarn / deno / bun add
crates.iocargo add <pkgName>

urls​

urls?: {
repo?: string
demo?: string
doc?: string
}

Each value defaults to the derived repository URL (https://github.com/<githubUsername>/<repoName>).

badgeStyle and badges​

badgeStyle?: "for-the-badge" | "social" | "flat" | "flat-square" | "plastic"
badges?: {
disabled?: BuiltinBadgeId[]
custom?: { name: string; image: string; link: string }[]
}

Full treatment in badges & shields.

toc​

toc?: {
title?: string // default "Table of contents"
hide?: boolean // hides the whole table of contents block
}

repobeats​

repobeats?: string

Hash of your repository SVG from repobeats.axiom.co/configs, embedded as an analytics image in the footer.

license, licenseFile, coc​

license?: string // SPDX id, auto-detected when omitted
licenseFile?: string // default: detected file, else "LICENSE.txt"
coc?: string // default: .github/CODE_OF_CONDUCT.md when present

license appears in the license badge link and the footer license section. coc is linked from the contributing section.

linkedinUsername​

linkedinUsername?: string

Adds the LinkedIn badge when set.

vcsName​

vcsName?: "github"

Only github is supported for now — shields and raw asset URLs are GitHub-specific.

status​

status?: "unreleased" | "early" | "stable"

Reserved for future use, not rendered yet.

workspaceMember, root​

workspaceMember?: { pkgName: string; path: string; description: string }
root?: { members: WorkspaceMember[] }

Injected by the CLI — see workspace detection. When rendering programmatically with @readma/core you can set them by hand.

badgeStyle values and their look​

StyleLook
flat-squareSquared, no rounded corners
flatRounded rectangle
plasticGlossy gradient
for-the-badgeLarge, uppercase, extra padding
socialCompact, GitHub social style