Advertisement ยท 728 ร— 90

Posts by Sasha ๐Ÿ๐Ÿ’จ Koss

Preview
GitHub - mindrig/mindrig: The VS Code's AI playground The VS Code's AI playground. Contribute to mindrig/mindrig development by creating an account on GitHub.

โญ Star at GitHub: github.com/mindrig/mind...
โฌ‡๏ธ VS Code: marketplace.visualstudio.com/items?itemNa...
โฌ‡๏ธ Cursor, Antigravity, etc.: open-vsx.org/extension/mi...
๐Ÿ”— mindrig.ai

4 months ago 1 0 0 0

๐Ÿ”ธ It uses Oxc by @boshen.github.io and Ruff by Astral to parse JS/TS/Python and extract prompts.
๐Ÿ”ธ @vercel.com AI Gateway enables running mind-boggling number of models.
๐Ÿ”ธ New users are served by my workstation running @lmstudio-ai.bsky.social for smoother onboarding.

4 months ago 0 0 1 0
Video

๐Ÿšจ New open source by me and my partner Josh: Mind Rig, AI playground for VS Code, Cursor, and co.

๐Ÿ”น Test prompts against different models & settings.
๐Ÿ”น Inspect requests, responses, and usage.
๐Ÿ”น Assign prompt variables manually or use CSV to test against multiple values.

4 months ago 0 0 1 0

This will enable typing Result$ and getting suggestions for the namespaces from whole database.

I practice hierarchy-based naming (e.g., ResultLayoutHorizontal), which is practically the same but implicit, gets mixed with unrelated names, and sounds unnatural.

5 months ago 1 0 0 0

Hear me out.

TS has namespaces, but they aren't open and defined per module, unlike Rust impl or C#/C++/etc.

Even if JS had it, it would be a nightmare for bundlers.

What if we used a delimiter, i.e., $: Result$initFromRun() or <Result$HorizontalLayout /> to signify them?!

5 months ago 0 0 1 0

2... I create a new package only if

- It's a separate service (production or dev app).
- It's a package shared between monorepos (currently I use Git submodules to do so), so fewer external dependencies.
- It's an open-source library published to a registry (which is rare).

5 months ago 1 0 0 0

2. I committed to extracting app code into "aspect" packages, and it has its benefits, but dependency wiring is just way too tiring. Moving and sharing code gets harder with every new package. Now I have monolithic "core" package that I share between apps.

5 months ago 0 0 1 0

1. I tried to work with recommended Turborepo setup with `tsc` for each package for few months and got back to references. I got tired of routinely restarting VS Code just to resolve weird problems. Also, single `tsc --build --watch` is just the best way to work on a TS project.

5 months ago 0 0 1 0
Advertisement

Two monorepo learnings for the past couple of years:

1. TypeScript Project References rule in terms of performance and DX.
2. Extracting app code into isolated packages is not worth the hassle. When sharing code between apps, it's better to just have a single "core" package.

5 months ago 3 0 1 0

Much cleaner! โœจ

6 months ago 0 0 0 0

I added two more functions, `todo` and `ensure` (that assert non-nullish, unlike `always` that asserts truthiness).

Also, I covered it with tests and detailed JSDocs.

Who would've thought that one could push such a simple code that far!

6 months ago 1 1 1 0

On the other hand, I'm having so much fun designing solid architecture and also writing a lot of code!

I'm actually happy that LLMs are bad at making changes keeping big picture in mind. They leave all the joy to us!

6 months ago 0 0 0 0

I ended up wasting so much time rewriting stuff that seemingly worked but was actually subtly buggy on many levels.

This is why I dislike using "spec" to describe agent instructions. It leads to an illusion of control, while you are, in fact, slowly rolling to a cliff edge.

6 months ago 1 0 1 0

Oh yeah, there's no such thing as too many GitHub stars: github.com/kossnocorp/a...

6 months ago 0 0 0 0
Post image

Here's an example of when it's handy.

6 months ago 0 0 0 0
Post image

I just published the stupidest npm package, `alwaysly`. There's nothing to it but two one-liner functions.

