[Docs] README: mark as open source, add reference site, set v0.0.1 - #117
Merged
Conversation
Prepare the README for the public repo: - Title marks the project as open source; add MIT + version badges. - "What this is" now lists three parts, not two — the reference site (sites/staging) is called out as the default site that uses the plugin and the thing the quick start actually boots. - "Why two parts" notes that emdash-cms/emdash#2169 (draft) adds the guarded updateIf primitive that closes the no-oversell race in-sandbox, and that a @urumi/store-emdash adapter already proves the InventoryStore contract in-process. Also states plainly what #2169 does NOT cover: the atomic insert and batch primitives are not upstream yet, so the rest of the service can't fold into the plugin on that PR alone. - Set the six publishable @urumi/* packages to 0.0.1 to match, and say so under Status. No changeset: the version fields are being set to a release baseline by hand, and nothing is published to npm — a changeset would bump them off 0.0.1 on the next release run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XXBjHj6foi2JpL6az7DfyQ
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XXBjHj6foi2JpL6az7DfyQ
Correctness under concurrency is table stakes for commerce, not a feature to lead with. Reframe the section around the actual gap — the sandbox can't express a guarded update, a uniqueness constraint, or a multi-document commit — with inventory as one instance rather than the headline. Drops the display SQL block and the "one atomic operation that matters" framing; the section is ~13 lines shorter. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XXBjHj6foi2JpL6az7DfyQ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares the README for going public.
Changes
Title — now
# Urumi — an open-source commerce layer for EmDash, with MIT and version badges."What this is" — three parts, not two. Added the reference site (
sites/staging) as a first-class component alongside the plugin and the service: it's the default EmDash site with the plugin already registered, the storefront in the screenshot, and what the quick start boots. Flagged that it's catalog + cart only today."Why two parts" — the split is meant to collapse. Added the upstream story: emdash-cms/emdash#2169 adds
ctx.storage.<collection>.updateIf(id, { where, set?, delta? })— one guardedUPDATE … RETURNING, exactly the statement the README already prints — so a plugin can decrement stock race-free with no companion database.Two things stated honestly rather than optimistically:
@urumi/store-emdashproof adapter passes the fullInventoryStorecontract in-process (real-Postgres no-oversell race + idempotent replay included), but it callsupdateIf(5×),insert(3×), andbatch(5×) — andinsert/batchare not upstream yet. Folding orders, payments, webhooks, and reporting into the plugin needs those two as well.Version 0.0.1 — the six publishable
@urumi/*packages go0.1.0 → 0.0.1, and Status names the version and notes nothing is published to npm. Internal deps are allworkspace:*, so no dependency specifiers changed and the lockfile is untouched.Notes
packages/service/tsdown.config.tsandsites/staging/emdash-env.d.tshad unrelated pre-existing working-tree changes — deliberately left out of this branch.Verification
pnpm typecheckclean;pnpm install --lockfile-onlyreports the lockfile already up to date. Docs + version metadata only — no runtime code touched.🤖 Generated with Claude Code
https://claude.ai/code/session_01XXBjHj6foi2JpL6az7DfyQ