Links to Axiom (if you want to directly access it and dont want to read the post):
Website: https://axiom.fwh.is/ -- here are downloads for every single operating system
GitHub repo: https://github.com/the1of1matt/axiom -- a star would be greatly appreciated ♥️
You know that moment when you download a GitHub repository because you want to try it?
You open the README.
npm install
Easy enough.
Then:
Actually, you need Node.js 20.
Okay.
You install Node 20.
Then:
npm install
Error.
So you read the error.
Apparently you need a specific version of some package.
You install that.
Then:
Python not found.
Fine.
Install Python.
Then:
Actually, this project requires Python 3.11.
You have Python 3.13.
Now you're installing another version of Python.
Then you need a virtual environment.
Then another CLI tool.
Then Rust.
Then Cargo.
Then some system dependency you've never heard of.
Then you finally get everything installed...
And the project crashes.
😭
This happens constantly
It's not just GitHub repositories.
It's projects you build yourself.
It's projects you vibe code.
It's projects your friend sends you.
It's projects you haven't touched in six months.
You can spend more time setting up a project than actually using it.
And the worst part?
The computer already knows what most of this stuff is.
It knows you're looking at a Python project.
It can see package.json.
It can see requirements.txt.
It can see Cargo.toml.
It can see pyproject.toml.
It can see the lockfiles.
It can see the project structure.
But somehow, you still have to figure out what needs to be installed, what version is required, how to configure it, and which command actually launches the thing.
That's the problem I wanted to solve.
Meet Axiom
Axiom is a small native CLI that handles project setup for you.
The goal is simple:
Give Axiom a project. Run it.
Axiom detects what the project needs and handles the setup instead of making you manually reconstruct the developer's environment.
You shouldn't have to think:
"Wait, do I need Node 18 or Node 20?"
or
"Why is this asking for Python 3.11?"
or
"Do I need Cargo for this?"
or
"Which dependency am I missing?"
or
"Why did installing this globally break another project?"
Axiom is designed to take care of that layer.
The idea
Imagine downloading a repository.
Instead of opening the README and going through a 47-step installation guide...
You run Axiom.
It looks at the project.
What stack is this?
What dependencies does it need?
What versions are required?
What tooling is missing?
Where should those dependencies live?
How should this project be built and launched?
Then it prepares the environment and runs the project.
No manually hunting through installation instructions.
No globally installing random packages just to run one repository.
No discovering halfway through the process that you installed the wrong version.
No:
"Actually, you need Python 3.11."
💀
And yes, I built it.
Axiom isn't just an idea or another "here's my startup concept" post.
It's already built.
I'm now putting it out there, testing it against real projects, finding the edge cases, and figuring out how far this idea can go.
The bigger vision is to make project setup feel less like a ritual and more like pressing Run.
Why open source?
Axiom is open source.
Because this is infrastructure.
I don't want Axiom to become another tool where you're forced into a proprietary ecosystem just to run your own code.
I want developers to be able to inspect it, contribute to it, report problems, add support for new stacks, and improve it.
If Axiom eventually supports dozens of languages, frameworks, package managers, build systems, and weird project configurations, that should happen because developers built that support together.
The end goal
I want to get rid of this:
Clone → read README → install tool → wrong version → fix PATH → install dependency → crash → Google error → install another dependency → crash again → finally run
And replace it with:
Project → Axiom → Run
That's the entire idea.
Not another framework.
Not another package manager.
Not another IDE.
Just a layer between "I have this project" and "the project is running."
If you've ever spent 30 minutes getting a project running only to discover that you needed a very specific version of something...
Axiom is for you.
I'd love to hear from other developers:
What's the most ridiculous project setup problem you've encountered?
Python versions?
Node versions?
Rust?
Missing system packages?
Dependency hell?
A README that hasn't been updated since 2021?
Tell me. 😭
And if you're interested in Axiom, the project is open source and I'd love to have people try it, break it, and tell me what I missed.
Top comments (0)