FlintNUU Flint Docs
Reference

Configuration Reference

Complete guide to Flint configuration files and options.

Configuration Files Overview

FileLocationPurposeEdit
flint.tomlFlint rootWorkspace configurationYes
flint.jsonFlint rootIdentity and stateNo
.flint/references.json.flint/Machine-specific workspace pathsNo
.flint/connections.json.flint/Machine-specific connection pathsNo
config.toml~/.flint/Global user settingsYes
registry.json~/.flint/Global Flint registryNo

flint.toml

The main configuration file for your Flint workspace. Located at the root of your Flint. This is the source of truth — human-editable, committed to git.

Complete Structure

[flint]
name = "my-project"
type = "flint"
tags = ["active", "dev"]
description = "Main development workspace"

[shards]
projects = { source = "NUU-Cognition/shard-projects" }
increments = { source = "NUU-Cognition/shard-increments" }
notepad = { source = "NUU-Cognition/shard-notepad" }
plan = { source = "NUU-Cognition/shard-plan" }
my-custom = { source = "path:./Shards/(Dev) My Custom", dev = true }

[mods]
claude-code = { source = "NUU-Cognition/flint-mod-claude-code" }

[workspace]
references = [
  { name = "Monorepo", type = "codebase" },
  { name = "design-docs", type = "drive" },
]
repositories = [
  { name = "example-api", url = "https://github.com/user/example-api" },
]

[workspace.sources]
repositories = [
  { name = "design-ref", url = "https://github.com/company/design-system" },
]

[imports]
required = [
  "NUU Flint/Guide",
]

[connections]
flints = [
  { name = "NUU Vessel" },
]

[flint] Section

Core workspace identity.

[flint]
name = "my-project"
type = "flint"
tags = ["active", "dev"]
description = "Main development workspace"
FieldRequiredValuesDescription
nameYesstringDisplay name, typically matches folder name
typeYesflint or subflintWorkspace type
tagsNoarray of stringsTags for registry categorization
descriptionNostringBrief description

The name field is used:

  • As the display name in flint list
  • In import references from other Flints
  • In connection declarations

[shards] Section

Declare shards to install in this workspace. Each shard is a key-value pair where the key is a local identifier and the value specifies the source.

[shards]
projects = { source = "NUU-Cognition/shard-projects" }
increments = { source = "NUU-Cognition/shard-increments" }
notepad = { source = "NUU-Cognition/shard-notepad" }
plan = { source = "NUU-Cognition/shard-plan" }
orbcode = { source = "NUU-Cognition/shard-orbcode" }
my-custom = { source = "path:./Shards/(Dev) My Custom", dev = true }

Source formats:

  • "owner/repo" — GitHub repository (e.g., "NUU-Cognition/shard-projects")
  • "github:owner/repo" — Explicit GitHub prefix
  • "path:./local/path" — Local filesystem path

Optional fields:

  • dev = true — Marks as a dev shard (skipped by sync and update)

Available shards:

  • shard-flint — Base conventions and agent setup
  • shard-projects — Task and backlog management
  • shard-increments — Version stream management
  • shard-notepad — Quick capture and brainstorming
  • shard-plan — High-level planning
  • shard-orbcode — Semantic code mapping
  • shard-reports — Research and analysis
  • shard-learning-reports — Educational content
  • shard-flintknapping — Iterative refinement workflows
  • shard-comments — Inline document comments

[mods] Section

Declare mods (environment modifications) to install.

[mods]
claude-code = { source = "NUU-Cognition/flint-mod-claude-code" }
my-mod = { source = "path:./Mods/(Dev) My Mod", dev = true }

Source formats: Same as shards ("owner/repo", "github:owner/repo", "path:./path").

Optional fields:

  • dev = true — Marks as a dev mod

Available mods:

  • flint-mod-claude-code — Claude Code integration with CLAUDE.md generation

[workspace] Section

Declare external resource references and repositories.

[workspace]
references = [
  { name = "Monorepo", type = "codebase" },
  { name = "design-docs", type = "drive" },
  { name = "api", type = "api" },
]
repositories = [
  { name = "example-api", url = "https://github.com/user/example-api" },
]

Reference fields:

FieldRequiredDescription
nameYesReference identifier (creates Workspace/References/rf-<kebab-name>.md)
typeYesResource type

Reference types: codebase, drive, api, database, service

Repository fields:

FieldRequiredDescription
nameYesRepository identifier (creates Workspace/Repositories/<name>/)
urlYesGit URL to clone from

Machine-specific paths are stored in .flint/references.json (gitignored), not in flint.toml.

[workspace.sources] Section

Declare source repositories — lightweight reference copies that are shallow-cloned with .git stripped.

[workspace.sources]
repositories = [
  { name = "design-ref", url = "https://github.com/company/design-system" },
]

Source repositories are cloned to Workspace/Sources/Repositories/ and managed with flint workspace addreferencerepo, listreferencerepo, updatereferencerepo, and removereferencerepo.

Repository fields:

FieldRequiredDescription
nameYesRepository identifier (creates Workspace/Sources/Repositories/<name>/)
urlYesGit URL to clone from

[imports] Section

Import exports from other registered Flints.

[imports]
required = [
  "NUU Flint/Guide",
  "NUU Parse/API Docs",
]

