Skip to content

docs: retire the docsify site, now built by brazilian-utils/docs - #627

Merged
hyanmandian merged 4 commits into
mainfrom
hyan/remove-docs-site
Oct 9, 2026
Merged

hyanmandian merged 4 commits into
mainfrom
hyan/remove-docs-site

Conversation

@hyanmandian

Copy link
Copy Markdown
Member

Warning

Merge order. Merge only after https://brazilian-utils.com.br is served by the new site on Cloudflare Pages. Until then GitHub Pages still serves the old site, and removing docs/CNAME and the Pages workflow would take it down. After merging, remove the custom domain / disable GitHub Pages in the repository settings (Settings → Pages), and update the repository's "Website" field if needed.

Stacked on #626 (moves the migration guide into docs/guides/): this branch is based on hyan/migration-guide, so until #626 is merged the diff here also shows its commit. Merge #626 first.

What this does

https://brazilian-utils.com.br becomes the documentation of every Brazilian Utils library, built by brazilian-utils/docs and served by Cloudflare Pages; its _redirects maps the old URLs (/utilities → /libs/javascript/, /guides/<slug> → /guides/javascript/<slug>/, /migration-v1-to-v2 → /guides/javascript/migration-v1-to-v2/, the /pt-br equivalents, the old .md URLs to GitHub and /llms-full.txt → /llms.txt). This removes the docsify site of this repository and everything that only built or deployed it.

Removed

  • docsify: docs/index.html, docs/_coverpage.md, docs/_navbar.md, docs/_sidebar.md, docs/pt-br/_coverpage.md, docs/pt-br/_sidebar.md, docs/styles.css, docs/images/ (favicon and logo, used only by the shell)
  • GitHub Pages: docs/CNAME, docs/.nojekyll, docs/robots.txt, and the .gitignore entries of the generated shells, 404.html, sitemap.xml, llms.txt and llms-full.txt (the new site writes its own llms.txt, sitemap.xml and robots.txt)
  • scripts: scripts/site.ts, scripts/llms.ts, scripts/front-matter.ts (used only by those two), and the build:site, build:llms and build:docs npm scripts
  • workflows: .github/workflows/docs.yml (build and deploy to Pages) and its zizmor entry; vercel.json (the Vercel preview of the docs site); the Check workflow's build:llms and build:docs steps
  • the build:llms item of the pull request template, and the docsify / llms entries of context7.json

