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
- Read the type's section in
/_types.md. - Create the folder and its main
.mdWITH thetype:frontmatter from the template. - 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.