Conversation
Signed-off-by: Salvydas Lukosius <ss-o@users.noreply.github.com>
- Replace hardcoded ~/.zi paths with ${XDG_DATA_HOME:-$HOME/.local/share}/zi
- Update ZI[HOME_DIR]/ZI[BIN_DIR] defaults in installation and commands guides
- Update ZPFX/polaris references across plugin standard, customization,
bin-gem-node annex, syntax guide, and zi_console docs
- Replace deprecated git.io short URLs with zshell.dev equivalents
Introduces community/04_zunit/ with eight pages covering installation, test syntax, assertions, running tests, configuration, and CI integration.
Co-authored-by: ss-o <ss-o@users.noreply.github.com>
…ing section (#728) * feat(docs): add z-shell syntax highlighting * docs(community): restructure contributing section with SVG illustrations - Create community/00_contributing/ as first-priority section - index.mdx: overview with banner SVG + card grid layout - 01_getting_started.mdx: org-wide fork/branch/commit/PR guide - 02_contributing_to_zi.mdx: zi-specific contributing guide - 03_zsh_plugin_standard.mdx: moved from community root (slug preserved) - 04_contributing_docs.mdx: wiki MDX authoring and Crowdin guide - 05_project_management.mdx: absorbs project tracker + labels content - Add six SVG illustrations to static/img/svg/community/: - contributing-banner.svg: wide workflow diagram (fork→code→PR→merge) - contributing-getting-started.svg: git branch tree (120×120) - contributing-zi.svg: gear with zi logo (120×120) - contributing-plugin-standard.svg: plug/socket icon (120×120) - contributing-docs.svg: document with pen (120×120) - contributing-project-management.svg: kanban board (120×120) - Renumber community top-level: - 02_zsh_plugin_standard.mdx removed (moved into 00_contributing/) - 03_zsh_native_scripting_handbook.mdx → 02_ - 04_zunit/ → 03_zunit/ (update _category_.json position + doc link) - Fix ZUnit broken links in index.mdx, 01_installation.mdx, 04_running-tests.mdx by adding .mdx extension (forces correct file-based resolution) - Update community/index.mdx with contributing CTA section Closes: docs/project-tracker-and-labels branch (content absorbed) * feat(highlight): unified zsh/zi/zunit prism grammar with token colors - Expand zsh grammar: adds zsh-builtin (30+ builtins), zsh-expansion-flag, zsh-special-parameter, zsh-glob-qualifier alongside existing zi/zunit tokens - Simplify prism-include-languages.ts to swizzle delegation pattern - Add comprehensive CSS token palette (9 token types, light + dark themes) - Fix dead link in zsh_startify.mdx (z-shell/zsh-startify repo is gone) - Migrate 44 MDX files from shell to zsh/zi/zunit language fences * fix(docs): remove dead links to non-existent GitHub repositories - ecosystem/plugins/zsh_startify.mdx: remove link to z-shell/zsh-startify (404) and remove FontAwesome icon from heading (FA kit removed from wiki) - community/gallery/collection/06_plugins.mdx: remove hyperlink from zsh-startify heading (repo no longer exists) - community/00_contributing/index.mdx: fix broken CODE_OF_CONDUCT link (z-shell/zi repo has no CODE_OF_CONDUCT.md) — use contributor-covenant.org - community/00_contributing/02_contributing_to_zi.mdx: fix same broken CODE_OF_CONDUCT link; remove link to z-shell/community guidelines (repo 404) * feat(highlight): implement zsh/zi/zunit prism grammar and token CSS - z-shell-languages.ts: rewrite grammar using named capture groups for ESLint prefer-named-capture-group compliance; expand zsh-builtin list to 50+ builtins; rename zsh-keyword → zsh-builtin; add zsh-expansion-flag token; reorganize insertBefore calls for correct priority ordering - prism-include-languages.ts: replace manual additionalLanguages loop with clean swizzle delegation to @theme-original/prism-include-languages - custom.css: add 9-token semantic color palette (light + dark) for zsh-builtin, zsh-expansion-flag, zsh-special-parameter, zsh-glob-qualifier, zi-command keyword, zi-command subcommand function, zi-ice, zunit-command, zunit-directive, zunit-assertion; uses CSS custom properties and nested rules * fix(docs): fix admonition titles and lychee exclusion - Convert space-separated admonition titles to bracket syntax (MDX v3 requirement): :::note Title -> :::note[Title] in 4 files - Add z-shell/zsh-startify to lychee exclude list — repo is archived/removed and is referenced in existing docs on the target (next) branch; Trunk checks both PR and base versions, causing false CI failures * fix(ci): correct build-script for compressed-size-action The action prepends 'pnpm run' to the build-script value, so passing 'pnpm build:en' ran 'pnpm run pnpm build:en' — a non-existent script. Change to the bare script name 'build:en' so the action runs 'pnpm run build:en' correctly. * fix(highlight): correct CSS selector and override inline Prism theme colors prism-react-renderer applies inline style="color:..." to token spans using the Dracula/GitHub theme's alias colors, which beats plain CSS rules. Two fixes: - Selector: token colors were targeting <code> but Docusaurus puts language-* on <pre>; change to pre.language-* selectors. - Override: add !important to all custom token color declarations so they win over the inline styles. Also migrate z-shell/community membership links to z-shell/.github (community repo is private; .github has the same 05_membership.yml template and public issues enabled). * fix(highlight): flatten CSS selectors — Docusaurus pipeline strips CSS nesting Nested rules inside :is() and block selectors were mangled by the build, producing invalid CSS like `.language-zsh,...) .token.zsh-builtin` with the `pre` and `:is(` prefix stripped. Flattened all token color rules to standard descendant selectors which the pipeline processes correctly. * fix(highlight): expand zi/zunit grammar coverage zi-command: add light-mode, self-update, cdreplay, cdlist, status zi-ice: add compile, eval, extract, has, if, nocd, sbin, svn (all appear in ecosystem/docs pages but were tokenized as plain text) zunit-command: broaden pattern from strict lookahead to match bare zunit and any subcommand/flag, using lookbehind for boundary * feat(docs): redesign four landing pages with banner SVGs and card grids Each page now matches the contributing page pattern: - Full-width 720×140 banner SVG illustrating the section topic - :::info/:::tip admonition with key links or quick facts - CSS grid of cards (icon + title + description + arrow link) Pages updated: docs/, ecosystem/, community/, community/zunit/ SVGs created: docs-banner, ecosystem-banner, community-banner, zunit-banner All card links verified against actual built URLs. * fix(highlight): fix zi-command compound selector and zi-ice token priority prism-react-renderer v2 renders `inside` tokens as compound classes on the same span, not nested spans — fix CSS to use .token.zi-command.keyword instead of descendant .token.zi-command .token.keyword. Move zi-ice insertBefore to fire before zsh-builtin so ice modifiers like 'wait' and 'src' are not mis-tokenized as shell builtins in zi blocks. Also redesign docs/ecosystem/community/zunit banner SVGs with distinct color palettes (blue/amber/purple/teal-red) so each section has a unique visual identity. * fix(docs): remove zsh-startify — plugin not under z-shell org Remove ecosystem/plugins/zsh_startify.mdx (was draft: true) and the corresponding gallery entry in 06_plugins.mdx. The plugin is hosted under a third-party org that we do not reference in Z-Shell docs. --------- Co-authored-by: ss-o <ss-o@users.noreply.github.com>
Re-pinned every action (workflows + .trunk/setup-ci) to verified release SHAs; fixes Trunk Check + CodeQL failing at job setup. Closes #738.
…oundaries (#736) Reconciles the divergent docs/maintainers vs community/maintainers duplicate (kept canonical SB_SECRET_KEY copy), moves it to community/10_maintainers/, and hardens AGENTS.md + authoring instructions so docs/ stays Zi-user-docs-only.
# Conflicts: # AGENTS.md # community/00_contributing/02_contributing_to_zi.mdx # community/03_zunit/01_installation.mdx # community/03_zunit/06_ci.mdx
…nfig - query.mjs: parse response as text first; surface HTTP status + body on non-JSON errors instead of crashing - index.ts: wrap the Edge Function handler in try/catch returning internal_error - migration: schema-qualify vector distance as OPERATOR(extensions.<=>) so match_public_docs works under 'set search_path = ''' - add supabase/config.toml (local CLI config) and supabase/.gitignore
- functions/[[path]].ts: implement Range + If-None-Match handling (206/304) so the advertised preflight headers are actually supported; add Accept-Ranges - prism: use plain capturing groups instead of named groups for Prism lookbehind (older-browser regex compatibility) - embed-docs: skip re-embedding sources whose content_hash is unchanged, and batch embeddings into one request per document instead of one per chunk
The Supabase Knowledge Search maintainer guide is operational documentation (secret names, infra topology, ops CLIs) and does not belong on the public wiki. Relocated to z-shell/.github/runbooks/supabase-knowledge-search.md. Updates the content-root boundaries: community/ holds community content only; maintainer / operational runbooks live in z-shell/.github/runbooks/. Refs ADR 0006.
The lockfile auto-merge left a dangling ws@8.20.0 reference (main bumped ws to 8.20.1), breaking 'pnpm i --frozen-lockfile' in CI. Re-resolved the lockfile.
…sponses Addresses CodeQL 'information exposure through a stack trace': log error details server-side and return only a generic error code to the client.
Reverts the plain-capture-group change: the repo's eslint config enforces prefer-named-capture-group, and Prism's lookbehind:true requires a capturing (not non-capturing) group, so named groups are the only option that satisfies both. Named capture groups are ES2018 and supported across the project's browserslist targets.
Wrangler 4 dropped Node 20 support, which broke the Deploy Wiki and r2-sync workflows. Bump setup-node to 22 across the wrangler and CI workflows.
The Supabase-backed semantic search had no live frontend consumer (site search is Algolia DocSearch; SearchBar.tsx only tweaks aria attributes), and its indexer workflow was failing on main. Remove the supabase/ project, scripts/knowledge-search/, the indexer workflow, the openai and postgres dependencies, and the stale AGENTS.md reference.
Follow-up to the wrangler@4 Node bump: the Trunk Check composite action still installed deps under Node 20, mismatching engines.node >=22. Bump it and update the AGENTS.md prerequisite.
ci: fix Node 22 deploy + remove Supabase knowledge-search
…751) fix(wiki): correct intro metrics image branch and homepage star count width The intro page Summary images pointed at z-shell/.github @main, but the metrics SVGs are published to the 'metrics' branch (404 on main → broken images). The homepage star iframe was 130px wide, clipping the count bubble on the large button. Point the URLs at the metrics branch and widen the star iframe to 170px (matching the follow button). Co-authored-by: Salvydas Lukosius <ss-o@users.noreply.github.com>
ESLint 10 is the current stable major and lint passes on it. eslint-plugin-jsx-a11y@6.10.2 still declares a peer cap of <=9, producing an install-time unmet-peer warning. Add a scoped pnpm peerDependencyRules allowance so the warning is silenced without downgrading off current stable. (@docusaurus/eslint-plugin already declares >=6, so no rule needed there.)
build(deps): allow ESLint 10 for jsx-a11y peer (silence install warning)
docs(ecosystem): rewrite zsh-lint page for Go reboot + add sync markers Co-authored-by: Salvydas Lukosius <ss-o@users.noreply.github.com>
Deploying zsh with
|
| Latest commit: |
ea4f766
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://ad6b7a92.zsh.pages.dev |
| Branch Preview URL: | https://next.zsh.pages.dev |
Contributor
There was a problem hiding this comment.
Pull request overview
Despite the description claiming only three .github/codebase/*.md files are removed, this PR is a broader maintenance and infrastructure pass: it deletes all seven .github/codebase/ knowledge documents, introduces a Cloudflare Pages catch‑all Function backed by R2, bumps the Node toolchain to 22, pins GitHub Actions by SHA, migrates legacy zdharma / zi-src links to z-shell/src, refreshes agent/instruction docs to encode content‑root boundaries, and adds a new zsh_lint ecosystem page.
Changes:
- Add
functions/[[path]].ts+functions/tsconfig.jsonthat serve R2 objects when Pages returns 404, with CORS, conditional GET, and Range support; addpnpm-workspace.yamlpeer override for ESLint 10 and a.gitignoreentry for wrangler‑generated types. - Standardize tooling: Node
>=22inpackage.json, all workflows and.trunk/setup-ciupdated to Node 22, GitHub Actions pinned by SHA with version comments, simpler workflow names. - Documentation updates: rewrite content‑root scope in
AGENTS.mdand instruction files, migrate manygithub.com/zdharma/zi-src/zunit-zshlinks toz-shell/srcandz-shell/zunit, fix metrics image paths indocs/index.mdx, addecosystem/plugins/zsh_lint.mdx, and delete all.github/codebase/*.mdartifacts.
Reviewed changes
Copilot reviewed 31 out of 32 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| functions/[[path]].ts | New Pages Function: R2 fallback for 404s with CORS/conditional/Range handling. |
| functions/tsconfig.json | Strict TS config scoped to functions/. |
| package.json | Bumps Node engine to >=22. |
| pnpm-workspace.yaml | Allows ESLint 10 as peer for eslint-plugin-jsx-a11y. |
| .gitignore | Ignores functions/worker-env.d.ts. |
| .trunk/setup-ci/action.yml | Pins setup-node by SHA and bumps Node to 22. |
| .github/workflows/{trunk-check,r2-sync,pages-deployment,crowdin-upload,crowdin-download,codeql,ci-perf}.yml | SHA‑pins actions, renames workflow titles, bumps CI Node to 22. |
| AGENTS.md | Adds org‑guidelines link, content‑root scope rules, and an "Adding New Content" section. |
| .github/instructions/{docs-authoring,agent-docusaurus-writer}.instructions.md | Encodes content‑root selection table and prohibition on wiki ops docs. |
| docs/index.mdx | Fixes .github metrics SVG URLs to the metrics branch path. |
| docs/getting_started/01_installation.mdx | Replaces zdharma/zunit with z-shell/zunit. |
| community/00_contributing/02_contributing_to_zi.mdx | Renames installer repo from zi-src to src. |
| community/03_zunit/{01_installation,06_ci}.mdx | Repoints zdharma revolver/color URLs at pinned z-shell/src snippets. |
| community/gallery/collection/03_programs.mdx | Migrates zdharma/revolver and zdharma/zunit references to z-shell/*. |
| ecosystem/annexes/2_meta_plugins.mdx | Updates [color]/[revolver]/[zunit] link refs to z-shell coordinates. |
| ecosystem/plugins/zsh_lint.mdx | New plugin page with placeholder block for a wiki-docs-sync workflow that is not in this repo. |
| src/components/HomeBanner/index.tsx | Widens the GitHub Stars iframe from 130 to 170. |
| .github/codebase/{STACK,STRUCTURE,ARCHITECTURE,CONVENTIONS,INTEGRATIONS,TESTING,CONCERNS}.md | Removes generated codebase knowledge documents. |
# Conflicts: # ecosystem/plugins/zsh_lint.mdx
Contributor
|
Size Change: -5.69 kB (-0.09%) Total Size: 6.59 MB 📦 View Changed
ℹ️ View Unchanged
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Promotes the current
nextbranch tomainafter the wiki maintenance, CI, and documentation updates accumulated there..github/codebase/knowledge files now covered by centralized agent instructions.zdharma/zi-srclinks to currentz-shell/*repositories.zsh-lintecosystem page without publishing the deferred generated-reference placeholder.wrangler:typecheckand includes it inproject-healthso the Pages Function is typechecked.Verification
pnpm wrangler:typecheckpnpm build:engit diff --check origin/main...HEADpnpm lintattempted locally; Trunk fails in this submodule checkout because it runs from/tmpand loses the gitdir link to.git/modules/wiki. Trunk also reports thatlychee-v0.23.0has no matching download for the current ARM OS/CPU. CI Trunk is the authoritative lint result for this PR.Tracker Alignment
ZSH-10is already Done for Supabase removal and CI recovery.ZSH-15remains In Progress for the deferred zsh-lint code-to-wiki docs sync producer workflow and token provisioning. This PR intentionally publishes the static Go reboot page without claiming the sync pipeline is live.ZSH-14remains In Progress inz-shell/zsh-lintfor the parser-survey CLI/reusable workflow work.Agent Handoff
Status: Ready once GitHub checks pass.
Current state: Merge conflict with
mainwas resolved onnext; PR review comments have corresponding code/docs changes in the pushed branch.Blockers: GitHub checks are still running on the latest
nextSHA.Next steps: Wait for CI, then merge this PR if checks pass.