Kept, because the new site reads it (libs/brazilian-utils-javascript.json → site.usage)

  • docs/utilities.md, docs/pt-br/utilities.md: the reference, mapped by ### symbol heading to the utility pages
  • docs/guides/, docs/pt-br/guides/: the guides, with their front matter and the example / variant / file markup
  • docs/snippets/ (copied as the guides' assets, including live/ for the demos and styles.css)
  • scripts/examples.ts and npm run build:examples: the site's prepare step; the Check workflow now runs it in place of build:docs, so a broken template still fails CI
  • docs/getting-started.md, docs/pt-br/getting-started.md: linked from the reference, the guides, the README and CONTRIBUTING (the site turns those links into GitHub links, and its _redirects sends /getting-started.md there), and they hold the bundle-size table and the AI assistants section that the new site's /libs/javascript/ page does not
  • .github/workflows/preview.yml: it publishes the package to pkg.pr.new, not the docs; context7.yml and context7.json: Context7 still indexes docs/

Changed

  • docs/snippets/styles.css no longer imports the docsify stylesheet; on the new site the page around the demo styles it, and the import already resolved to an empty placeholder there
  • Links: package.json homepage, README, SUPPORT and .bestpractices.json now point to https://brazilian-utils.com.br/libs/javascript/ (and /guides/javascript/migration-v1-to-v2/); the README's "Bundle size" and "AI assistants" go to docs/getting-started.md on GitHub; the llms-full.txt mention in getting started points to the raw utilities.md
  • The pt-br pages and guides/address-form.md used docsify's docs-root-relative links (pt-br/utilities.md); they are now relative to their own file, which the new site resolves the same way and which also works on GitHub
  • CONTRIBUTING: the "Documentation site" section is now "Documentation", describing what the new site reads and how to preview it with USAGE_SOURCE=local
  • .bestpractices.json: no binary files remain; hardened_site now describes Cloudflare Pages (nosniff sent, no CSP/HSTS yet, still Unmet)

The CHANGELOG is not touched (no unreleased section).

Checks run locally

  • vp check (format, lint, types): pass
  • npm run build:examples: pass
  • knip, jscpd: pass
  • vp test run: 274 files, 8520 tests pass
  • actionlint on check.yml: pass
  • commitlint: pass
  • The new site's guide parser (site/src/lib/guides.mjs parseGuide) over this branch's docs/guides and docs/pt-br/guides: no warnings, every include found, sibling-guide links still resolve to /guides/javascript/<slug>/

🤖 Generated with Claude Code

https://claude.ai/code/session_01RaUEDkvXY8rVWTJG2GKfhu

brazilian-utils.com.br is now the documentation of every Brazilian Utils
library, built by the brazilian-utils/docs repository and served by
Cloudflare Pages. It reads docs/utilities.md, docs/guides and their pt-br
translations, docs/snippets and the output of scripts/examples.ts from
this repository, so those stay; what only the docsify site used goes:
its shells, sidebars, cover pages, styles, images, CNAME, robots.txt,
scripts/site.ts, scripts/llms.ts, scripts/front-matter.ts, the
build:site, build:llms and build:docs scripts, the Docs (GitHub Pages)
workflow and the Vercel preview. The new site writes its own llms.txt.

The Check workflow now runs build:examples instead of build:docs, so a
broken example template still fails CI. Links to the old pages point to
the new site (/libs/javascript/, /guides/javascript/<slug>/) or to the
Markdown on GitHub, and the docsify root-relative links of the pt-br
pages are now relative to their file, so they also work on GitHub.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaUEDkvXY8rVWTJG2GKfhu
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 30d4cc2b-f2d9-4476-9e4f-b7021eb4cf14

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Tree-shaking report

✅ No bundle size impact. All 200 exports are the same size as on the base branch (full import 1387.9 KB, gzip 293.3 KB).

All exports (200)
Export Base Head Δ gzip
⚪ GetAddressInfoByCepError 112 B 112 B 0 B 124 B
⚪ GetAddressInfoByCepNotFoundError 205 B 205 B 0 B 145 B
⚪ GetAddressInfoByCepServiceError 204 B 204 B 0 B 143 B
⚪ GetAddressInfoByCepValidationError 203 B 203 B 0 B 144 B
⚪ GetCepInfoByAddressError 112 B 112 B 0 B 124 B
⚪ GetCepInfoByAddressNotFoundError 205 B 205 B 0 B 145 B
⚪ GetCepInfoByAddressValidationError 203 B 203 B 0 B 144 B
⚪ addBusinessDays 9.2 KB 9.2 KB 0 B 3.2 KB
⚪ capitalize 2.5 KB 2.5 KB 0 B 1.3 KB
⚪ convertCurrencyToWords 2.0 KB 2.0 KB 0 B 1.0 KB
⚪ convertDateToWords 2.4 KB 2.4 KB 0 B 1.2 KB
⚪ convertLicensePlateToMercosul 632 B 632 B 0 B 425 B
⚪ convertNumberToWords 1.6 KB 1.6 KB 0 B 817 B
⚪ differenceInBusinessDays 9.1 KB 9.1 KB 0 B 3.2 KB
⚪ formatBoleto 668 B 668 B 0 B 407 B
⚪ formatCEP 489 B 489 B 0 B 348 B
⚪ formatCNPJ 639 B 639 B 0 B 430 B
⚪ formatCPF 540 B 540 B 0 B 376 B
⚪ formatCaepf 506 B 506 B 0 B 358 B
⚪ formatCbo 491 B 491 B 0 B 350 B
⚪ formatCei 503 B 503 B 0 B 356 B
⚪ formatCep 489 B 489 B 0 B 348 B
⚪ formatCertidao 532 B 532 B 0 B 361 B
⚪ formatCest 493 B 493 B 0 B 350 B
⚪ formatCfop 489 B 489 B 0 B 349 B
⚪ formatCid10 478 B 478 B 0 B 339 B
⚪ formatCnae 493 B 493 B 0 B 352 B
⚪ formatCnh 536 B 536 B 0 B 374 B
⚪ formatCno 507 B 507 B 0 B 357 B
⚪ formatCnpj 639 B 639 B 0 B 430 B
⚪ formatCns 506 B 506 B 0 B 352 B
⚪ formatCpf 540 B 540 B 0 B 376 B
⚪ formatCurrency 1023 B 1023 B 0 B 613 B
⚪ formatIban 267 B 267 B 0 B 228 B
⚪ formatIsbn 15.3 KB 15.3 KB 0 B 5.5 KB
⚪ formatLegalNature 489 B 489 B 0 B 349 B
⚪ formatLicensePlate 361 B 361 B 0 B 270 B
⚪ formatNbs 496 B 496 B 0 B 353 B
⚪ formatNcm 494 B 494 B 0 B 352 B
⚪ formatNfeKey 724 B 724 B 0 B 461 B
⚪ formatPassport 187 B 187 B 0 B 174 B
⚪ formatPhone 2.6 KB 2.6 KB 0 B 1.2 KB
⚪ formatPis 540 B 540 B 0 B 377 B
⚪ formatProcessoJuridico 509 B 509 B 0 B 357 B
⚪ formatSuframa 499 B 499 B 0 B 354 B
⚪ formatVoterId 542 B 542 B 0 B 377 B
⚪ generateBoleto 1.4 KB 1.4 KB 0 B 779 B
⚪ generateCNPJ 843 B 843 B 0 B 524 B
⚪ generateCPF 694 B 694 B 0 B 456 B
⚪ generateCep 1.3 KB 1.3 KB 0 B 471 B
⚪ generateCnh 565 B 565 B 0 B 343 B
⚪ generateCnpj 843 B 843 B 0 B 524 B
⚪ generateCpf 694 B 694 B 0 B 456 B
⚪ generateLegalNature 5.0 KB 5.0 KB 0 B 1.6 KB
⚪ generateLicensePlate 308 B 308 B 0 B 243 B
⚪ generatePassport 226 B 226 B 0 B 191 B
⚪ generatePhone 670 B 670 B 0 B 419 B
⚪ generatePis 357 B 357 B 0 B 273 B
⚪ generatePixPayload 5.0 KB 5.0 KB 0 B 2.2 KB
⚪ generateProcessoJuridico 821 B 821 B 0 B 523 B
⚪ generateRenavam 378 B 378 B 0 B 284 B
⚪ generateSuframa 451 B 451 B 0 B 335 B
⚪ generateVoterId 922 B 922 B 0 B 587 B
⚪ getAddressInfoByCep 5.3 KB 5.3 KB 0 B 2.1 KB
⚪ getAreaCodeByMunicipalityCode 23.6 KB 23.6 KB 0 B 5.6 KB
⚪ getAreaCodeInfo 3.1 KB 3.1 KB 0 B 989 B
⚪ getAreaCodesByState 814 B 814 B 0 B 463 B
⚪ getBankByCode 26.6 KB 26.6 KB 0 B 7.9 KB
⚪ getBankByIspb 26.5 KB 26.5 KB 0 B 7.8 KB
⚪ getBanks 26.2 KB 26.2 KB 0 B 7.6 KB
⚪ getBoletoInfo 2.7 KB 2.7 KB 0 B 1.4 KB
⚪ getCbo 80.6 KB 80.6 KB 0 B 24.1 KB
⚪ getCepInfoByAddress 2.2 KB 2.2 KB 0 B 1.1 KB
⚪ getCertidaoInfo 1.0 KB 1.0 KB 0 B 594 B
⚪ getCest 102.3 KB 102.3 KB 0 B 24.1 KB
⚪ getCfop 56.9 KB 56.9 KB 0 B 5.1 KB
⚪ getCid10 721.6 KB 721.6 KB 0 B 113.5 KB
⚪ getCities 64.2 KB 64.2 KB 0 B 26.4 KB
⚪ getClassTrib 50.0 KB 50.0 KB 0 B 9.0 KB
⚪ getCnae 66.8 KB 66.8 KB 0 B 17.7 KB
⚪ getCnpjInfo 964 B 964 B 0 B 542 B
⚪ getCodeByMunicipalityName 76.3 KB 76.3 KB 0 B 29.6 KB
⚪ getCpfInfo 1.1 KB 1.1 KB 0 B 683 B
⚪ getCstIbsCbs 963 B 963 B 0 B 534 B
⚪ getFormatLicensePlate 420 B 420 B 0 B 301 B
⚪ getGtinInfo 821 B 821 B 0 B 559 B
⚪ getHolidays 8.4 KB 8.4 KB 0 B 2.9 KB
⚪ getIbanInfo 752 B 752 B 0 B 492 B
⚪ getIsbnInfo 15.1 KB 15.1 KB 0 B 5.4 KB
⚪ getLegalNature 5.7 KB 5.7 KB 0 B 1.9 KB
⚪ getLegalNatures 5.1 KB 5.1 KB 0 B 1.6 KB
⚪ getLegalNaturesByCategory 5.6 KB 5.6 KB 0 B 1.9 KB
⚪ getMunicipalities 76.3 KB 76.3 KB 0 B 29.5 KB
⚪ getMunicipalitiesByAreaCode 90.4 KB 90.4 KB 0 B 33.0 KB
⚪ getMunicipality 77.2 KB 77.2 KB 0 B 30.1 KB
⚪ getMunicipalityByCode 76.3 KB 76.3 KB 0 B 29.6 KB
⚪ getNbs 51.1 KB 51.1 KB 0 B 11.3 KB
⚪ getNfeKeyInfo 2.2 KB 2.2 KB 0 B 1.2 KB
⚪ getNfseKeyInfo 2.6 KB 2.6 KB 0 B 1.2 KB
⚪ getPixKeyInfo 2.7 KB 2.7 KB 0 B 1.3 KB
⚪ getPixPayloadInfo 5.1 KB 5.1 KB 0 B 2.3 KB
⚪ getProcessoJuridicoInfo 1.1 KB 1.1 KB 0 B 623 B
⚪ getRegions 255 B 255 B 0 B 165 B
⚪ getServiceItem 25.5 KB 25.5 KB 0 B 8.2 KB
⚪ getStateByCep 3.6 KB 3.6 KB 0 B 1.0 KB
⚪ getStateByIbgeCode 2.4 KB 2.4 KB 0 B 700 B
⚪ getStateCapital 955 B 955 B 0 B 638 B
⚪ getStateCodeByName 2.4 KB 2.4 KB 0 B 691 B
⚪ getStateNameByCode 2.2 KB 2.2 KB 0 B 594 B
⚪ getStates 2.2 KB 2.2 KB 0 B 539 B
⚪ getStatesByRegion 2.3 KB 2.3 KB 0 B 602 B
⚪ getTimezoneByState 755 B 755 B 0 B 342 B
⚪ getVoterIdInfo 1.3 KB 1.3 KB 0 B 752 B
⚪ isBusinessDay 8.6 KB 8.6 KB 0 B 3.0 KB
⚪ isHoliday 8.4 KB 8.4 KB 0 B 2.9 KB
⚪ isValidBankAccount 5.1 KB 5.1 KB 0 B 1.9 KB
⚪ isValidBoleto 1.8 KB 1.8 KB 0 B 970 B
⚪ isValidCEP 165 B 165 B 0 B 165 B
⚪ isValidCNPJ 796 B 796 B 0 B 447 B
⚪ isValidCPF 500 B 500 B 0 B 334 B
⚪ isValidCaepf 782 B 782 B 0 B 479 B
⚪ isValidCbo 6.7 KB 6.7 KB 0 B 1.7 KB
⚪ isValidCei 714 B 714 B 0 B 472 B
⚪ isValidCep 165 B 165 B 0 B 165 B
⚪ isValidCertidao 758 B 758 B 0 B 462 B
⚪ isValidCest 3.6 KB 3.6 KB 0 B 856 B
⚪ isValidCfop 2.0 KB 2.0 KB 0 B 700 B
⚪ isValidCid10 6.7 KB 6.7 KB 0 B 2.4 KB
⚪ isValidClassTrib 1.8 KB 1.8 KB 0 B 610 B
⚪ isValidCnae 4.6 KB 4.6 KB 0 B 1.9 KB
⚪ isValidCnh 612 B 612 B 0 B 372 B
⚪ isValidCno 718 B 718 B 0 B 474 B
⚪ isValidCnpj 796 B 796 B 0 B 447 B
⚪ isValidCns 746 B 746 B 0 B 475 B
⚪ isValidCpf 500 B 500 B 0 B 334 B
⚪ isValidCreditCard 555 B 555 B 0 B 389 B
⚪ isValidCsosn 330 B 330 B 0 B 262 B
⚪ isValidCst 978 B 978 B 0 B 549 B
⚪ isValidCstIbsCbs 890 B 890 B 0 B 504 B
⚪ isValidEmail 244 B 244 B 0 B 198 B
⚪ isValidGtin 432 B 432 B 0 B 315 B
⚪ isValidIE 5.2 KB 5.2 KB 0 B 1.8 KB
⚪ isValidIban 531 B 531 B 0 B 376 B
⚪ isValidIe 5.2 KB 5.2 KB 0 B 1.8 KB
⚪ isValidIsbn 422 B 422 B 0 B 328 B
⚪ isValidLandlinePhone 890 B 890 B 0 B 561 B
⚪ isValidLegalNature 918 B 918 B 0 B 554 B
⚪ isValidLicensePlate 372 B 372 B 0 B 280 B
⚪ isValidMobilePhone 923 B 923 B 0 B 590 B
⚪ isValidNbs 3.5 KB 3.5 KB 0 B 1.3 KB
⚪ isValidNcm 29.6 KB 29.6 KB 0 B 9.0 KB
⚪ isValidNfeKey 1.6 KB 1.6 KB 0 B 956 B
⚪ isValidNfseKey 2.2 KB 2.2 KB 0 B 1.1 KB
⚪ isValidPIS 418 B 418 B 0 B 315 B
⚪ isValidPassport 197 B 197 B 0 B 186 B
⚪ isValidPhone 1.9 KB 1.9 KB 0 B 963 B
⚪ isValidPis 418 B 418 B 0 B 315 B
⚪ isValidPixKey 2.5 KB 2.5 KB 0 B 1.2 KB
⚪ isValidPixPayload 4.7 KB 4.7 KB 0 B 2.1 KB
⚪ isValidProcessoJuridico 711 B 711 B 0 B 432 B
⚪ isValidRegistroProfissional 1.3 KB 1.3 KB 0 B 787 B
⚪ isValidRenavam 518 B 518 B 0 B 358 B
⚪ isValidServiceItem 1.1 KB 1.1 KB 0 B 570 B
⚪ isValidServicePhone 1.0 KB 1.0 KB 0 B 573 B
⚪ isValidSuframa 611 B 611 B 0 B 418 B
⚪ isValidVin 898 B 898 B 0 B 600 B
⚪ isValidVoterId 728 B 728 B 0 B 433 B
⚪ parseBoleto 247 B 247 B 0 B 215 B
⚪ parseCaepf 199 B 199 B 0 B 183 B
⚪ parseCbo 198 B 198 B 0 B 182 B
⚪ parseCei 199 B 199 B 0 B 183 B
⚪ parseCep 198 B 198 B 0 B 182 B
⚪ parseCertidao 199 B 199 B 0 B 183 B
⚪ parseCest 198 B 198 B 0 B 182 B
⚪ parseCfop 198 B 198 B 0 B 182 B
⚪ parseCid10 177 B 177 B 0 B 170 B
⚪ parseCnae 198 B 198 B 0 B 182 B
⚪ parseCnh 199 B 199 B 0 B 183 B
⚪ parseCno 199 B 199 B 0 B 183 B
⚪ parseCnpj 298 B 298 B 0 B 240 B
⚪ parseCns 199 B 199 B 0 B 184 B
⚪ parseCpf 199 B 199 B 0 B 183 B
⚪ parseCurrency 610 B 610 B 0 B 409 B
⚪ parseIban 227 B 227 B 0 B 202 B
⚪ parseIsbn 150 B 150 B 0 B 150 B
⚪ parseLegalNature 198 B 198 B 0 B 182 B
⚪ parseLicensePlate 177 B 177 B 0 B 169 B
⚪ parseNbs 198 B 198 B 0 B 181 B
⚪ parseNcm 198 B 198 B 0 B 182 B
⚪ parseNfeKey 412 B 412 B 0 B 312 B
⚪ parseNfseKey 253 B 253 B 0 B 219 B
⚪ parsePassport 177 B 177 B 0 B 169 B
⚪ parsePhone 497 B 497 B 0 B 341 B
⚪ parsePis 199 B 199 B 0 B 183 B
⚪ parseProcessoJuridico 199 B 199 B 0 B 182 B
⚪ parseSuframa 198 B 198 B 0 B 181 B
⚪ parseVoterId 199 B 199 B 0 B 183 B
⚪ removeAccents 99 B 99 B 0 B 119 B
⚪ subBusinessDays 9.3 KB 9.3 KB 0 B 3.3 KB
⚪ toStandardSchema 324 B 324 B 0 B 254 B
How this is measured

Every export is imported alone into an esbuild consumer bundle (minified, tree-shaken) built from the head and from the base of this pull request; the sizes are the resulting bundles, gzip is their gzipped size. 🔴 marks a regression: a pre-existing export that grew more than 20% and more than 256 B, or the bundle importing every pre-existing export growing more than 5%. 🟡 is growth under the threshold, 🟢 a decrease, ⚪ no change, 🆕 an export that does not exist on the base (never a regression), 🗑️ an export that was removed. An intentional increase is accepted with the tree-shaking: accepted label.

@pkg-pr-new

pkg-pr-new Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@brazilian-utils/brazilian-utils@627

commit: e9b123d

@codecov

codecov Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (bc2816b) to head (e9b123d).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #627   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          263       263           
  Lines         2656      2656           
  Branches       754       754           
=========================================
  Hits          2656      2656           
Flag Coverage Δ
node 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…e new docs site

README.pt-br.md mirrors README.md and each links to the other. The doctoc table of contents is
gone, and the usage section links to the guides and the migration guide on brazilian-utils.com.br.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaUEDkvXY8rVWTJG2GKfhu
@hyanmandian
hyanmandian merged commit 0f0f9a1 into main Oct 9, 2026
28 checks passed
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.

1 participant