I use them often and am too lazy to drag them around.

Btw, if you don't use this pattern in your TypeScript code, you're missing out!

6 months ago 1 0 1 2

Over the years only three organizations realized their promise to support open source, despite endless stream of startups and coins contacting me.

They are Open Collective, @github.com, and thanks.dev (they are so awesome, I don't understand why not so many people talk about them) โค๏ธ

6 months ago 0 0 0 0

It is a massive achievement for such a big company to put money where their mouths are.

I wish more companies were that dedicated, not for my wallet's sake, as I spend more money on Sentry than they gave back ๐Ÿ’ธ, but for the health of the community!

6 months ago 0 0 0 0
Advertisement

The only podcast I'm listening to nowadays is @syntax.fm. So fun and educational too! Always learn something new.

And that's not because they, along with @sentry.io, sponsor date-fns via thanks.dev, but for that, they are absolute legends!

6 months ago 0 0 1 1

I love using Next.js for web apps, but man, having to use Vite with React Router for a VS Code extension webview is liberating!

A simple SPA with no care for latency is closest one can get to React-promised joy.

6 months ago 0 0 0 0
Preview
This is what I got after just a few sessions of unchecked agent work (gpt-5-codex with mostly high reasoning) This is what I got after just a few sessions of unchecked agent work (gpt-5-codex with mostly high reasoning) - agents-hooks-spaghetti.ts

I got boiled like the frog.

It's @OpenAI's gpt-5-codex with (mostly) high reasoning. Pro plan, if it matters.

The source code: gist.github.com/kossnocorp/4...

6 months ago 0 0 0 0

My takeaway is that you can't vibecode something like that. It needs an engineer in the loop, constantly improving the system.

This is despite detailed specs.

In hindsight I should've designed it myself, but it's hard to notice the problem without writing the code.

6 months ago 0 0 1 0

Nothing to refactor at this point, just a full rewrite.

The complication comes from the fact that VS Code extension backend communicates with a webview via messages, and without architecture established by a human engineer, it is doomed to fail.

6 months ago 0 0 1 0
Source code: https://gist.github.com/kossnocorp/40061810bb1149ea44cb7a06bf1d411b

Source code: https://gist.github.com/kossnocorp/40061810bb1149ea44cb7a06bf1d411b

Post image Post image

If left unchecked, agents eventually end up hook-locking themselves and unable to progress.

I got this effects spaghetti after just a few (spec-driven!) sessions. It is simply deciding whether to show a key form, form with an error, or a masked key view.

6 months ago 0 0 1 1

`cargo publish --workspace` is awesome!

7 months ago 1 0 0 0

As MCP maintainers, I think it is important to show the will to choose the right decisions over the ones that benefit the business.

It is a small issue, but therefore, it is very telling. If they ignore it, then we will know that the same will happen with MCP eventually.

7 months ago 2 0 0 0
Preview
Feature Request: Support AGENTS.md. ยท Issue #6235 ยท anthropics/claude-code Codex, Amp, Cursor, and others are starting to standardize around AGENTS.md (https://agents.md/) โ€” a unified Markdown file that coding agents can use to understand a codebase. By contrast, CLAUDE.m...

I think @anthropic.com is now at a crossroads with this seemingly insignificant decision of whether they should adopt AGENTS.md: github.com/anthropics/c...

Do they bend to their competition or keep the advantage? This might hint to us if MCP is in good hands.

7 months ago 0 0 0 1

I tried different code agents, including GitHub's Copilot (all the models), Cursor, and Windsurf. I found them all too slow. Code quality is not up to my standards. Fine for simple tasks, though.

Now, after working with Claude Code, I'm finally having a good time.

7 months ago 0 1 0 0
Advertisement
Post image

In other news, a heavy Singapore rain drenched my monitor (and PC a bit), so I had to disassemble it to dry it ๐Ÿ˜ญ

8 months ago 1 0 2 0

I want to learn Go to tinker with the Go TypeScript implementation. How do I start?

8 months ago 0 0 0 0