gcontext.aidocs

How typed folders work

A "type" (Task, Integration, ...) is not a database concept: it is a convention the dashboard reads off the files themselves.

The contract (the one hard rule)

A folder becomes an instance of a type when a DIRECT child .md file carries YAML frontmatter with a type: field:

---
type: Integration
title: Supabase
---
body...

Without that frontmatter the folder is INVISIBLE on the dashboard: no building on the map, no entry on the Types page, no renderer. If you create a typed folder, the frontmatter is the step that makes it exist. Nothing validates writes, so a miss fails silently.

Where types are defined

/_types.md is the single source of truth: every ## <Name> (folder) heading there IS a type, with the expected files and frontmatter template. Read it before creating instances, and follow its templates exactly (extra frontmatter fields are fine). The connect index also lists the current type names, and tool_list_dir tags each typed folder with folder_type, so you rarely need a read just to identify one.

Creating an instance

  1. Read the type's section in /_types.md.
  2. Create the folder and its main .md WITH the type: frontmatter from the template.
  3. Add whatever other files the template asks for (e.g. module.yaml, progress/).

Adding a new type

New types are user-initiated: never invent one because content looks novel. Anything that fits no active type belongs in a Note (or the closest active type). When the user explicitly asks for a new type, add a ## <Name> (folder) section to /_types.md: one prose line on what it is (that line becomes the type's description on the dashboard), when to use it and when not, then an indented frontmatter + body template. That's it, the dashboard picks it up live.

The built-in catalog: enabling and disabling types

/_types.md contains only the types in active use, and it is the complete list: for the AI, a type that is not in the file does not exist. gcontext ships a catalog of ready-made types (the core three, Task, Integration and Note, on by default; Report, Contact and Workflow available), toggled in the dashboard under Settings. Enabling a type appends its ready-made section to /_types.md; disabling removes the section. Existing folders of a disabled type keep working; disabling stops new ones and removes the definition from the AI's view.

Rendering (optional)

/_components/<type>.jsx renders instances of that type on the dashboard: a React function named Component taking { data } (frontmatter fields + data.body, data.path, data.files), styled with Tailwind classes. Without a component, instance folders show as default file cards.

Staleness and archiving

The dashboard tracks when each folder was last read or written. Folders untouched past the workspace's auto_archive_after: Nd setting (declared in /_types.md, default 30d) are shown as dormant, so finished work fades out without anyone deleting it.

On this page