You can try it now at https://github.com/InvalidJoker/scratchpad/releases
You can try it now at https://github.com/InvalidJoker/scratchpad/releases
setup on initial execution to initialize CLI configuration.new <name>: Create a scratch project.open <name>: Open a project and mark it active.keep <name>: Promote a project out of scratch, permanently.list: List your scratch projects.info <name>: Show everything known about a project.trash <name>...: Move a project to the trash.restore <name>: Bring a project back from the trash.setup on initial execution to initialize CLI configuration.new <name>: Create a scratch project.open <name>: Open a project and mark it active.keep <name>: Promote a project out of scratch, permanently.list: List your scratch projects.info <name>: Show everything known about a project.trash <name>...: Move a project to the trash.restore <name>: Bring a project back from the trash.I’ve started working on Scratchpad, a small tool for managing temporary projects and experiments.
The idea behind Scratchpad is simple: I often create projects in my Downloads folder when I’m testing an idea or starting something small. After a while, those projects pile up and I have to manually figure out what I still need and what I can delete.
Scratchpad is meant to make that process easier by giving these temporary projects their own workspace and eventually helping manage their lifecycle.
For the first step, I set up the project in Go and implemented the first command. This gives me the basic foundation to start building the rest of the tool around.
It’s still very early, but the initial structure is now in place.
I’ve started working on Scratchpad, a small tool for managing temporary projects and experiments.
The idea behind Scratchpad is simple: I often create projects in my Downloads folder when I’m testing an idea or starting something small. After a while, those projects pile up and I have to manually figure out what I still need and what I can delete.
Scratchpad is meant to make that process easier by giving these temporary projects their own workspace and eventually helping manage their lifecycle.
For the first step, I set up the project in Go and implemented the first command. This gives me the basic foundation to start building the rest of the tool around.
It’s still very early, but the initial structure is now in place.
You can now mirror artifacts from other registries.
You can now mirror artifacts from other registries.
maven-repo did one thing well: simple, self-hosted Maven hosting.
But self-hosted registries aren’t just a Java problem. Docker images need a home too, and running a separate service just for that never made sense. So I merged both into one tool.
The old name didn’t fit anymore. maven-repo is now Artifact Forge.
maven-repo did one thing well: simple, self-hosted Maven hosting.
But self-hosted registries aren’t just a Java problem. Docker images need a home too, and running a separate service just for that never made sense. So I merged both into one tool.
The old name didn’t fit anymore. maven-repo is now Artifact Forge.
Today I’m shipping v0 of the Maven repository! I think it’s stable enough for an initial release.
For future releases, I plan to add support for Docker images and other artifact types, but that’ll come later.
You can check out the public instance here: https://repo.koder.wtf/
If you’d rather host it yourself, it’s easy to do with Docker, just follow the instructions in the readme.
In my last Dev Log, I mentioned that I had finished the first prototype with all the core features in place.
Over the past week, I’ve focused on completely refreshing the frontend. The interface has been redesigned to be cleaner, more modern, and much more enjoyable to use.
I also introduced Instance Settings, allowing you to fully customize your Maven repository. Since the project is self-host-first, it should feel like your repository. You can now personalize the instance name, logo, and color scheme to match your style.
As you can see, the application now features a brand-new green and black color palette.
The basic prototype is now complete, and the core features are already in place.
The core functionality is now in place, so the focus can shift towards improving the user experience and expanding support for more package ecosystems.