Skip to main content

mr note-type create

Create a new note type. --name is required; all other fields are optional. Pass a JSON Schema string to --meta-schema to constrain the metadata shape of Notes of this type, and a JSON object to --section-config to control which sections render on note detail pages. There is a --custom-* flag for every note type template slot -- the detail page header, sidebar and footer, the list card summary, avatar and hover card, the list page header and footer, and MRQL result cards. Each accepts raw HTML or a template string that the server injects into note pages and MRQL result cards; --custom-css is injected as a <style> block on detail and list pages. Run mr note-type create --help for the full list with a one-line description of where each renders.

On success prints a confirmation line with the new ID; pass the global --json flag to emit the full created record for scripting.

Usage

mr note-type create

Examples

Create a minimal note type (name only)

mr note-type create --name "Meeting Minutes"

Create with a JSON Schema constraining metadata

mr note-type create --name "Bug Report" \
--meta-schema '{"type":"object","properties":{"severity":{"type":"string"}}}'

Capture the new ID via jq for follow-up commands

NT=$(mr note-type create --name "Code Review" --json | jq -r .ID)

Flags

FlagTypeDefaultDescription
--namestring``Note type name (required) (required)
--descriptionstring``Note type description
--meta-schemastring``JSON Schema defining the metadata structure for notes of this type
--section-configstring``JSON controlling which sections are visible on note detail pages
--custom-headerstring``Rendered at the top of the note detail page
--custom-detail-footerstring``Rendered at the bottom of the note detail page, below every built-in section
--custom-sidebarstring``Rendered in the note detail page sidebar
--custom-summarystring``Rendered on note cards in list views, below the title
--custom-avatarstring``Replaces the default avatar on note cards
--custom-hover-cardstring``Rendered in the hover card for a note link; falls back to --custom-summary when unset
--custom-list-headerstring``Rendered above note list pages filtered to exactly this note type, against the note type itself
--custom-list-footerstring``Rendered below note list pages filtered to exactly this note type, against the note type itself
--custom-mrql-resultstring``Template for rendering notes of this note type in MRQL results
--custom-cssstring``CSS injected as a <style> block on the note detail page and its list pages

Inherited global flags

FlagTypeDefaultDescription
--jsonboolfalseOutput raw JSON
--no-headerboolfalseOmit table headers
--pageint1Page number for list commands (default page size: 50)
--quietboolfalseOnly output IDs
--serverstringhttp://localhost:8181mahresources server URL (env: MAHRESOURCES_URL)

Output

Created NoteType with ID, Name, Description, MetaSchema, SectionConfig, CustomHeader/DetailFooter/Sidebar/Summary/Avatar/HoverCard/ListHeader/ListFooter/MRQLResult/CSS, ApplyTemplatesToShares, CreatedAt, UpdatedAt

Exit Codes

0 on success; 1 on any error

See Also