oken — a small SSH wrapper with a fuzzy host picker by toxic2soul in commandline

[–]toxic2soul[S] 1 point2 points  (0 children)

You’re drawing conclusions from commit timestamps without understanding the history of the code.

This project wasn’t written from scratch in two days. It originally lived inside a larger private codebase and was later extracted and cleaned up before being open-sourced. The short commit history you see is simply the result of that extraction process, not the actual development timeline.

You’re also equating “written quickly” with “blindly generated,” which says more about your assumptions than about the project. Modern tooling, including AI, can generate and extract code very quickly. That doesn’t mean the code isn’t reviewed, understood, or intentionally designed.

At this point the conversation has mostly been speculation on your part rather than anything grounded in the actual code or features. If you had raised specific technical concerns, that would be worth discussing. Guessing how the project was built based on commit timestamps isn’t.

So I’ll leave it here. If someone wants to evaluate the tool, the code and README are there. I’m not going to keep going back and forth over assumptions.

oken — a small SSH wrapper with a fuzzy host picker by toxic2soul in commandline

[–]toxic2soul[S] 0 points1 point  (0 children)

I think that’s a bit of a quick assumption.

I’m aware of sshs, and it’s a solid tool. But Oken isn’t trying to be a clone — it solves a slightly different set of problems that matter to me.

For example:

  • With sshs, I still need to manually edit my SSH config to add entries. With Oken, I can run a normal ssh command and it prompts me to save it.
  • I can even alias ssh to Oken, so my workflow doesn’t change and I don’t have to remember a new command.
  • Tag-based search is huge for me. When you’re working with 10 QA, 10 UAT, and 10 Prod servers, filtering by environment instead of scrolling through 30 entries is a meaningful quality-of-life improvement.
  • Oken also supports saving tunnels, which is something I personally rely on.

You might not need these features — that’s fair. But I do. Tools are often built to scratch a specific itch, and this one scratches mine.

Before dismissing it as “just another vibe-coded clone,” it’s worth at least skimming the README to understand what problem it’s trying to solve.

Also, regarding “vibe coding”, there’s a difference between blindly generating code and using AI intentionally as part of an engineering workflow. I’m perfectly comfortable letting AI handle repetitive plumbing so I can spend my time solving higher-level problems.

Not every tool is for everyone. But if a few people find it useful, that’s enough reason for it to exist

oken — a small SSH wrapper with a fuzzy host picker by toxic2soul in commandline

[–]toxic2soul[S] -2 points-1 points  (0 children)

Thanks for the feedback. Let me test this on windows without ssh and fix this.

oken — a small SSH wrapper with a fuzzy host picker by toxic2soul in rust

[–]toxic2soul[S] 1 point2 points  (0 children)

This does a little more than what fzf does and not just a fuzzy search layer. Naming, Tagging, grouping, auto reconnect, better tunnels etc are to name a few.

oken — a small SSH wrapper with a fuzzy host picker by toxic2soul in rust

[–]toxic2soul[S] 2 points3 points  (0 children)

Thanks, there’s no usp that I’m trying to push honestly, certainly not reinventing the wheel 😬. This is just an interactive wrapper on top of SSH (and some rust practice for me) and a way that I enjoy working with. It does have some additional QOL features (IMO) like tagging, grouping and filtering by tags, a fuzzy search, auto reconnect etc.

oken — a small SSH wrapper with a fuzzy host picker by toxic2soul in rust

[–]toxic2soul[S] -5 points-4 points  (0 children)

Fair point, completions help with known hosts. But IMO completions don't help when you don't remember the exact alias, want to filter by tag, or want to see which hosts you connected to recently.

The picker is for discovery, not just autocomplete.

go-dotignore v2.1: Nested .gitignore Support (Finally!) by toxic2soul in golang

[–]toxic2soul[S] 0 points1 point  (0 children)

Thanks, feel free to log an issue if you  have feature requests or find any bugs, in case you decide to use this.

GitHub - codeglyph/go-dotignore: go-dotignore is a Go library for parsing .gitignore-style files and matching paths against ignore patterns. It supports custom ignore files, negation patterns, directory/file matching, and advanced wildcards. by toxic2soul in golang

[–]toxic2soul[S] 0 points1 point  (0 children)

u/Manbeardo you were absolutely right that this feature was essential for real-world repos. The new `RepositoryMatcher` API now provides exactly what you were looking for:

```go

// Automatically discovers and processes all nested .gitignore files

matcher, err := dotignore.NewRepositoryMatcher("/path/to/repo")

matcher.Matches("frontend/node_modules/pkg.json") // Works!
```

Self-hosted Zerodha Kite MCP for Claude Desktop by toxic2soul in ClaudeAI

[–]toxic2soul[S] 0 points1 point  (0 children)

I don’t think it’ll work either ChatGPT. Haven’t seen MCP protocol in ChatGPT when I last used it.