Sharpee v1

As mentioned on my blog a few days ago, Sharpee has reached a stable v1 release. There is a developer manual (HTML/PDF/ePub) with code snippets available from the website: https://sharpee.net/. The platform is available through npm and has a sharpee CLI tool installed from @sharpee/devkit.

When I wrote the manual I had Claude “execute” the 31 chapters in a naive docker container where Claude was given no context. It took a few iterations, but it surprisingly gave me a user’s perspective regression test that cleaned up a number of edge cases and a couple of text emission flaws.

Since my last post here, the channel-service package has replaced the original text-service package, added better prose formatters, enabled real front-end developer themes, added sound and music capabilities, and tightened the platform down to a production-level release. There are still open items in the GitHub issues list, so there will be a 1.5 and a 2.0 at some point.

The roadmap includes a multi-player Floyd like docker container, a MacOS native IDE, VS Code plugin, and with help, Spanish packages.

1 Like

I had a look at the Cloak of Darkness example at https://sharpee.net/cloak-of-darkness.html but either it’s wrong or there’s something fundamental I don’t understand. The two pieces of custom logic which CoD requires (making the bar dark or light depending on whether the cloak is worn, and disturbing the message when you try to act in the dark) don’t seem to be present in the provided code at all, but the sample transcript shows them happening as expected.

1 Like

So the logic as I know it is that you’re wearing the cloak in the beginning and the lights are out. When you hang the cloak on the hook, the lights are turned on.

  1. Good catch on the discrepancy. The logic is there, just not where you were looking: darkness and the disturbance counter live in event handlers and custom scope rules (onEngineReady, setupDarknessRules), not in the declarative room/object setup. The page shows the setup half and omits the handler half, so it reads as if the behavior comes from nowhere.
  2. That said, that example predates most of Sharpee’s development — it’s early pre-1.0 code, and we’re on 1.2 now. The page is stale and a couple of the mechanics in it diverge from the canonical spec.
  3. I’ll rewrite it against the current API and, more importantly, surface the author-written logic on the page itself — showing where darkness and the side effect actually get wired is the whole reason Cloak of Darkness exists, so hiding it defeats the purpose.
  4. Low on the priority list at the moment, but it’s queued. Thanks for flagging it.