Skip to content

Create README.mds for each package, expand on docs#23

Merged
k0d13 merged 6 commits into
mainfrom
readmes-and-docs
May 18, 2026
Merged

Create README.mds for each package, expand on docs#23
k0d13 merged 6 commits into
mainfrom
readmes-and-docs

Conversation

@k0d13

@k0d13 k0d13 commented May 18, 2026

Copy link
Copy Markdown
Owner

Closes #10

Summary by CodeRabbit

Release Notes

  • Documentation

    • Added comprehensive README files for all packages (config, integrations, transformers, formatters)
    • Created extensive documentation site covering core concepts, guides, and API references
    • Added quickstart guide with end-to-end Vite + React example
    • Updated homepage marketing copy and feature descriptions
  • Bug Fixes

    • Fixed potential null reference in locale prefix matching logic when detecting language fallbacks

Review Change Stack

@changeset-bot

changeset-bot Bot commented May 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ba51e2f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 10 packages
Name Type
@saykit/carbon Major
@saykit/react Major
unplugin-saykit Major
@saykit/transform-jsx Major
babel-plugin-saykit Major
@saykit/transform-js Major
saykit Major
@saykit/format-po Major
@saykit/config Major
website Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented May 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
saykit Ready Ready Preview, Comment May 18, 2026 5:17am

@github-actions github-actions Bot added package: core Related to the core saykit package package: react Related to @saykit/react package: carbon Related to @saykit/carbon package: config Related to @saykit/config and the CLI package: format-po Related to @saykit/format-po package: babel-plugin Related to babel-plugin-saykit package: unplugin Related to unplugin-saykit website Updates to the documentation website package: transform-js Related to @saykit/transform-js package: transform-jsx Related to @saykit/transform-jsx labels May 18, 2026
@coderabbitai

coderabbitai Bot commented May 18, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@k0d13 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 24 minutes and 39 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 61d1717b-113c-498e-8750-8470f3129eee

📥 Commits

Reviewing files that changed from the base of the PR and between 83cadb6 and ba51e2f.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (29)
  • .changeset/five-weeks-obey.md
  • README.md
  • examples/carbon/package.json
  • examples/nextjs/package.json
  • examples/tanstack-start/package.json
  • package.json
  • packages/config/package.json
  • packages/integration-carbon/README.md
  • packages/integration-react/package.json
  • packages/transform-js/README.md
  • packages/transform-jsx/README.md
  • website/app/(home)/page.tsx
  • website/content/core-concepts/architecture.mdx
  • website/content/core-concepts/configuration.mdx
  • website/content/core-concepts/extraction.mdx
  • website/content/core-concepts/formats.mdx
  • website/content/core-concepts/messages.mdx
  • website/content/getting-started/installation.mdx
  • website/content/getting-started/quickstart.mdx
  • website/content/guides/custom-transformer.mdx
  • website/content/guides/dynamic-loading.mdx
  • website/content/integrations/carbon.mdx
  • website/content/integrations/react.mdx
  • website/content/integrations/vite.mdx
  • website/content/reference/api/carbon.mdx
  • website/content/reference/api/config.mdx
  • website/content/reference/api/react.mdx
  • website/content/reference/cli.mdx
  • website/package.json

Walkthrough

This PR adds comprehensive documentation across the SayKit monorepo, including package READMEs, website documentation covering core concepts and guides, complete API references, and integration documentation. A small runtime fix addresses locale prefix matching in the Say#match method.

Changes

Documentation overhaul and runtime fix

