v0.1.0
·
0 commits
to 2047eea27a4c5abc33499a8df2bb20b4bd249921
since this release
Highlights
- OpenAPI endpoint pages, Mintlify-grade. Split layout (docs left, sticky playground panel right), language-tabbed code samples (cURL, TypeScript, Python, Go) with auto-generated content plus
x-codeSamples/<RequestExample>overrides, tabbed responses by status code, sectioned Path/Query/Header/Cookie params, method-color sidebar pills, andx-hidden/x-excludedsupport. TANGLY_OPENAPI_URLenv override plus.env.local/.envloading indev,build, andpreview. Point docs at a dev or staging spec without editingdocs.json; unset = prod fallback. Loaded files are logged on startup.- Per-page Copy / View Markdown menu in every page header. LLM-friendly raw output is also emitted as a sibling
.mdat build time, alongsidellms.txtandllms-full.txt. - SEO + social out of the box from a new
siteUrlfield: canonical,og:url,og:image, fulltwitter:*set, sitemap, robots, redirects, security headers. - Schema additions:
api.codeSamples.{languages,autogenerate,prefill,defaults},api.params.{expanded,post},api.url: "full",api.playground.credentials,siteUrl. Mintlify aliases (api.examples.*) normalize at parse time so existing projects keep working. - Repo hygiene: local CI gate via
.githooks(bun run checkpre-commit,bun run cipre-push), unified Cloudflare Workers deploy, knip for dead-code / dep scans, vitest coverage with a public badge.
Changes
Features
- feat(cli): load .env.local + .env in dev/build/preview (
c83c3f5) - feat(openapi): TANGLY_OPENAPI_URL env override (
3b584c1) - feat(runtime): auto mode=api + thread responseFallback to OpenApiEndpoint (
b5473cb) - feat(theme-ui): mode=api PageShell + sidebar method pills (
4c2ff5d) - feat(theme-ui): split OpenApiEndpoint into openapi/* cluster with right-rail panel (
9e63914) - feat(manifest): parse x-codeSamples, x-hidden, x-excluded; thread methodColor (
c20af78) - feat(schema): codeSamples/params/url/credentials with mintlify aliases (
d6ac2af) - feat(website): SEO + a11y + security audit fixes (
33cb953) - feat(theme-ui): emit canonical, og:url, og:image, twitter:* from siteUrl (
9687e86) - feat(schema): add siteUrl field to docs.json (
63924a4) - feat(release): docs/changelog.mdx as GH release notes source (
7374e7c) - feat(website): add Fast dev server row to features section (
b35049e) - feat(theme-ui): per-page Copy/View Markdown menu (
2717810) - feat(plugin): synthesize sitemap/robots/llms.txt in dev (
5825be4)
Fixes
- fix(cli): stage adjacent to deepest node_modules in workspace mode (
8ffdce6) - fix(website): add missing brand icon assets (
35be6fb) - fix(theme-ui): satisfy listbox/option ARIA contract in SearchModal (
dca8937) - fix(runtime): exclude node_modules + build dirs from content collection (
d95c9ee) - fix(plugin): MDX shims skip code spans + fences (
78cadcf) - fix(theme-ui): keep sticky sidebar pinned at page bottom (
9220a6f) - fix(theme-ui): style Mermaid with Tangly tokens, drop dark code-block bg (
cb06d17) - fix(manifest): strip /index suffix from page slugs (
6954a65) - fix(theme-ui): render empty FileTree directories as leaves (
dca312a) - fix(ci): align coverage gist filename to coverage.json (
010048d)
Refactor
- refactor(skills): rename tanglify to tangly (
fb271bd)
Docs
- docs(openapi): RequestExample, codeSamples, x-extensions (
81ce02d) - docs: drop the cheap mintlify jab from fast-dev-server pitch (
cb38ffe) - docs: demote body H1→H2 across corpus + rewrite broken links (
042c5d5) - docs: lead with fast dev server (Astro+Vite, HMR <250ms) (
657767e) - docs(template+demos): humanize starter scaffold + theme demos (
4d35698) - docs: humanize prose, drop em dashes, sync drift (
5e6fc74) - docs(contextual): document Copy page menu, enable on tangly.dev (
7768c3e) - docs(components): document mermaid + complete components hub (
34948a2) - docs(intro): sync 'What you get' with README features, no em dashes (
c7d9ffa) - docs(navbar): keep only the GitHub anchor (with icon), drop duplicates (
066a50d) - docs(deploying): nest FileTree, drop redundant H1 + self-loop redirect (
2929f2a) - docs(readme): wire coverage badge to gist nc9/e57cc6d6 (
a496574) - docs(readme): add npm, build, coverage, downloads, license badges (
c6a6c19)
Build
- build(repo): make link/link-pkgs/link-consumer for cross-repo workspace dev (
7b47927) - build(repo): add local CI gate via .githooks (
9d650d1) - build(docs): siteUrl, redirects, security headers, drop-trailing-slash (
01e8643) - build(deploy): unified Cloudflare Workers deploy via GH Actions (
8cb3085) - build(website): wire Cloudflare Workers Static Assets deploy (
b4ba0c8) - build(test): add @vitest/coverage-v8 + test:coverage script (
c032b7c)
CI
- ci(repo): weekly knip dep-report cron (
b4db8d4) - ci(coverage): emit coverage JSON and publish to gist on main (
d9ca919) - ci: re-run against tangly@0.0.12 (verify installer-smoke green) (
768acb4)
Chore
- chore(repo): adopt knip for dep / dead-code scans (
317ad98) - chore(repo): add oxfmt config (
0c95963) - chore(repo): gitignore .envrc (
48402aa)
Tests
- test(theme-ui): demo-tang openapi fixture for endpoint pages (
d32de44) - test(manifest): bump cold buildManifest test to 30s timeout (
40f1e8e)
Style
- style(repo): apply oxfmt to 4 drifted files (
8d5905b)