a65e05b661
The man-page-style comment header above each function in functions/*.fish becomes the SSOT for that function's documentation. Writing a new function and documenting it are now the same act. - manualtools.parse_functions() parses every header carrying a # CATEGORY; absence of one is the opt-in, keeping bundled-plugin and prompt internals out of the manual with no exclusion list to maintain. - build-manual.py generates entries for both --concat and --site, with **Dependencies:** rendered as links and a **Used by:** reverse index computed in one pass. Cross-category links are the navigation win. - docs/manual/05-functions/*.md reduced to frontmatter-only stubs. Every intro measured zero words, so the category files were pure entry containers; ordering, titles, and helpKeywords routing are untouched. - _first_sentence() unwraps the leading hard-wrapped paragraph and skips the whole Synopsis block, not just its label line. Site cards no longer truncate mid-clause or show a synopsis as their description. Verification, per the design spec: - test_concat_roundtrips_original scoped to sections 0-4 and 6-11. It guarded a format migration; this is a content migration. - replaced by structural checks: one entry per categorised function, the required sections present, every category resolving to a stub with no stub empty, and every declared dependency resolving to a real function or a type -q-guarded binary. - public functions lacking # CATEGORY warn rather than fail, so a new user-facing function going undocumented stays visible in CI. 24/24 checks pass. 94 entries generated from 94 parsed headers. Also drops a stale claim from open-url's NOTES: config-help --html calls xdg-open directly and has never called open-url.
45 lines
1.2 KiB
Fish
45 lines
1.2 KiB
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# CATEGORY
|
|
# 12-ai-and-developer-tools
|
|
#
|
|
# DEPENDENCIES
|
|
# agents-init
|
|
#
|
|
# SYNOPSIS
|
|
# agy [ARGS...]
|
|
#
|
|
# DESCRIPTION
|
|
# Wrapper for the agy Antigravity AI CLI that ensures the AGENTS/
|
|
# sub-repository is initialized and any agent-made changes are committed
|
|
# before launch. Delegates all scaffold and commit logic to agents-init
|
|
# --quiet (full setup), which ensures AGENTS/ is scaffolded and CLAUDE.md
|
|
# is symlinked to AGENTS/AGENTS.md in the current project. All arguments
|
|
# are forwarded verbatim to the real agy binary.
|
|
#
|
|
# Opinionated component (C1): when disabled via __fish_config_op_aliases
|
|
# (or the __fish_config_opinionated master), the command is passed through
|
|
# to the real agy binary unchanged.
|
|
#
|
|
# ARGUMENTS
|
|
# ARGS Any arguments forwarded verbatim to the underlying agy binary
|
|
#
|
|
# RETURNS
|
|
# Exit status of the underlying agy binary
|
|
#
|
|
# EXAMPLE
|
|
# agy
|
|
# agy chat
|
|
# agy resume
|
|
function agy --wraps=agy --description 'agy wrapper: auto-initializes AGENTS/ sub-repo before launch'
|
|
if not __fish_config_op_enabled __fish_config_op_aliases
|
|
command agy $argv
|
|
return $status
|
|
end
|
|
|
|
agents-init --quiet
|
|
|
|
command agy $argv
|
|
end
|