Tenuki - Go elsewhere, to the terminal

Hello!

If you’re like me and spend most of your time in the terminal in office, you might sometimes want to play a move or two while waiting for builds or tests to finish. ymattw/tenuki now lets you do just that—enabling you to play OGS games and stay low profile right from your terminal.

It’s kinda a spiritual successor to termsuji—kudos to Lvankeulen.

15 Likes

That info should be put in the “other resources” on the main site

I love this! Will test very soon :slight_smile: Thank you!!

Hi, I believe 3rd Party Apps for OGS is the right category.

1 Like

Thanks for your interest! FYI I’ve been developing using a symlinked dependency pkg googs and forgot updating the go.mod for a while, if you encountered crashes, please fetch the latest revision.

1 Like

EDITED:::
Ok, got it. You don’t need to put the secret key

I get a 401:
failed to request token: server responded “401
Unauthorized” for “/oauth2/token/”

Config it’s ok?

Sorry for your trouble… Exactly, the client secret must be unset for public oauth2 applications. I will update the doc tonight.

1 Like

This is really great! It’s working in Windows Terminal with WSL Ubuntu:

I don’t know anything about Go (the programming language), but after your latest fix I was able to write this nix script to build it:

let
  # nixos-25.05 from 2025-05-29
  nixpkgs = fetchTarball {
    name = "nixpkgs";
    url = "https://github.com/NixOS/nixpkgs/archive/7848cd8.tar.gz";
    sha256 = "0lscn3m2z2zs29k17c8901cpfgv6j4rrac1bpmslycr6mz8i64wb";
  };
  pkgs = import nixpkgs {};
in
pkgs.buildGoModule rec {
  pname = "tenuki";
  version = "7dee01d"; # latest as of 2025-06-25

  src = pkgs.fetchFromGitHub {
    owner = "ymattw";
    repo = pname;
    rev = version;
    hash = "sha256-XOevej74FJMwLZfS5Hn1XtIW1wtEZOMwUl3Z2w+MbJA=";
  };

  vendorHash = "sha256-4VutDQNvrGtfIsR1rLLHVhyC8gHx4jGNPpdSbtUxwkc=";
}

Maybe you should tag this version as v1.0 or v0.1 or whatever you are comfortable with?

2 Likes

Thank you for the feedback! Glad to hear it also works with WSL. There are still a few things I’d like to do first before tagging:

  • Move the hardcode “secret.json” to $XDG_STATE_HOME
  • Support other clock systems (fischer at least)
  • CI/CD workflows to automatically release (you won’t need to package yourself)

I will make these happen using my next chunk of free time..

2 Likes

That’s really cool!
Could you also add one or two puzzle collections?
Doesn’t need to be the entire OGS puzzle page

Thx for the work!

1 Like

Thanks for your interest! I’m not sure if the puzzle collections are open-sourced or not. I personally haven’t played them, nor have I considered developing a third-party client for them. As such, I don’t have any current plans to support them in the Tenuki terminal program. I do plan adding SGF support though, and once that’s done, I can certainly look into this again.

2 Likes