The Origin Story of Robokeytags: From Internal Tool to Open Standard

Sometimes the best solutions come from scratching your own itch. Automotan Tags started as a simple internal utility at Robokeys, but evolved into something I believe could transform how we all work with code generation and AI.

The Beginning: A Codegen Problem

Like many developers, I was tired of writing boilerplate. So I built internal code generators using tools like Plop and custom scripts. But I kept hitting the same wall:

How do you tell a generator where it’s safe to insert code?

You could use markers like <!-- INSERT HERE -->, but every tool had its own syntax. Spring Boot generators used one pattern, our custom tools used another, and frontend scaffolding used something else entirely. It was chaos.

The First Insight: Universal Structure Markers

That’s when I created the first version of what would become Robokeytags, to use at Robokeys. I used puzzle piece emoji (🧩) because:

  • They’re visual and hard to miss
  • They represent how code pieces fit together
  • They work in any language’s comments
  • They’re just Unicode – no special tooling needed

The 🧩 tags became our universal language for code structure:

// [🧩 Section: routes/primary]
// [🧩 Point: route-insertion]
// [🧩 Region: NonEditable: generated-imports]

Suddenly, ALL our tools could understand the same structure. Plop knew where to insert. Our custom generators knew what to preserve. It was like giving all our tools the same map.

The Second Insight: Human Context Matters

As the system grew, we realized we needed a way to add human context that tools would respect but not process. Enter the 📌 (pin) tags:

// [📌 Note: This uses the CEO's special report format - DO NOT CHANGE]
// [📌 TODO: Refactor after Q2 when we deprecate the legacy API]

These weren’t instructions for tools – they were notes for humans. But crucially, tools knew to preserve them.

The Game Changer: AI Enters the Picture

Then came the AI coding boom. Suddenly, I’m working with Claude, GPT-4, and other assistants. And I realized: they had the same problem my code generators did, but worse.

AI assistants are incredibly powerful but have the memory of a goldfish. Every conversation starts fresh. They can’t remember:

  • What patterns they detected last time
  • Which code sections they’re uncertain about
  • What they learned about your codebase

The Third Insight: AI Needs Persistent Memory

That’s when I added the 🤖 (robot) tags – and everything clicked:

// [🤖 confidence-low: auth/logic] Complex business logic, needs more context
// [🤖 pattern-detected: Observer pattern with custom modifications]
// [🤖 refactor-suggestion: Consider extracting strategy pattern here]
// [🤖 agent:security-scanner: vulnerability-check-passed: 2025-05-22]
// [🤖 agent:performance-analyzer: possible-n+1-query: investigate UserRepository.findAll()]

These tags let AI build understanding across sessions. It’s like giving AI a notebook that doesn’t disappear when you close the chat.

But then I realized something even bigger: multiple AI agents could collaborate through these tags.

Imagine:

  • A security-focused AI leaves notes about potential vulnerabilities
  • A performance AI marks possible bottlenecks
  • A refactoring AI suggests patterns
  • A documentation AI identifies missing explanations
  • Each agent builds on the others’ insights

It’s not just memory – it’s asynchronous AI collaboration.

Why This Matters

What started as a simple codegen utility revealed a fundamental truth: all our tools need to speak the same language about code structure.

Whether it’s:

  • Plop generating components
  • Spring Boot CLI scaffolding controllers
  • AI assistants refactoring code
  • Linters checking standards
  • Humans understanding intent

They all need to understand what’s structural (🧩), what’s human context (📌), and what’s machine memory (🤖).

The Decision to Open Source

I could have kept Robokeytags as an internal Robokeys tool. But the more I used it, the more I realized this problem is universal. Every developer using code generation or AI faces these same challenges.

The 🤖 tags especially felt too important to keep private. They could fundamentally change how AI assistants work with code – from stateless helpers to tools with real memory and understanding.

But more than that, they enable something we’ve never had before: AI agents that can work together on your codebase, leaving notes and building shared understanding over time.

One agent’s uncertainty becomes another agent’s investigation. One agent’s pattern detection becomes another’s refactoring opportunity. It’s like having a persistent AI team discussion embedded in your code.

What’s Next

Automotan Tags v1.0 is now open source. It’s battle-tested from months of internal use at Robokeys. But I believe the community will take it places I never imagined.

Some possibilities I’m excited about:

  • IDE plugins that visualize the puzzle structure
  • AI assistants that remember everything between sessions
  • Linters that understand tool boundaries
  • Code review tools that highlight structural changes

Join the Journey

If you’re frustrated by:

  • Code generators that don’t know where to insert
  • AI that forgets everything between chats
  • The chaos of multiple tool conventions
  • Lost context in your codebase

Then Robokeytags might be your answer too.

Check out the spec: github.com/robokeys/robokeytags

Or read more about how it solves the AI memory problem: robokeys.tech/robokeytags

This started as a simple internal tool. With your help, it could become the standard for how all our tools understand code.


What code generation or AI collaboration problems are you facing? I’d love to hear if Automotan Tags might help solve them.


Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top