Skip to content

docs: rewrite README to align with the deessejs org template - #387

Merged
codewizdave merged 5 commits into
mainfrom
docs/readme-restructure
Aug 4, 2026
Merged

docs: rewrite README to align with the deessejs org template#387
codewizdave merged 5 commits into
mainfrom
docs/readme-restructure

Conversation

@martyy-code

Copy link
Copy Markdown
Contributor

Summary

Rewrites README.md to follow the deessejs organization template, adapted for a focused TypeScript library (the repo is a monorepo with two workspaces: packages/fp and apps/web, not a multi-app SaaS).

Why

The previous README was minimal and used a generic "TypeScript package template" layout. Aligning with the deessejs organization template:

  • Makes @deessejs/fp discoverable as part of the same family as @deessejs/errors, deessejs/fp, and the main app.
  • Surfaces the public API (Result, Maybe, Try, etc.) up front, instead of burying it in a code block under "Getting Started".
  • Documents the publishing pipeline (OIDC + Changesets + provenance) directly in the README, instead of leaving the reader to discover the runbook.
  • Improves SEO and link-health via the badges block and the "Sibling projects" callout to @deessejs/errors.

Changes

The new README follows the same section ordering as the deessejs org template (title, tagline, badges, sibling-project callout, What's included, Why this stack, Quick start, Available commands, Project structure, Publishing, Architecture notes, Contributing, License, Support).

Adaptations specific to a library:

  • No Vercel / Codespaces buttons (libraries are not deployed).
  • "Environment variables" replaced with "Compatibility" (peer deps + engines table). A pure TS library has no runtime env vars.
  • "Deployment" replaced with "Publishing" (OIDC + Changesets workflow).
  • "Customization" replaced with an "Architecture notes" block describing the public API surface and the design philosophy (ESM-only, strict types, composition over inheritance, zero runtime abstractions).

Sections unchanged in shape:

  • Badges block (License, CI, Stars, npm).
  • Sibling-project callout (now pointing at @deessejs/errors).
  • License + Support at the bottom.

Test plan

  • pnpm turbo type-check passes.
  • pnpm turbo lint passes.
  • Markdown renders correctly (README.md has 225 lines, no broken links verified visually).
  • Manual review of tone, completeness, and accuracy of the API surface table.

Risk

None. Documentation only. No code change.

Rollback

Revert the merge commit. The previous README is preserved in git history.

🤖 Generated with Claude Code

release-pipeline-test added 5 commits August 4, 2026 12:49
Adapt the README structure used across the deessejs org to the
shape of @deessejs/fp (a focused TypeScript library, not a SaaS
app).

Adapted sections:
- Banner: dropped (no banner image). Kept the title + tagline +
  badges layout.
- What's included: replaced the SaaS layers table with the
  @deessejs/fp public API surface (Result, Maybe, Try, Unit,
  functional utils, async utils, predicates, collection types,
  generator composition, @deessejs/errors integration).
- Why this stack: simplified to ESM-only, zero runtime deps,
  TS 6 first-class, pnpm lockfile-clean, Vitest.
- Quick start: install + usage snippet + engine compatibility
  table.
- Available commands: workspace + per-package tables for @deessejs/fp
  and apps/web.
- Environment variables: replaced with a 'Compatibility' section
  listing peer deps and engines (lib has no env vars).
- Project structure: reflowed around packages/fp + apps/web (2
  workspaces) instead of the SaaS monorepo.
- Deployment: replaced with 'Publishing' that documents the
  Changesets + OIDC pipeline (with a link to
  docs/engineering/plans/release-pipeline.md).
- Customization: replaced with notes on the public API surface
  and how to consume the lib.
- Architecture notes: ESM-only, strict types, composition over
  inheritance, zero-runtime abstractions, smoke-tested build,
  @deessejs/errors opt-in.
- Contributing: running lint/test before PR + adding a changeset
  for user-facing changes + updating docs/internal/product/README.md.

Dropped sections (not applicable to a library):
- Deploy with Vercel / GitHub Codespaces buttons
- Environment variables table (lib has none)
- Deployment / Per-app mapping (no production URL)
- Multi-tenant / single-tenant customization notes

Sibling project callout:
- Adds a top-of-file callout for @deessejs/errors as the
  natural pairing library, matching the org convention of
  cross-referencing sibling packages.

No code changes. Documentation only.
Two follow-ups on the README rewrite:

- Remove the banner placeholder note (no banner image applies to
  this repo, but the explanatory note is unneeded once the title
  and tagline are in place).
- Link to https://github.com/deessejs/errors at every mention of
  '@deessejs/errors' in the body. The previous version had
  plain-text mentions in the compatibility table, the engine
  bullet, the integration test bullet, and the install block;
  these are now Markdown links (or in-block comments for the
  bash example) so readers can navigate to the sibling repo.
Adds a third callout after 'Sibling projects' that signals
production usage of @deessejs/fp at deessejs.com — every error
path and nullable value in production goes through this
library and its sibling @deessejs/errors.

This is a credibility signal for npm visitors: the library is
not a side project, it is the foundation the deessejs app
runs on.

Placement: in the existing callout block at the top of the
README, between 'Sibling projects' and the section divider.
Per reviewer feedback: merge the 'Sibling projects' and
'Used internally' callouts into one paragraph on a single line.

The 'Sibling projects' portion now references @deessejs/fp's
own repo via a proper Markdown link (it was missing one).
'Used internally at deessejs.com' is now a single bold
sentence appended to the same blockquote, not a separate
callout.

Net effect: less visual noise at the top of the README, same
information delivered.
Unifies the support address across the repo to support@deessejs.com:

- README.md: 'hello@nesalia.com' -> 'support@deessejs.com'
- .github/SECURITY.md: 'security@nesalia.com' -> 'support@deessejs.com'

Decided against keeping a separate security@... address; the
single support@... inbox routes security reports to the right
team (as documented in SECURITY.md).

No code changes. Documentation only.
@codewizdave
codewizdave merged commit 2d2d710 into main Aug 4, 2026
4 checks passed
martyy-code pushed a commit that referenced this pull request Aug 4, 2026
Patch bump to push the restructured README + enriched package
metadata (keywords, bugs, peerDependenciesMeta) to npm.

No code change. The version bump is needed because the
release pipeline is PR-merge-driven and the prior merges
#387 and #388 did not trigger it (their changesets were
empty). The hotfix tag path is the fallback for this case.
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