FlintNUU Flint Docs
Guide

Tutorial: Project Planning with Flint

Learn Flint by building a real project management workspace.

What We'll Build

A Flint for managing a software project with:

  • Task tracking
  • Incremental releases
  • Codebase documentation
  • Compiled spec documents

Step 1: Create the Flint

flint init alpha-project --preset default
cd "(Flint) alpha-project"

The preset installs common plugins automatically.

Step 2: Configure Plugins

Edit flint.toml if you want to customize:

[flint]
name = "alpha-project"
type = "flint"

[plugins]
required = [
  "core",
  "living-documents",
  "increments",
  "projects",
  "notepad"
]

[mods]
required = ["git"]

Sync to apply changes:

flint sync

Step 3: Set Up the Init File

Edit Mesh/(System) Flint Init.md:

---
id: (auto-generated)
tags:
  - "#system"
---

# Project Alpha

A workspace for planning and tracking Project Alpha development.

## Purpose

Track development from concept to release. Coordinate tasks,
document decisions, and maintain project history.

## Key Documents

- [(Dashboard) Backlog](/dashboard-backlog) - All planned work
- [(Dashboard) Increments](/dashboard-increments) - Version releases
- [(System) Index](/system-index) - Document index

## Plugins

- **Core** - Base conventions
- **Living Documents** - Track document lifecycle
- **Increments** - Manage versioned releases
- **Projects** - Backlog and task management

Step 4: Create Your Backlog

Create Mesh/(Dashboard) Backlog.md:

---
id: (auto-generated)
tags:
  - "#dashboard"
  - "#ld/living"
---

# Backlog

## Active Tasks

- [ ] [(Task) User Authentication](/task-user-authentication)
- [ ] [(Task) API Design](/task-api-design)
- [ ] [(Task) Database Schema](/task-database-schema)

## Completed

(Tasks move here when done)

## Ideas

- Consider caching layer
- Evaluate GraphQL vs REST

Step 5: Create a Task

Create Mesh/(Task) User Authentication.md:

---
id: (auto-generated)
tags:
  - "#task"
  - "#ld/living"
status: active
priority: high
---

# User Authentication

## Goal

Implement user authentication with email/password and OAuth.

## Requirements

- [ ] Email/password registration
- [ ] Email verification
- [ ] Password reset flow
- [ ] Google OAuth
- [ ] Session management

## Notes

Looking at Clerk vs Auth0 for managed auth.

## Related

- [API Design](/api-design)
- [Database Schema](/database-schema)

Step 6: Create an Increment

Create Mesh/(Increment) 1.0.0 - Foundation.md:

---
id: (auto-generated)
tags:
  - "#increment"
  - "#ld/living"
increment: "1.0.0"
---

# (Increment) 1.0.0 - Foundation

*Core infrastructure and authentication.*

## Scope

- User authentication system
- Database setup
- API foundation

## Tasks

- [x] [(Task) Database Schema](/task-database-schema)
- [ ] [(Task) User Authentication](/task-user-authentication)
- [ ] [(Task) API Design](/task-api-design)

## Log

| Date | Change |
|------|--------|
| 2025-12-18 | Increment created |
flint workspace add codebase --type codebase
flint workspace fulfill codebase /path/to/your/code

The reference file at Workspace/References/rf-codebase.md documents the link:

# Codebase Reference

**Type:** codebase

## Key Paths

- `src/auth/` - Authentication module
- `src/api/` - API routes
- `prisma/schema.prisma` - Database schema

## Running Locally

```bash
npm run dev

## Step 8: Sync Everything

```bash
flint sync

This adds IDs to all your new files and ensures everything is indexed.

Step 9: Create an Export

When ready to share, create Exports/Spec.md (the export manifest):

---
id: (auto-generated)
description: Project specification bundle
---

# Spec Export

Compile these documents into the project specification:

[(System) Flint Init](/system-flint-init)
[(Task) User Authentication](/task-user-authentication)
[(Task) API Design](/task-api-design)
[(Task) Database Schema](/task-database-schema)

Build the export:

flint export build Spec

Output appears in Exports/Spec/.

Workflow Going Forward

Daily

  1. flint sync - Start fresh
  2. Check (Dashboard) Backlog - See priorities
  3. Work on tasks - Update status as you go
  4. flint sync - End of session

Weekly

  1. Review increment progress
  2. Move completed tasks
  3. Update backlog priorities
  4. Commit changes

On Completion

  1. Mark tasks complete
  2. Update increment to done
  3. Create new increment for next version

What You've Learned

  • Flint structure - How modules work together
  • Task tracking - Using tasks with the Projects plugin
  • Increments - Versioned work packages
  • Workspace linking - Connecting to external code
  • Exports - Compiling documents for sharing

Next Steps