Skip to content

chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in the publication-tooling group #254

chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in the publication-tooling group

chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in the publication-tooling group #254

Workflow file for this run

name: validate
on:
push:
branches: [main]
pull_request:
branches: [main]
merge_group:
permissions:
contents: read
concurrency:
group: validate-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
site:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
with:
bun-version: "1.3.4"
- name: install pinned dependencies
run: bun install --frozen-lockfile
- name: validate field runs
run: bun run check:field-runs
- name: type check and build
run: |
bun run check
bun run build
- name: verify generated publication
run: bun run test:site
- name: check documentation links
uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2
with:
args: >-
--config .github/lychee.toml
--root-dir "$(pwd)/dist"
--no-progress
"README*.md"
"AGENTS.md"
"CLAUDE.md"
"CODE_OF_CONDUCT.md"
"CONTRIBUTING.md"
"SECURITY.md"
".github/**/*.md"
"docs/**/*.md"
"hooks/README.md"
"plugins/README.md"
"plugins/CHANGELOG.md"
"plugins/cc/README.md"
"plugins/lore/README.md"
"examples/README.md"
fail: true
- name: install accessibility browser
run: bunx playwright install --with-deps chromium
- name: scan mobile and desktop accessibility
run: bun run test:a11y
handbook:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
with:
python-version: "3.12"
- name: validate source registry and frontmatter
run: python3 .github/scripts/check_sources.py
- name: validate json and python
run: |
python3 - <<'PY'
import json
import pathlib
import py_compile
import subprocess
tracked = subprocess.check_output(["git", "ls-files"], text=True).splitlines()
for raw in tracked:
path = pathlib.Path(raw)
if path.suffix == ".json":
with path.open(encoding="utf-8") as handle:
json.load(handle)
elif path.suffix == ".py":
py_compile.compile(str(path), doraise=True)
PY
- name: validate shell scripts
shell: bash
run: |
mapfile -t scripts < <(git ls-files '*.sh')
for script in "${scripts[@]}"; do
bash -n "$script"
done
- name: reject private artifacts and misleading prose
shell: bash
run: |
if git ls-files content data handoffs | grep -q .; then
echo "private artifact directories must not contain tracked files"
exit 1
fi
if [[ "$(head -n 1 CLAUDE.md)" != "@AGENTS.md" ]]; then
echo "CLAUDE.md must import the canonical AGENTS.md policy first"
exit 1
fi
expected_root_markdown=$'AGENTS.md\nCLAUDE.md\nCODE_OF_CONDUCT.md\nCONTRIBUTING.md\nREADME.md\nSECURITY.md'
actual_root_markdown="$(git ls-files '*.md' | awk 'index($0, "/") == 0' | sort)"
if [[ "$actual_root_markdown" != "$expected_root_markdown" ]]; then
echo "tracked root markdown must stay limited to the canonical repository surface"
diff -u <(printf '%s\n' "$expected_root_markdown") <(printf '%s\n' "$actual_root_markdown") || true
exit 1
fi
if git grep -n $'\u2014' -- README.md README.*.md AGENTS.md CLAUDE.md CODE_OF_CONDUCT.md CONTRIBUTING.md SECURITY.md '.github/**/*.md' 'docs/**' '.claude-plugin/*.json'; then
echo "em dashes are outside the repository style"
exit 1
fi
if git grep -n -iE 'maintained by someone who uses claude code as their job|where (claude code|codex) wins|no FUD|last-commit' -- '*.md'; then
echo "stale authority or winner framing found"
exit 1
fi
if git grep -n -iE '\bnot (only|just|merely|simply|uncommon|insignificant|impossible|bad|wrong|unreasonable|unlikely|automatically|enough)\b|\bno (small|minor|mean|little)\b' -- '*.md' ':(exclude)plugins/**/CHANGELOG.md'; then
echo "litotes or negative comparison framing found"
exit 1
fi
markdown:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: lint markdown
uses: DavidAnson/markdownlint-cli2-action@6bf21b07787794f89a243495939cd651942aeabe # v24.1.0
with:
globs: |
README*.md
AGENTS.md
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
SECURITY.md
.github/**/*.md
docs/**/*.md
hooks/README.md
plugins/README.md
plugins/CHANGELOG.md
plugins/cc/README.md
plugins/lore/README.md
examples/README.md