Format: "<Flint Name>/<Export Name>"

The source Flint must be registered and have the specified export configured.

[connections] Section

Declare connections to other Flints.

[connections]
flints = [
  { name = "NUU Vessel" },
  { name = "NUU Mesh" },
]

Connection fields:

FieldRequiredDescription
nameYesName of the target Flint (must be registered)

Machine-specific paths are stored in .flint/connections.json (gitignored) and Connections/<Name>/con-*.md files.


flint.json

Identity and state file. Located at the Flint root. Committed to git. Do not edit manually.

Structure

{
  "version": "0.2.0",
  "id": "a8f63611-9af9-4bd5-9c73-84d22fdfb201",
  "type": "flint",
  "created": "2026-01-04T10:30:05.856Z",
  "synced": "2026-03-01T15:30:00.000Z",
  "migrations": {
    "migration-id": "2026-02-01T..."
  }
}
FieldDescription
versionConfig format version
idUUID for this Flint (stable identity)
typeFlint type (flint or subflint)
createdCreation timestamp
syncedLast sync timestamp
migrationsMap of applied migration IDs to timestamps

This file is created during flint init and updated by flint sync. The id provides a stable identifier that persists across renames and moves.


.flint/ Directory

Gitignored runtime state. Contains machine-specific data that doesn't travel with the Flint.

.flint/
  references.json      # Machine-specific workspace paths
  connections.json     # Machine-specific connection paths
  index/
    files.json         # Mesh index (file IDs, tags, paths)

references.json

Tracks fulfilled workspace references:

{
  "version": 1,
  "references": [
    {
      "name": "Monorepo",
      "type": "codebase",
      "path": "/Users/me/dev/main",
      "fulfilled": "2026-01-28T10:30:00.000Z"
    }
  ]
}

connections.json

Tracks fulfilled connections:

{
  "version": 1,
  "connections": [
    {
      "name": "NUU Vessel",
      "path": "/Users/me/dev/nuu/(Flint) NUU Vessel",
      "fulfilled": "2026-01-28T10:30:00.000Z"
    }
  ]
}

Global Configuration

User-wide settings stored at ~/.flint/config.toml.

Structure

mode = "production"

Settings

SettingDefaultDescription
modeproductionFeature mode
open.apps[]Apps to open Flints with (e.g., ["obsidian", "cursor"])

Feature Mode

Controls which features are available:

ModeDescription
productionStable features only (default)
experimentalInclude experimental features
devAll features including development

Manage with the flint mode command (see below).

flint config Command

View and modify global configuration.

# View all config
flint config

# Get a specific value
flint config get mode

# Set a value
flint config set mode production

flint mode Command

Manage feature mode with better UX than direct config editing.

# Show current mode
flint mode

# Set mode
flint mode production
flint mode experimental
flint mode dev

# List all features and availability
flint mode --list

# Reset to default
flint mode --reset

Global Registry

Registry of all Flints on this machine. Located at ~/.flint/registry.json. Managed by CLI commands.

Structure

{
  "version": 1,
  "flints": [
    {
      "name": "NUU Flint",
      "path": "/Users/nathan/dev/nuu/nuu-flints/(Flint) NUU Flint",
      "type": "flint",
      "tags": ["active"],
      "description": "Main Flint development workspace"
    }
  ]
}

Flint Entry Fields

FieldRequiredDescription
nameYesFlint name (from flint.toml)
pathYesAbsolute path to Flint
typeNoWorkspace type (flint or subflint)
tagsNoArray of tags for categorization
descriptionNoBrief description

Managing the Registry

# List registered Flints
flint list

# Register current directory
flint register

# Register specific path
flint register /path/to/flint

# Scan for Flints to register
flint register --scan ~/projects

# Unregister
flint unregister

# Validate and clean
flint registry validate

# Add/remove tags
flint registry tag "My Project" "important"
flint registry untag "My Project" "old-tag"

Configuration Patterns

Minimal Flint

[flint]
name = "notes"
type = "flint"

Software Project

[flint]
name = "my-app"
type = "flint"

[shards]
projects = { source = "NUU-Cognition/shard-projects" }
increments = { source = "NUU-Cognition/shard-increments" }
plan = { source = "NUU-Cognition/shard-plan" }
orbcode = { source = "NUU-Cognition/shard-orbcode" }

[mods]
claude-code = { source = "NUU-Cognition/flint-mod-claude-code" }

[workspace]
references = [
  { name = "repo", type = "codebase" },
]

Research/Notes

[flint]
name = "research"
type = "flint"

[shards]
notepad = { source = "NUU-Cognition/shard-notepad" }
reports = { source = "NUU-Cognition/shard-reports" }

Subflint

[flint]
name = "Blog"
type = "subflint"

[shards]
notepad = { source = "NUU-Cognition/shard-notepad" }

File Locations Summary

FileLocationGit
flint.toml<flint>/Committed
flint.json<flint>/Committed
.flint/references.json<flint>/.flint/Gitignored
.flint/connections.json<flint>/.flint/Gitignored
.flint/index/files.json<flint>/.flint/Gitignored
~/.flint/config.tomlHome directoryN/A
~/.flint/registry.jsonHome directoryN/A