Your AI Generates Files. Who Manages Them?

7 min read Original article ↗

There is a quiet shift happening in how developers work with AI coding assistants. Tools like Claude Code, Cursor, Windsurf, and GitHub Copilot are no longer just autocomplete engines. They are agents — they read your codebase, make plans, remember decisions across sessions, and leave behind a growing trail of context files.

If you use Claude Code, you have probably noticed the .claude/ folder appearing in your projects. Inside it: memory files, conversation plans, project notes, session logs. If you use Cursor, there are .cursor/ rules files. Windsurf has .windsurfrules. Aider keeps .aider.conf.yml and chat histories.

These are not temporary artifacts. They are your AI’s working memory — and they are all plain files on disk.

The question nobody is asking yet: who manages these files?

A typical developer using Claude Code on three or four active projects accumulates dozens of context files within weeks:

project-a/.claude/
├── CLAUDE.md                    # project instructions
├── settings.json                # tool permissions, hooks
└── projects/
    └── -Users-me-project-a/
        ├── MEMORY.md            # memory index
        ├── memory/
        │   ├── user_preferences.md
        │   ├── feedback_testing.md
        │   ├── project_auth_rewrite.md
        │   └── reference_linear.md
        └── plans/
            ├── moonlit-wishing-fern.md
            └── crimson-flying-oak.md

Multiply this by every project, every AI tool, every team member. The context files grow. Some become stale. Some contradict each other. Some contain critical decisions that you will need six months from now when you cannot remember why the auth middleware was rewritten.

Most developers do nothing with these files. They sit in .gitignore, invisible, unorganized, unsearchable.

The PKM community noticed this first. Obsidian users — already comfortable with plain Markdown files and folder-based organization — started pointing Obsidian at their .claude/ directories. Suddenly, AI memory files became linked notes. Plans became searchable documents. The graph view showed connections between project memories.

This works because Obsidian’s core assumption — that knowledge lives in plain files, not databases — happens to match exactly how AI coding tools store context.

But Obsidian was designed for writing notes, not for browsing and organizing existing files. When you point it at a .claude/ folder, you get a functional viewer, but you are using a writing tool as a file manager. The graph view is beautiful but noisy. The file explorer is basic. There is no tagging system that works across file types. And if your context includes non-Markdown files — screenshots, PDFs, JSON configs, YAML — Obsidian shows them as attachments, not first-class content.

TagSpaces takes the opposite path. It is not a note-taking app that happens to read files — it is a file organizer that happens to understand Markdown. The distinction matters when your “knowledge base” is not a collection of notes you wrote, but a collection of files that your tools generated.

Here is what browsing a .claude/ folder looks like in TagSpaces:

Every file is a first-class citizen. Markdown memory files, JSON settings, YAML configs, plan files with auto-generated names — they all render with previews, thumbnails, and metadata panels. You do not need to convert anything or set up a vault.

Tagging works across file types. Tag a memory file as stale or critical. Tag a plan as approved or draft. Tags are stored as sidecar JSON files or embedded in filenames — either way, they travel with the file and are readable by any tool.

Search spans everything. Full-text search across all your AI context files, regardless of format. Find every memory that mentions “authentication” across all projects in seconds.

Descriptions add human context. The AI wrote the memory file, but you can add a one-line description: “Decision made during the March 15 incident — do not override without talking to Sarah.” This is metadata that the AI cannot generate but that future-you desperately needs.

Let me be concrete about what this workflow looks like.

Step 1: Point TagSpaces at your Claude Code context.

Add ~/.claude/ as a location in TagSpaces. Every project’s memories, plans, and settings are now browsable in a single interface. Use the folder tree to navigate between projects, or switch to a flat view to see all memory files across all projects at once.

Step 2: Tag what matters.

Most AI-generated context is ephemeral — session plans, temporary notes, intermediate reasoning. But some of it encodes critical decisions. Tag those files:

  • decision — architectural choices, trade-offs, rejected alternatives

  • feedback — corrections you gave the AI that should persist

  • stale — context that is no longer accurate

  • team — memories relevant to other team members

Step 3: Search before you prompt.

Before starting a new Claude Code session on a project you haven’t touched in weeks, open TagSpaces and search your memory files. Remind yourself what the AI knows, what decisions were made, what feedback was given. This is faster than re-reading the MEMORY.md index and more reliable than trusting the AI to surface the right context on its own.

Step 4: Clean up with tscmd.

Use the TagSpaces CLI to automate maintenance:

# Find orphaned context files for deleted projects
tscmd metacleaner ~/.claude/projects/

# Tag all memory files modified in the last week
find ~/.claude -name "*.md" -mtime -7 -exec tscmd tag {} -t recent \;

# Index everything for instant search
tscmd indexer ~/.claude/

Claude Code is just the beginning. The broader trend is that AI tools are becoming file producers. They generate:

  • Context and memory files.claude/, .cursor/, .windsurfrules

  • Generated code — entire files, test suites, migration scripts

  • Documentation — READMEs, changelogs, API docs, architecture decision records

  • Analysis artifacts — summaries, reports, extracted data

  • Media — AI-generated images, diagrams, audio transcripts

All of these are files. All of them benefit from organization, tagging, search, and human annotation. And all of them are invisible to tools that only understand their own format.

A file-based PKM tool — one that treats the file system as the source of truth, not a sync target — is uniquely positioned to be the organizational layer for AI-generated content. Not a replacement for the AI tools themselves, but the place where their output becomes findable, reviewable, and trustworthy.

There is a philosophical alignment here worth noting. The AI coding tools that generate these context files are, by design, local-first. Claude Code runs on your machine. The .claude/ folder is on your disk. Your project memories never leave your laptop unless you explicitly push them.

A PKM tool for this content should respect the same boundary. TagSpaces stores everything locally — tags, descriptions, thumbnails, search indexes — as plain files next to the content they describe. No cloud sync, no account, no telemetry. The metadata is as portable and private as the content itself.

This is not a feature. It is a requirement. AI context files often contain sensitive information — API patterns, architectural decisions, security trade-offs, team dynamics. Sending them to a cloud-based note-taking service defeats the purpose of having them local in the first place.

I have been using this workflow for several weeks now. My setup:

  1. TagSpaces with three locations: ~/.claude/ (AI context), ~/notes/ (my own notes), and ~/projects/ (code)

  2. A handful of tags: decision, feedback, stale, reference, team

  3. Claude Code for actual development work

The loop is: Claude Code generates context → TagSpaces makes it browsable and searchable → I review and tag what matters → next Claude Code session benefits from cleaner, more intentional context.

The surprising result is not efficiency — it is trust. When you can see, search, and annotate what your AI remembers, you stop treating it as a black box. You start curating its memory the way you would curate your own notes. The AI becomes a more reliable collaborator because you understand what it knows.

If you want to try this:

  1. Install TagSpacestagspaces.org/downloads (free, open-source Lite edition is enough)

  2. Add your .claude/ folder as a location — or whichever AI tool’s context directory you use

  3. Browse — just look at what is there; most developers are surprised by how much context their AI has accumulated

  4. Tag the keepers — mark the files that encode real decisions

  5. Optionally install tscmdnpm install -g @tagspaces/shell — for CLI-based indexing and bulk tagging

The files are already there. They have been there since the first time you ran an AI coding assistant. The question is whether you want to manage them — or let them manage you.

TagSpaces is an open-source, local-first file organizer. tscmd, the command-line tool. Neither requires an account, cloud connection, or subscription.

Share

Discussion about this post

Ready for more?