Collaborators Wanted - npx/uvx create-12-factor-agent #61
Replies: 1 comment
-
That's awesome. Love the idea. I'll follow this thread so I can contribute. For reference, I think the Svelte team did a great job on their CLI scaffolding tool. It seems to have similar intentions and premises to what you're trying to build here, so there may be something to learn from it. I don't know if this is beyond scope, but since you mentioned a web UI, what I think is a great strength of frameworks compared to coding from zero is the observability. I mostly prefer to write my application logic instead of using the framework's abstraction, as it's not that hard. But their GUI for tracing and debugging seems very valuable and useful. So a low-level scaffolding command that can help me with that would be very interesting. Maybe some basic evals code templates so we can easily build on top would be cool too. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Placeholder thread for discussing architecture of the
npx
anduvx
commands for scaffolding a 12-factor agent template in typescript or python.We welcome ideas and contributions from collaborators here!
Plan / Current State
Notes
Brain dump of my current notes and thoughts on the topic
Generates code + agent loops for different patterns
What is the new tool we are announcing?
Create-12f-agent is a CLI for creating new agents that follow the 12-factor-agents principles. It handles the basic scaffolding for python and typescript projects, and helps bootstrap projects with customizable options for managing prompts, tools, and control flow. Because the goal of 12-factor-agents is NOT to be a framework, it emphasizes creating basic structures, which you will then deeply customize to meet your needs.
You can think of it like a shadcn for AI agents.
What specific problem does this tool solve?
Create-12fa-agent helps you get productive with AI agents. It handles the bootstrapping and repo setup, but leaves you with full control over where you take projects from there.
When compared with an AI framework, 12fa gives you the freedom to build VERY reliable and powerful AI agents, but the tradeoff is there’s more code to write and more setup and glue code to write. Frameworks and libraries require less setup, but give you less freedom.
create-12f-agent lets you leverage the flexibility and power of 12fa patterns, without needing to pay the upfront cost of stitching everything together.
What alternatives are available?
You can use an AI framework like CrewAI or Langchain, which requires less code to get started (and so maybe doesn’t call for a repo-scaffolder), but also gives you less flexibility.
Tools like AgentOps’ https://github.com/AgentOps-AI/AgentStack bootstrap a repo structure for you, but they are primarily focused on getting you started with an existing framework.
Neither of these solutions gives you the flexibility and quality that can be achieved with the 12fa patterns.
What business value does this tool bring?
Ship production-grade agents that are good enough to put into customer hands, while maintaining flexibility and control. Prototype new agents or agentic features quickly.
Who needs this feature and why?
AI engineers, software engineers, and indie hackers who want to build fast.
How does the feature work?
example to draw from in github.com/got-agents/agents
Above the line features:
typescript + npm
npx command to run it
openai
baml for prompts
express / fastapi for endpoints
A2H integration
sqlite storage
dockerfile/docker-compose.yaml
git repo support
Below the line features
web server with chat UI
MCP support w/ Baml
cli flags
cli interactive UI
python + uv
uvx command to create
MCP support w/ other frameworks
other languages (ruby? go? etc)
Other ai providers
making it work with other prompt frameworks (dspy, litellm)
redis storage
other web servers
using external examples for templating
support for bun,pnpm, other ts package managers
support for poetry, other pythong package managers
run an
npx
oruvx
command and pass a directory to use. It will walk you through setup stepsAll options can be passed as flags. Default options are
Once the options are chosen, we run a uv sync and print the folder structure
Then we output instructions
.env file is configured from options, with easy toggles/guidance for others e.g.
Prints errors on startup if required keys are not set
unknown - how does it work without humanlayer? Yes - A2H is an open protocol which is implemented by HumanLayer but anyone can build their own
How is the tool adopted?
People read about it on 12fa, baml, humanlayer, etc
They go to the repo and read the readme
They run the npx/uvx command
They edit the env vars
They run the
uv run
ornpm run
ordocker compose up
commandThe server prints some output, including a curl command to test it out
other ideas
Beta Was this translation helpful? Give feedback.
All reactions