Skip to content

feat!: ez init's layout, main.bend at the root and modules under src/ - #19

Merged
noah-emp merged 1 commit into
mainfrom
feat/src-layout
Sep 30, 2026
Merged

noah-emp merged 1 commit into
mainfrom
feat/src-layout

Conversation

@noah-emp

Copy link
Copy Markdown
Collaborator

The hub describes a package by the first line of its first file by path (LICENSE skipped); ezhttp's flat ezhttp/ layout made that ezhttp/b64: Base64 encoding….

  • main.bend at the package root, first line: # ezhttp: HTTP/1.1 client and server for Bend 2, with auth, cookie and CORS helpers.
  • Every module the entry walks is under src/ (effects under src/effs/); src/json.bend (private, not in the walk) too.
  • LAWS.bend, PROOF.bend, ENTRY.bend at the root, outside the walk (as in ezjson).
  • ez.toml entry = main.bend; bench, flake proofs check, README import paths updated (hub hash unchanged).

Walk (sorted): LICENSE, main.bend, src/auth.bend, src/b64.bend, src/body.bend, src/cache.bend, src/client.bend, src/cookie.bend, src/cors.bend, src/effs/wire.c, src/effs/wire.js, src/http.bend, src/server.bend, src/url.bend, src/wire.bend, src/wirespec.bend.

On bend 2.0.34: PROOF.bend prints ALL PROOFS CHECK; ENTRY.bend fails only with the foreign-code list; nix flake check passes (proofs, lint 0 errors, http-compare 43/43).

BREAKING: importers of any module other than main.bend must add src/ to the path.

🤖 Generated with Claude Code

The hub describes a package by the first line of its first file by path.
With everything under ezhttp/ that was src b64's header. main.bend now sits
at the package root, beside LICENSE, and opens with a one-sentence
description; every module the entry walks is under src/ (wire's C and JS
effects under src/effs/). LAWS.bend, PROOF.bend and ENTRY.bend sit at the
root, outside the walk, as in ezjson. ez.toml's entry is main.bend; the
bench, the flake's proofs check and the README follow the new paths.

The walk: LICENSE, main.bend, src/{auth,b64,body,cache,client,cookie,
cors,http,server,url,wire,wirespec}.bend, src/effs/wire.{c,js}.

BREAKING CHANGE: ezhttp's internal modules moved from ezhttp/ to src/, and
the entry from ezhttp/main.bend to main.bend. Importers of main.bend by the
package's hub name are unaffected; importers of any other module update the
path, e.g. <hash>/http.bend becomes <hash>/src/http.bend.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noah-emp
noah-emp enabled auto-merge (squash) September 29, 2026 23:59
@noah-emp
noah-emp merged commit f1caaee into main Sep 30, 2026
1 check passed
@noah-emp
noah-emp deleted the feat/src-layout branch September 30, 2026 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants