Skip to content

Commit 96a3922

Browse files
authored
release: promote next to main
* docs(zsh-lint): add generated-reference markers (#755) docs(zsh-lint): add generated-reference markers and seed content Re-add the {/* zsh-lint:generated:start/end */} markers to the Zsh Lint ecosystem page so the wiki-docs-sync pipeline from z-shell/zsh-lint has a region to inject into. Seed the region with the current generated Go reference so the first automated sync is a no-op rather than a failure. The marked region is machine-managed — do not hand-edit; it is regenerated from the repo's Go doc comments. Co-authored-by: Salvydas Lukosius <ss-o@users.noreply.github.com> * docs(zsh-lint): sync generated reference (#756) docs(zsh-lint): sync generated reference from zsh-lint * ci(trunk): fix duplicate Trunk Check context blocking PRs (#759) ci(trunk): rename workflow/job to Trunk Code Quality to fix duplicate check context The workflow and job were both named 'Trunk Check', colliding with the check that trunk-io/trunk-action posts (also 'Trunk Check'). Two identically-named check-runs confuse strict branch protection (required context 'Trunk Check'), leaving PRs stuck in BLOCKED even when all checks pass. Renaming to the org-conventional 'Trunk Code Quality' (matching other repos) leaves the action's 'Trunk Check' as the sole required context. Fixes #757. Co-authored-by: Salvydas Lukosius <ss-o@users.noreply.github.com> * docs(packages): drop removed Zsh 5.1.1/5.2.4 from version list The zsh package no longer ships 5.1.1 or 5.2.4 as selectable profiles (z-shell/zsh#14). Remove the two stale 'zi pack' examples so the usage page matches the available manifest profiles. * docs(zsh-lint): move tool documentation into community * docs(zsh-lint): normalize generated reference indentation * ci(workflows): enforce concurrency and permissions rules * ci(workflows): enforce top-level policy blocks --------- Co-authored-by: Salvydas Lukosius <ss-o@users.noreply.github.com>
1 parent 7ca1529 commit 96a3922

14 files changed

Lines changed: 149 additions & 60 deletions

File tree

.github/instructions/agent-docusaurus-writer.instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Invoke the `docusaurus-writer` agent and provide:
3939
Before creating a page, select the root:
4040

4141
- Zi plugin-manager user docs → `docs/`.
42-
- Community content (contributing, handbook, ZUnit) → `community/`.
42+
- Community content (contributing, handbook, tools such as ZUnit and Zsh Lint) → `community/`.
4343
- Third-party ecosystem (annexes, packages, plugins) → `ecosystem/`.
4444
- Admin / tooling / operational / infrastructure → **not the wiki**; these are
4545
runbooks for `z-shell/.github/runbooks/`.

.github/instructions/docs-authoring.instructions.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ applyTo: "{docs,community,ecosystem}/**/*.mdx"
99

1010
Choose the content root before writing. The roots are not interchangeable:
1111

12-
| Content type | Root |
13-
| -------------------------------------------------- | ---------------------------------------------- |
14-
| Zi plugin-manager install / commands / usage | `docs/` |
15-
| Contributing, Zsh handbook, plugin standard, ZUnit | `community/` |
16-
| Maintainer / operational / infrastructure runbooks | **not the wiki**`z-shell/.github/runbooks/` |
17-
| Third-party annexes, packages, plugins | `ecosystem/` |
12+
| Content type | Root |
13+
| --------------------------------------------------------------------------------------- | ---------------------------------------------- |
14+
| Zi plugin-manager install / commands / usage | `docs/` |
15+
| Contributing, Zsh handbook, plugin standard, community tools such as ZUnit and Zsh Lint | `community/` |
16+
| Maintainer / operational / infrastructure runbooks | **not the wiki**`z-shell/.github/runbooks/` |
17+
| Third-party annexes, packages, plugins | `ecosystem/` |
1818

1919
**Prohibition:** Never place maintainer, operational, or infrastructure
2020
documentation anywhere in the wiki (neither `docs/` nor `community/`). It leaks

.github/workflows/codeql.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
#
1212
name: "CodeQL Advanced"
1313

14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: true
17+
1418
on:
1519
push:
1620
branches: ["main", "next"]
@@ -19,6 +23,9 @@ on:
1923
schedule:
2024
- cron: "31 11 * * 4"
2125

26+
permissions:
27+
contents: read
28+
2229
jobs:
2330
analyze:
2431
name: Analyze (${{ matrix.language }})

.github/workflows/crowdin-upload.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ on:
1515
permissions:
1616
contents: read
1717

18+
concurrency:
19+
group: ${{ github.workflow }}-${{ github.ref }}
20+
cancel-in-progress: false
21+
1822
env:
1923
GITHUB_TOKEN: ${{ secrets.ORG_TOKEN }}
2024
CROWDIN_PROJECT: ${{ secrets.CROWDIN_PROJECT }}
@@ -25,9 +29,6 @@ jobs:
2529
runs-on: ubuntu-latest
2630
environment: Crowdin
2731
timeout-minutes: 10
28-
concurrency:
29-
group: ${{ github.workflow }}-${{ github.ref }}
30-
cancel-in-progress: true
3132
steps:
3233
- name: "⤵️ Check out code from GitHub"
3334
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0

.github/workflows/trunk-check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
name: Trunk Check
2+
name: Trunk Code Quality
33
on:
44
push:
55
branches: [main, next]
@@ -21,7 +21,7 @@ concurrency:
2121

2222
jobs:
2323
trunk_check:
24-
name: Trunk Check
24+
name: Trunk Code Quality
2525
runs-on: ubuntu-latest
2626
steps:
2727
- name: Checkout

AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ This project follows the organization-wide [Z-Shell Organization Guidelines](htt
2222
- `docs/``/docs`**Zi plugin manager user documentation only**
2323
(installation, commands, usage guides).
2424
- `community/``/community` — Z-Shell ecosystem community content:
25-
contributing, the Zsh handbook/plugin standard, and ZUnit.
25+
contributing, the Zsh handbook/plugin standard, and community tools such as
26+
ZUnit and Zsh Lint.
2627
- `ecosystem/``/ecosystem` — third-party catalog: annexes, packages, plugins.
2728
- **Maintainer, operational, and infrastructure runbooks do not belong on the
2829
public wiki.** They live in `z-shell/.github/runbooks/`.

community/00_contributing/04_contributing_docs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ The wiki has three independent docs roots:
5959
| Directory | URL Prefix | Purpose |
6060
| --- | --- | --- |
6161
| `docs/` | `/docs` | Core documentation, getting started, guides |
62-
| `community/` | `/community` | Community guides, Zsh plugin standard |
62+
| `community/` | `/community` | Community guides, Zsh plugin standard, tools |
6363
| `ecosystem/` | `/ecosystem` | Annexes, packages, plugins |
6464

6565
## File Naming Conventions
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "🔍 Zsh Lint",
3+
"position": 4,
4+
"link": {
5+
"type": "doc",
6+
"id": "zsh_lint"
7+
}
8+
}

community/04_zsh_lint/index.mdx

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
id: zsh_lint
3+
title: 🔍 Zsh Lint
4+
sidebar_position: 1
5+
description: A Go-based semantic analyzer for Zsh.
6+
keywords:
7+
- zsh-lint
8+
- linter
9+
- zsh
10+
- go
11+
---
12+
13+
{/* @format */}
14+
15+
## A Go-based semantic analyzer for Zsh
16+
17+
`zsh-lint` is a standalone Go semantic analyzer for Zsh. It parses Zsh sources
18+
with a real grammar front end and reports greppable diagnostics from its default
19+
static-analysis rules.
20+
21+
### <i class="fa-brands fa-github"></i> [z-shell/zsh-lint][]
22+
23+
### Installation
24+
25+
```sh
26+
go install github.com/z-shell/zsh-lint/cmd/zsh-lint@latest
27+
```
28+
29+
### Usage
30+
31+
```sh
32+
zsh-lint path/to/file.zsh another.zsh
33+
```
34+
35+
Diagnostics use the `path:line:col: [rule-id] message` format. Parse errors,
36+
warnings, and errors produce a non-zero exit code.
37+
38+
For parser-gap corpus evaluation without static-analysis rules, use the
39+
dedicated survey command:
40+
41+
```sh
42+
zsh-lint-survey path/to/file.zsh another.zsh
43+
```
44+
45+
### Reference
46+
47+
{/* zsh-lint:generated:start */}
48+
49+
50+
51+
#### zsh\-lint
52+
53+
import "github.com/z-shell/zsh-lint/cmd/zsh-lint"
54+
55+
Command zsh\-lint performs static analysis of Zsh shell scripts.
56+
57+
##### Index
58+
59+
60+
61+
#### zsh\-lint\-survey
62+
63+
import "github.com/z-shell/zsh-lint/cmd/zsh-lint-survey"
64+
65+
Command zsh\-lint\-survey runs the parser front end across Zsh files and reports parser gaps without evaluating static\-analysis rules.
66+
67+
##### Index
68+
69+
70+
71+
#### survey
72+
73+
import "github.com/z-shell/zsh-lint/internal/survey"
74+
75+
Package survey runs the parser front end across a set of Zsh files and reports, per file, whether parsing succeeded. It produces greppable \`path:line:col: message\` diagnostics for failures and a one\-line summary.
76+
77+
This is the reboot's parser\-evaluation surface \(issues \#5, \#8\): it reports parser outcomes only and intentionally implements no lint rules yet.
78+
79+
##### Index
80+
81+
- [func Run\(names \[\]string, w io.Writer\) int](#func-run)
82+
83+
84+
85+
##### func Run
86+
87+
func Run(names []string, w io.Writer) int
88+
89+
Run parses each file in names, writing per\-file status and a summary to w.
90+
91+
Each file produces either an "OK \&lt;path\&gt;" line or a "FAIL \&lt;path\&gt;" line followed by a greppable "\&lt;path\&gt;:\&lt;line\&gt;:\&lt;col\&gt;: \&lt;message\&gt;" diagnostic. A final summary line reports the total number of files surveyed, ok, and failed.
92+
93+
It returns a process exit code: 0 if every file parsed, 1 otherwise.
94+
95+
Generated by [gomarkdoc](https://github.com/princjef/gomarkdoc)
96+
97+
{/* zsh-lint:generated:end */}
98+
99+
{/* end-of-file */}
100+
{/* links */}
101+
{/* external */}
102+
103+
[z-shell/zsh-lint]: https://github.com/z-shell/zsh-lint

community/index.mdx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ keywords:
1818
import Link from "@docusaurus/Link";
1919
import useBaseUrl from "@docusaurus/useBaseUrl";
2020

21-
The Z-Shell community is home to contributors, plugin authors, and Zsh enthusiasts. Find guides, a plugin gallery, the ZUnit testing framework, and everything you need to get involved.
21+
The Z-Shell community is home to contributors, plugin authors, and Zsh enthusiasts. Find guides, a plugin gallery, community tools, and everything you need to get involved.
2222

2323
<div style={{textAlign: "center", margin: "1.5rem 0"}}>
2424
<img
@@ -50,6 +50,13 @@ Join the [Z-Shell organization](https://github.com/z-shell), help [translate the
5050
<Link to="/community/zunit" style={{marginTop: "auto"}}>Explore ZUnit →</Link>
5151
</div>
5252

53+
<div style={{border: "1px solid var(--ifm-color-emphasis-300)", borderRadius: "10px", padding: "1rem", display: "flex", flexDirection: "column", gap: "0.5rem"}}>
54+
<img src={useBaseUrl("/img/svg/cards/syntax-highlighting.svg")} alt="" width="56" height="56" style={{borderRadius: "8px"}}/>
55+
<strong>Zsh Lint</strong>
56+
<span style={{fontSize: "0.875rem", color: "var(--ifm-color-emphasis-700)"}}>A standalone semantic analyzer for Zsh scripts with greppable static-analysis diagnostics.</span>
57+
<Link to="/community/zsh_lint" style={{marginTop: "auto"}}>Explore Zsh Lint →</Link>
58+
</div>
59+
5360
<div style={{border: "1px solid var(--ifm-color-emphasis-300)", borderRadius: "10px", padding: "1rem", display: "flex", flexDirection: "column", gap: "0.5rem"}}>
5461
<img src={useBaseUrl("/img/svg/cards/meta-plugins.svg")} alt="" width="56" height="56" style={{borderRadius: "8px"}}/>
5562
<strong>Plugin Gallery</strong>

0 commit comments

Comments
 (0)