I’ve played a bit of https://replicant.space lately. It’s an API-based game, and I was very curious about it. I’ve had an idea about a web game featuring a fully-fledged API for a while, but never got around doing much about it, and now my dream has come true thanks to @mercutio !

What’s this game about ?

Being an API-only game is quite an experience. Apart from a good documentation (both "human-friendly" and made-for-automated-discovery), and a tutorial covering the basics, there is no user-friendly interface. All of the interaction take place using HTTP requests (mostly GET and POST).

Unless someone develops a user-friendly frontend, this will remain nerd stuff. That’s what makes it cool. However, it could also be a fun playground to learn about APIs, and I could even see teachers basing their courses around it.

Starting the game

Registering for an account requires sending a POST request to an API endpoint. I then got an email with a confirmation link, which leads to a page containing the precious API token I then used to authenticate every request. At this point, I was simply using cURL.

Once being registered, I knew I couldn’t simply start to play. I had to setup Prometheus to scrape some precious metrics. I initially settled on two : my total experience points, and my number of replicants. I then added more as I played.

I started playing by following the quickstart. I got my bearings in NANKI, travelled the system, mined resources, built some drones… This is when I stopped using curl in favour of Nushell. It’s basically a shell with some API and data processing built-in. This was a nice way to get more used to it, and I really took advantage of the pretty formatting of nu. Later, I started writing nu scripts to automate some things (deploying and stowing swarms of drones).

My first impressions

I’ve just started, and this is the point of view of someone used to APIs, but not to this game in particular. There are also many features (trading, species…) I haven’t used yet. The first thing to say it’s that Tony has made sure to have some nice documentation to follow. This is probably the single most important feature to have for a game like this one. There is also a Postman collection offered, but this is not something I’ve used before. I may explore this way later. I expect this would help beginners a lot.

However, I’ve had an issue when sending POST request at first. I pasted the ones from the quickstart, changing only the values, and got 400 Bad request in return. It turns out I had forgotten to specify a content-type, which should be set to application/json. While this is not specific to this game, it could be nice to have a reminder in the docs.

On the same topic, I tended to leave trailing slashes at first, which returned 422 HTTP errors.

Otherwise, the game runs fine. The API limits are quite generous. For now, I expect most of my requests spikes to be when managing drone swarms (one request per drone at least) and my metrics script (10 requests at once every ten minutes).

As for the game itself, I expected to have a small proof of concept, with a relatively narrow set of features. But while it’s probably not as massive as Eve Online, there are definitely lots to do. I’ve only touched on the basics, but there are many cool things I’ve yet to experiment. And there’s always the "automation metagame", where scripting things is cool in itself. Thanks a lot to Tony for creating this fun niche game !

Metrics

So, I may have a problem. I love metrics, even when their usefulness is dubious at best. So I got myself some. A bash script, a systemd timer and a quick Ansible playbook got me started. My script is definitely not pretty, but it works. It’s basically a bunch of curl | jq, echo, and the standard output is directed to a file read by Node Exporter. I was able to do quite a bit (see screenshots), including exporting the game leaderboards and watching my amount of XP grow. There’s still lots to do there. Aggregating the various resources I’ve mined would be nice. I’m planning of releasing my setup, so that other could use it, but probably not today.

#replicantSpace #gaming #api #nushell #prometheus

Paneship now supports Bash, Zsh, Fish, PowerShell, Nushell, and more.
A fast daemon-powered shell prompt written in Rust for tmux workflows and large repositories.

https://crates.io/crates/paneship
Feedback and contributions are welcome ❤️
#opensource #paneship #tmux #shellprompt #rust #zsh #nushell

crates.io: Rust Package Registry

crates.io serves as a central registry for sharing crates, which are packages or libraries written in Rust that you can use to enhance your projects

Nushell Niceties: Wrapping External Commands With def --wrapped
A blog by @mrhaki

The def keyword in Nushell is used to define a custom command. By adding the --wrapped flag you can tell Nushell to accept unknown flags and arguments and pass them on as strings. In the command parameters you use a "rest" parameter defined by …​ to capture the remaining arguments. Then in the command body you use the spread operator …​ to expand them...

#dev #softwaredevelopment #Nushell

https://jdriven.com/blog/2026/05/Nushell-Niceties-Wrapping-External-Commands-With-def---wrapped/

Nushell Niceties: Wrapping External Commands With def --wrapped

The def keyword in Nushell is used to define a custom command. By adding the --wrapped flag you can tell Nushell to accept unknown flags and arguments and pass them on as strings. In the command param

JDriven Blog

Nushell Niceties: Check Semantic Version Is A Match
A blog by @mrhaki

In a previous blogpost you can learn about the semver command in Nushell to transform a string value into a semver type. The command has a subcommand match-req. You can use this command to check if a version matches part of the semantic version parts. The result is a boolean value. The version to compare with doesn’t have to defined fully, but could exist of only...

#dev #softwaredevelopment #Nushell

https://jdriven.com/blog/2026/04/Nushell-Niceties-Check-Semantic-Version-Is-A-Match/

Nushell Niceties: Check Semantic Version Is A Match

In a previous blogpost you can learn about the semver command in Nushell to transform a string value into a semver type. The command has a subcommand match-req. You can use this command to check if a

JDriven Blog
Pass on arguments to an external command from a custom command using --wrapped option in #Nushell: https://blog.mrhaki.com/2026/04/nushell-niceties-wrapping-external.html
Nushell Niceties: Wrapping External Commands With def --wrapped

A blog about Groovy, Java, Clojure, Asciidoctor, Gradle and other cool developer subjects.

Messages from mrhaki

Nushell Niceties: Sorting Version Values With Semver Ordering
A blog by @mrhaki

The semver Nushell plugin can be used to work with string values as semver type as you can see in a previous post. You can use the semver sort command to sort string values with ordering rules for semantic versions. With natural ordering of string values a value of 10.0.1 is placed before 2.1.0, but if you use semver sort the ordering will be correct....

#dev #softwaredevelopment #Nushell

https://jdriven.com/blog/2026/04/Nushell-Niceties-Sorting-Version-Values-With-Semver-Ordering/

Nushell Niceties: Sorting Version Values With Semver Ordering

The semver Nushell plugin can be used to work with string values as semver type as you can see in a previous post. You can use the semver sort command to sort string values with ordering rules for sem

JDriven Blog

@whitequark If you're not tied to PowerShell, #nushell has the nice structured data approach of PowerShell but is cross-platform and a bit more unix-y/FP-y. I use it across Win/*nix/Mac. <3

But definitely agree re: "unserious platform"

Stop overthinking everything: just use cURL!

https://justuse.org/curl

(nushell's built-in http command is pretty good, too)

#curl #nushell #humor #humour #programmer_humor #programmerhumor #programmerhumour

Just use cURL

Пока я собирался учить #nushell, проект превратился в нейропомои. Оболочки нового поколения у нас не будет, остаётся дальше сидеть на примитивном fish и грустить.

Хотя бы #typst [раком не заразился](https://github.com/typst/typst/commit/7f6e625285329ccda6e117b3a57291959d2684f1).

Ban AI-implemented contributions (#7932) · typst/typst@7f6e625

A markup-based typesetting system that is powerful and easy to learn. - Ban AI-implemented contributions (#7932) · typst/typst@7f6e625

GitHub

@jean_dupont
U don't have to ditch fish shell 😃. Nushell's external completion options let us use any completions as we like. Like carapace, fish or any custom completions.
I use fish completions in nushell for some commands. Coz nushell completions are still not that good compared to fish as of now.

#nushell #fish #shell #completions