Layer / File(s) Summary
Runtime guard against empty locale prefix
packages/integration/src/runtime.ts
Say#match now validates the locale prefix extracted from the input before attempting locale matching, preventing errors when the input lacks a dash character.
Package READMEs and quick-reference guides
packages/config/README.md, packages/format-po/README.md, packages/integration/README.md, packages/integration-carbon/README.md, packages/integration-react/README.md, packages/plugin-babel/README.md, packages/plugin-unplugin/README.md, packages/transform-js/README.md, packages/transform-jsx/README.md
Nine package-level READMEs provide installation, usage examples, and configuration snippets for each core package, formatter, transformer, and integration.
Core concepts and architecture documentation
website/content/core-concepts/*
Foundation documentation describing SayKit's architecture, configuration schema, extraction pipeline, message formats, and runtime API shape, with metadata files for content navigation.
Getting started guides and onboarding
website/content/getting-started/*
User-facing installation, introduction, and a complete Vite + React quickstart covering configuration, extraction, translation, and runtime setup.
Custom implementation guides and advanced patterns
website/content/guides/*
Deep-dive guides for custom formatters, transformers, dynamic loading, locale detection, and typed message imports across various scenarios.
Framework and build-tool integration guides
website/content/integrations/*
Integration documentation for React (server/client patterns), Carbon Discord bots, Babel (Next.js/React Native/Expo), and unplugin-saykit across multiple bundlers.
API reference documentation and CLI guide
website/content/reference/*
Complete API references for core runtime, React, Carbon, and Config packages, plus comprehensive CLI reference documenting extraction, options, and CI workflows.
Root README and homepage marketing updates
README.md, website/app/(home)/page.tsx
Project-level overview with features, development instructions, and updated homepage marketing copy describing the workflow and working examples.

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

website, examples, package: config, package: format-po, package: transform-js, package: transform-jsx, package: babel-plugin, package: unplugin, package: react, package: carbon

Poem

🐇 A warren of words now blooms so bright,
Where READMEs dance and guides take flight,
From API docs to quickstart cheer,
SayKit's wisdom now crystal clear!
One fix ensures the locale won't miss—
Documentation bliss!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title directly and accurately describes the primary changes: creating README files for each package and expanding documentation content.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch readmes-and-docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/integration-carbon/README.md`:
- Around line 16-22: The example usage references the Say type but does not
import it; update the top import line that currently imports Client, Command,
and CommandInteraction from '`@buape/carbon`' (and/or imports from
'`@saykit/carbon`' like SayPlugin/withSay) to also import the Say type (e.g., add
a type import for Say or include Say in the import list) so the PingCommand
constructor signature (constructor(say: Say)) compiles when copy-pasted.

In `@packages/transform-js/README.md`:
- Around line 22-26: The example shows using jsx() but misses its import; update
the README's transformer snippet to include an import for jsx from
"`@saykit/transform-jsx`" alongside the existing js import so the example is
valid—ensure the top of the example imports both js and jsx (referencing the
js() and jsx() symbols) and then use transformer: [js(), jsx()] in the sample.

In `@packages/transform-jsx/README.md`:
- Line 20: The usage example for the configuration object incorrectly ends the
transformer array line with a semicolon; change the line containing
"transformer: [js(), jsx()];" to use a comma instead so the property correctly
terminates within the bucket config object (update the "transformer" property
that references js() and jsx() to end with a comma).

In `@website/content/reference/cli.mdx`:
- Line 101: The phrase "The most common CI check is: extraction has been run,
and translations are up to date with code:" uses "up to date" as an adjectival
modifier—replace "up to date" with the hyphenated form "up-to-date" so it reads
"...translations are up-to-date with code:" to keep adjectival consistency;
update the string in the content where that exact sentence appears.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1239cf57-4fde-472b-81a9-05e2d60339cf

📥 Commits

Reviewing files that changed from the base of the PR and between 31f3bf6 and 83cadb6.

📒 Files selected for processing (41)
  • README.md
  • packages/config/README.md
  • packages/format-po/README.md
  • packages/integration-carbon/README.md
  • packages/integration-react/README.md
  • packages/integration/README.md
  • packages/integration/src/runtime.ts
  • packages/plugin-babel/README.md
  • packages/plugin-unplugin/README.md
  • packages/transform-js/README.md
  • packages/transform-jsx/README.md
  • website/app/(home)/page.tsx
  • website/content/core-concepts/architecture.mdx
  • website/content/core-concepts/configuration.mdx
  • website/content/core-concepts/extraction.mdx
  • website/content/core-concepts/formats.mdx
  • website/content/core-concepts/messages.mdx
  • website/content/core-concepts/meta.json
  • website/content/core-concepts/runtime.mdx
  • website/content/getting-started/installation.mdx
  • website/content/getting-started/introduction.mdx
  • website/content/getting-started/quickstart.mdx
  • website/content/guides/custom-formatter.mdx
  • website/content/guides/custom-transformer.mdx
  • website/content/guides/dynamic-loading.mdx
  • website/content/guides/locale-detection.mdx
  • website/content/guides/meta.json
  • website/content/guides/typed-messages.mdx
  • website/content/integrations/babel.mdx
  • website/content/integrations/carbon.mdx
  • website/content/integrations/meta.json
  • website/content/integrations/react.mdx
  • website/content/integrations/vite.mdx
  • website/content/meta.json
  • website/content/reference/api/carbon.mdx
  • website/content/reference/api/config.mdx
  • website/content/reference/api/meta.json
  • website/content/reference/api/react.mdx
  • website/content/reference/api/saykit.mdx
  • website/content/reference/cli.mdx
  • website/content/reference/meta.json

Comment thread packages/integration-carbon/README.md
Comment thread packages/transform-js/README.md
Comment thread packages/transform-jsx/README.md Outdated
Comment thread website/content/reference/cli.mdx Outdated
@github-actions github-actions Bot added dependencies Updates or changes related to project dependencies examples Updates or additions to example apps labels May 18, 2026
@k0d13
k0d13 merged commit 698b934 into main May 18, 2026
10 checks passed
@k0d13
k0d13 deleted the readmes-and-docs branch May 18, 2026 05:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Updates or changes related to project dependencies examples Updates or additions to example apps package: babel-plugin Related to babel-plugin-saykit package: carbon Related to @saykit/carbon package: config Related to @saykit/config and the CLI package: core Related to the core saykit package package: format-po Related to @saykit/format-po package: react Related to @saykit/react package: transform-js Related to @saykit/transform-js package: transform-jsx Related to @saykit/transform-jsx package: unplugin Related to unplugin-saykit website Updates to the documentation website

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add user facing "marketing" like material

1 participant