docs: sync to Claude Code v2.1.176 (#141)

* docs: sync to Claude Code v2.1.176

Fix the subagent-nesting self-contradiction in 04-subagents and document
additive features shipped in v2.1.172-v2.1.176:

- 04-subagents: subagents can now spawn subagents (up to 5 levels, v2.1.172),
  replacing the stale "no nested spawning" line; footer bumped to 2.1.176
- 07-plugins: /plugin marketplace search bar (v2.1.172)
- 10-cli: new settings.json keys wheelScrollAccelerationEnabled,
  footerLinksRegexes, language (v2.1.174-v2.1.176)
- 09-advanced-features: enforceAvailableModels managed setting (v2.1.175)
- 06-hooks: if-condition tool-argument path matchers (verified against the
  official permissions reference)
- claude_concepts_guide & CATALOG: subagent nesting note + VSCode /usage
  attribution breakdown (v2.1.174)

* fix(10-cli): correct language setting scope and fix link-checker false positive

- check_links.py: skip bare-hostname captures (no dot in host) that URL_RE
  truncates from regex strings in JSON config examples, e.g.
  "https://jira\\.example\\.com/.*" was captured as "https://jira" and
  flagged as a dead link in CI strict mode. Dotted hosts (real URLs) and
  SKIP_DOMAINS single-label hosts are unaffected, so no link coverage is lost.
- 10-cli/README.md: language is Claude's general response/voice-dictation
  language setting (e.g. french/japanese), which v2.1.176 also wired to
  session-title generation — not a session-titles-only key. Updated the
  description and the JSON example value to match the official settings docs.

* chore(idd): exempt docs-sync PRs from traceability Closes #N requirement

Adds .gitissue.yml so 'docs: sync to Claude Code vX' PRs (which aren't tied to
a single tracked issue) are not hard-blocked on a missing Closes #N — they opt
in via a 'Type: docs' body line, matching how chore/refactor PRs work. The
other three traceability checks still run.
This commit is contained in:
Luong NGUYEN
2026-06-15 07:54:49 +02:00
committed by GitHub
parent 733c0882c3
commit ae656f6fb8
9 changed files with 116 additions and 16 deletions
+11
View File
@@ -96,6 +96,17 @@ def main(strict: bool = False) -> int:
# Strip trailing Markdown/punctuation characters the regex may over-capture
# from link syntax like [text](https://url/) or **https://url)**
clean_url = raw_url.rstrip(")>*_`':.,;").split("#")[0]
# Skip bare-hostname partials. URL_RE stops at backslashes, so a
# regex string inside a JSON config example like
# "footerLinksRegexes": ["https://jira\\.example\\.com/.*"] is
# captured as just "https://jira" — a hostname with no dot that is
# not a resolvable URL but a truncated pattern. Real public URLs
# have a dotted host; localhost-style single-label hosts are in
# SKIP_DOMAINS already, so dropping dotless hosts here loses no
# genuine link coverage.
host = clean_url.split("/", 3)[2] if "://" in clean_url else ""
if host and "." not in host.split(":", 1)[0]:
continue
urls.setdefault(clean_url, []).append(str(file_path))
if not urls: