agent-wiki-cli 1.2.0__tar.gz → 1.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_wiki_cli-1.2.0/src/agent_wiki_cli.egg-info → agent_wiki_cli-1.3.1}/PKG-INFO +79 -13
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/README.md +77 -12
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/pyproject.toml +4 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1/src/agent_wiki_cli.egg-info}/PKG-INFO +79 -13
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/agent_wiki_cli.egg-info/SOURCES.txt +12 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/agent_wiki_cli.egg-info/requires.txt +1 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/api.py +2 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/cli.py +144 -6
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/bootstrap_cmd.py +531 -57
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/extract_cmd.py +32 -3
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/commands/init_cmd.py +162 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/migrate_cmd.py +10 -6
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/review_cmd.py +6 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/skills_cmd.py +19 -2
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/status_cmd.py +26 -2
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/sync_cmd.py +1094 -76
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/uninstall_cmd.py +60 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/upgrade_cmd.py +79 -6
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/config.py +52 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/__init__.py +9 -0
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/extractors/fastapi_contracts.py +495 -0
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/extractors/python_contracts.py +798 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/python_extractor.py +135 -97
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/services/api_contracts.py +2110 -0
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/services/contracts.py +71 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/inventory_cache.py +3 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/mcp_server.py +2 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/obsidian.py +1 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/paths.py +30 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/schema.py +89 -172
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/site_export.py +1 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/skills.py +91 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/team.py +101 -13
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/wiki_surface.py +9 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/wiki-bootstrap/SKILL.md +5 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/wiki-bootstrap/reference.md +4 -3
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/skills/wiki-reference/SKILL.md +25 -0
- agent_wiki_cli-1.3.1/src/llm_wiki_cli/skills/wiki-reference/reference.md +169 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/wiki-sync/SKILL.md +16 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/wiki-sync/reference.md +9 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_api.py +24 -0
- agent_wiki_cli-1.3.1/tests/test_api_contracts.py +755 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_bootstrap.py +198 -0
- agent_wiki_cli-1.3.1/tests/test_bootstrap_api_contracts.py +271 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_cli.py +99 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_config.py +81 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_extract.py +320 -2
- agent_wiki_cli-1.3.1/tests/test_extract_api_contracts.py +241 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_extractor_inventory_contracts.py +34 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_init.py +132 -1
- agent_wiki_cli-1.3.1/tests/test_install.py +170 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_mcp.py +33 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_migrate.py +10 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_navigation_layouts.py +1 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_obsidian.py +13 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_package_metadata.py +1 -1
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_phase4_quality.py +1 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_schema.py +36 -50
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_site_export.py +20 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_source_snapshot.py +16 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_status.py +51 -1
- agent_wiki_cli-1.3.1/tests/test_surface_initialization.py +625 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_sync.py +47 -0
- agent_wiki_cli-1.3.1/tests/test_sync_api_contracts.py +411 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_uninstall.py +40 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_upgrade.py +169 -2
- agent_wiki_cli-1.3.1/tests/test_wiki_reference_skill.py +171 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_wiki_surface.py +12 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_wiki_surface_index.py +4 -3
- agent_wiki_cli-1.2.0/src/llm_wiki_cli/commands/init_cmd.py +0 -97
- agent_wiki_cli-1.2.0/src/llm_wiki_cli/services/contracts.py +0 -33
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/LICENSE +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/MANIFEST.in +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/examples/plugins/m4-documentation-hooks/detectors.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/examples/plugins/m4-documentation-hooks/llm-wiki-plugin.json +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/examples/plugins/m4-documentation-hooks/styles.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/setup.cfg +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/agent_wiki_cli.egg-info/dependency_links.txt +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/agent_wiki_cli.egg-info/entry_points.txt +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/agent_wiki_cli.egg-info/top_level.txt +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/__init__.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/__init__.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/bump_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/ci_check_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/context_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/generate_prompt_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/hook_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/install_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/lint_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/mcp_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/metrics_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/obsidian_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/plugins_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/prepare_extractors_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/release_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/site_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/team_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/commands/trigger_cmd.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/examples/plugins/m4-documentation-hooks/detectors.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/examples/plugins/m4-documentation-hooks/llm-wiki-plugin.json +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/examples/plugins/m4-documentation-hooks/styles.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/common.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/go_extractor.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/go_scripts/go.mod +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/go_scripts/main.go +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/haskell_extractor.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/haskell_scripts/Inventory.hs +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/haskell_scripts/Json.hs +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/haskell_scripts/Main.hs +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/haskell_scripts/Parser.hs +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/haskell_scripts/Paths.hs +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/rust_extractor.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.lock +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.toml +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/rust_scripts/src/main.rs +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/ts_extractor.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/ts_scripts/extract.js +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/extractors/ts_scripts/package.json +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/__init__.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/circuit_breaker.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/data_flow.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/dependencies.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/diagrams.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/documentation_queries.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/entrypoints.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/extractor_helpers.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/imports.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/infrastructure_inventory.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/io.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/lockfile.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/metrics.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/module_maps.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/packages.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/plugin_samples.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/plugins.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/relationships.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/secure_file.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/site_html_check.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/source_snapshot.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/versioning.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/wiki_media.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/services/wiki_surface_index.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/attack-surface/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/attack-surface/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/dep-audit/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/dep-audit/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/dep-vuln-triage/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/dep-vuln-triage/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/doc-hub/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/doc-hub/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/doc-review/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/doc-review/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/impact-analysis/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/impact-analysis/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/infra-review/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/infra-review/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/onboarding-guide/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/onboarding-guide/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/publish-docs/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/publish-docs/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/usage-examples/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/usage-examples/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/user-docs-author/SKILL.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/src/llm_wiki_cli/skills/user-docs-author/reference.md +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_bump.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_ci_check.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_circuit_breaker.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_context.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_data_flow.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_dependencies.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_dependencies_external.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_diagrams.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_docker_bootstrap.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_docker_extract.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_docker_lint.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_documentation_queries.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_e2e.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_entrypoints.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_extractor_helpers.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_generate_prompt.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_go_extract.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_haskell_extract.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_hook.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_imports.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_infrastructure_inventory.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_inventory_cache.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_io.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_lint.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_lockfile.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_m4_dogfood.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_m4_plugin_sample.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_metrics.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_module_maps.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_multilanguage_wiki.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_packages.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_paths.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_plugins.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_relationships.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_release.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_rust_extract.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_secure_file.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_skills.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_team.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_trigger.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_ts_extract.py +0 -0
- {agent_wiki_cli-1.2.0 → agent_wiki_cli-1.3.1}/tests/test_versioning.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-wiki-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: CLI tool to maintain hybrid LLM Wikis for multi-language projects.
|
|
5
5
|
Author-email: Denis Sivagin <denissvgn@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -17,6 +17,7 @@ Classifier: Topic :: Software Development :: Documentation
|
|
|
17
17
|
Requires-Python: >=3.10
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
+
Requires-Dist: PyYAML>=6
|
|
20
21
|
Requires-Dist: tomli>=2; python_version < "3.11"
|
|
21
22
|
Provides-Extra: dev
|
|
22
23
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
@@ -53,6 +54,7 @@ canonical wiki surface registry:
|
|
|
53
54
|
| `guides/` | semantic | Agent-authored onboarding, operator, and contributor guides. |
|
|
54
55
|
| `flows/` | mixed | User-flow pages, one per detected entry point, with bounded generated Mermaid call and data-flow diagrams. |
|
|
55
56
|
| `infrastructure/` | mixed | Dockerfile, Compose, GitHub Actions, Kubernetes, and targeted runtime/config YAML pages. |
|
|
57
|
+
| `api-contracts.md` | mixed | Optional production HTTP contract inventory generated from static FastAPI declarations or an exported OpenAPI document; `## Notes` is semantic. |
|
|
56
58
|
| `dependencies.md` | mixed | Optional internal and external dependency architecture page. |
|
|
57
59
|
| `load-order.md` | mixed | Optional load-order, cycle, and startup-caveat architecture page. |
|
|
58
60
|
|
|
@@ -88,8 +90,11 @@ plain, MkDocs-compatible, or Docusaurus-compatible Markdown output without
|
|
|
88
90
|
invoking external builders. Static-site output is a derived artifact; it must
|
|
89
91
|
not become a second editable source of truth.
|
|
90
92
|
|
|
91
|
-
The package has
|
|
92
|
-
|
|
93
|
+
The package has a small required Python runtime footprint. `PyYAML>=6` parses
|
|
94
|
+
user-supplied OpenAPI YAML, and Python versions older than 3.11 use `tomli` for
|
|
95
|
+
TOML. FastAPI, Pydantic, and the target application are not runtime
|
|
96
|
+
dependencies and are never imported for contract extraction. Optional language
|
|
97
|
+
features use external tools when they are available on `PATH`.
|
|
93
98
|
|
|
94
99
|
## Supported Inputs
|
|
95
100
|
|
|
@@ -102,6 +107,7 @@ external tools when they are available on `PATH`.
|
|
|
102
107
|
| Haskell | bundled GHC parser helper for syntax-only inventory | prepared helper binary |
|
|
103
108
|
| Docker / Compose | built-in parsers | none |
|
|
104
109
|
| Runtime/config YAML | targeted built-in parsers | none |
|
|
110
|
+
| OpenAPI 3.0/3.1 JSON / YAML | stdlib `json` / PyYAML safe loader | `PyYAML>=6` (installed with the package) |
|
|
105
111
|
| MCP server | official Python MCP SDK | `agent-wiki-cli[mcp]`, Python 3.10+ |
|
|
106
112
|
|
|
107
113
|
TypeScript/JavaScript, Go, Rust, and Haskell helper setup is explicit; prepare
|
|
@@ -109,11 +115,13 @@ helper dependencies and binaries with `llm-wiki prepare-extractors`. Lint, CI,
|
|
|
109
115
|
and extract never run `npm install`, `go build`, `go run`, `cargo build`,
|
|
110
116
|
`cargo run`, or `ghc` automatically.
|
|
111
117
|
|
|
112
|
-
Source discovery honors `.gitignore` before extractors run.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
Source discovery honors `.gitignore` before extractors run. Unescaped trailing
|
|
119
|
+
ASCII spaces in ignore entries are ignored, while `\ ` preserves a literal
|
|
120
|
+
final space. A root, unanchored `lib/` rule is treated as a generic build-output
|
|
121
|
+
pattern for TypeScript projects, so `.ts`, `.tsx`, `.js`, and `.jsx` files under
|
|
122
|
+
`src/lib/` remain first-party source; top-level `lib/`, excluded
|
|
123
|
+
dependency/build directories, and explicit nested `.gitignore` rules still stay
|
|
124
|
+
excluded. Generated agent
|
|
117
125
|
worktree copies such as `.claude/worktrees/**` are excluded from default
|
|
118
126
|
snapshots; pass an exact `--paths` entry if you intentionally want to inspect
|
|
119
127
|
one file there.
|
|
@@ -234,9 +242,17 @@ Install a post-commit hook:
|
|
|
234
242
|
llm-wiki install-hook
|
|
235
243
|
```
|
|
236
244
|
|
|
237
|
-
`init` writes the selected agent and
|
|
245
|
+
`init` writes the selected agent and instruction preferences to
|
|
238
246
|
`.git/.llm-wiki-agent` when the project is a Git repo. Outside Git, it falls
|
|
239
|
-
back to `<wiki-dir>/.llm-wiki-agent`.
|
|
247
|
+
back to `<wiki-dir>/.llm-wiki-agent`. Tool-issue reporting guidance is omitted
|
|
248
|
+
by default; opt in when you want agents to create local bug-report files:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
llm-wiki init --agent claude --issue-reporting
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
This only adds guidance to the generated agent instruction block. It does not
|
|
255
|
+
upload reports, submit issues, or enable telemetry.
|
|
240
256
|
|
|
241
257
|
## Automation
|
|
242
258
|
|
|
@@ -293,10 +309,16 @@ Scaffold the wiki structure and agent constraint file.
|
|
|
293
309
|
llm-wiki init --agent claude
|
|
294
310
|
llm-wiki init --agent copilot --wiki-dir .wiki
|
|
295
311
|
llm-wiki init --agent cursor --no-quality-hints
|
|
312
|
+
llm-wiki init --agent generic --issue-reporting
|
|
296
313
|
```
|
|
297
314
|
|
|
298
315
|
Supported agents are `claude`, `aider`, `opencode`, `copilot`, `cursor`, and
|
|
299
|
-
`generic`.
|
|
316
|
+
`generic`. `--issue-reporting` includes instructions that ask agents to record
|
|
317
|
+
`llm-wiki` tool failures under the local `llm-wiki-issues/` directory. The
|
|
318
|
+
instructions are off by default; use `--no-issue-reporting` to explicitly omit
|
|
319
|
+
them when refreshing an existing initialization. On a refresh, omitting
|
|
320
|
+
`--agent` reuses the stored agent; a project with no stored selection defaults
|
|
321
|
+
to `generic`.
|
|
300
322
|
|
|
301
323
|
### `bootstrap`
|
|
302
324
|
|
|
@@ -310,6 +332,8 @@ llm-wiki bootstrap --skip-workflows
|
|
|
310
332
|
llm-wiki bootstrap --skip-flows
|
|
311
333
|
llm-wiki bootstrap --skip-data-flow
|
|
312
334
|
llm-wiki bootstrap --skip-dependencies
|
|
335
|
+
llm-wiki bootstrap --api-contracts
|
|
336
|
+
llm-wiki bootstrap --api-contracts --openapi-file openapi.yaml
|
|
313
337
|
llm-wiki bootstrap --include-tests go
|
|
314
338
|
llm-wiki bootstrap --helper-cache-dir .cache/llm-wiki-helpers
|
|
315
339
|
llm-wiki bootstrap --format json --source-adapter
|
|
@@ -328,6 +352,12 @@ Dependency architecture pages are generated as `dependencies.md` and
|
|
|
328
352
|
pages or lint diagnostics. Generated `index.md` is a registry-backed landing
|
|
329
353
|
page with a surface overview table, per-surface counts, grouped user-flow
|
|
330
354
|
entries, optional dependency architecture links, and a direct log link.
|
|
355
|
+
`--api-contracts` adds the optional `api-contracts.md` production HTTP
|
|
356
|
+
inventory and generated API-contract sections on matching HTTP flow pages.
|
|
357
|
+
Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
|
|
358
|
+
3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
|
|
359
|
+
source analysis contributes handler, module, entity, and flow links. The target
|
|
360
|
+
application is never imported or executed.
|
|
331
361
|
`--depth full` is the default and includes
|
|
332
362
|
docstrings, imports, attributes, method signatures, generated relationship
|
|
333
363
|
sections, bounded per-module dependency mini-map summaries, and diagram data
|
|
@@ -356,6 +386,8 @@ llm-wiki sync --src-dir . --wiki-dir docs/llm_wiki
|
|
|
356
386
|
llm-wiki sync --jobs auto --cache-stats --src-dir . --wiki-dir docs/llm_wiki
|
|
357
387
|
llm-wiki sync --cache-dir .cache/llm-wiki-inventory --helper-cache-dir .cache/llm-wiki-helpers
|
|
358
388
|
llm-wiki sync --include-tests go --src-dir . --wiki-dir docs/llm_wiki
|
|
389
|
+
llm-wiki sync --initialize-surfaces flows,dependencies --flow-category http --exclude-tests --dry-run
|
|
390
|
+
llm-wiki sync --initialize-surfaces api-contracts --openapi-file openapi.yaml --dry-run
|
|
359
391
|
llm-wiki sync --src-dir /path/to/repo --wiki-dir docs/llm_wiki --allow-external-src
|
|
360
392
|
```
|
|
361
393
|
|
|
@@ -371,6 +403,14 @@ languages and plugin extractors whose manifests set `"parallel_safe": true`.
|
|
|
371
403
|
Sync repairs
|
|
372
404
|
manifests with invalid source hashes without touching pages, and stops unusually
|
|
373
405
|
broad diffs unless `--force` is used.
|
|
406
|
+
`--initialize-surfaces` enters a surface-only backfill mode for `flows`,
|
|
407
|
+
`dependencies`, and/or `api-contracts`: ordinary entity/module source changes
|
|
408
|
+
are reported but deferred. `--flow-category` is repeatable, `--exclude-tests`
|
|
409
|
+
uses a cross-platform test-path classifier for the selected flow/dependency
|
|
410
|
+
analysis, and `--dry-run` previews exact page counts and safety-guard results
|
|
411
|
+
without writing the wiki, manifest, log, index, surface index, or cache.
|
|
412
|
+
Selected flow categories and test filtering are persisted in manifest v4 so a
|
|
413
|
+
later ordinary sync cannot silently expand an HTTP-only backfill to every flow.
|
|
374
414
|
Pass `--include-tests go` to include Go `_test.go` files in the synced
|
|
375
415
|
inventory and generated module pages; the default remains production Go source
|
|
376
416
|
only.
|
|
@@ -404,6 +444,13 @@ When flow pages already exist, `sync` also refreshes generated call-sequence and
|
|
|
404
444
|
`## Data flow` content from the current inventory while preserving the
|
|
405
445
|
human-authored `## Behavior` section by default.
|
|
406
446
|
|
|
447
|
+
When `api-contracts.md` exists, sync refreshes its generated operation inventory
|
|
448
|
+
and matching flow-page contract sections while preserving `## Notes` and
|
|
449
|
+
`## Behavior`. A bootstrap/sync OpenAPI input is stored as a source-relative
|
|
450
|
+
path and hash; a specification-only change refreshes contracts even when source
|
|
451
|
+
files are unchanged. Use `--clear-openapi-file` to return deliberately to
|
|
452
|
+
static contract authority.
|
|
453
|
+
|
|
407
454
|
When `sync` rebuilds `index.md`, the generated landing-page overview and
|
|
408
455
|
per-surface link sections are replaced from the live registry and inventory.
|
|
409
456
|
With semantic preservation enabled, old custom top-level index sections are
|
|
@@ -421,6 +468,7 @@ llm-wiki extract --src-dir .
|
|
|
421
468
|
llm-wiki extract --src-dir . --changed
|
|
422
469
|
llm-wiki extract --src-dir . --summary
|
|
423
470
|
llm-wiki extract --src-dir . --deep
|
|
471
|
+
llm-wiki extract --src-dir . --deep --openapi-file openapi.json
|
|
424
472
|
llm-wiki extract --src-dir . --paths src/foo.py src/bar.ts
|
|
425
473
|
llm-wiki extract --src-dir . --package llm_wiki_cli
|
|
426
474
|
llm-wiki extract --src-dir . --include-empty
|
|
@@ -473,7 +521,13 @@ With `--deep`, Python function entries may carry optional `data_effects` blocks
|
|
|
473
521
|
(inputs, selected global/attribute reads, writes, returns, and boundary effects
|
|
474
522
|
such as filesystem, environment, process, network, output, and logging calls)
|
|
475
523
|
and optional `calls` lists (in-body call targets, optionally with compact `args`
|
|
476
|
-
and `kwargs` expression summaries).
|
|
524
|
+
and `kwargs` expression summaries). Function `params` include reconstructable
|
|
525
|
+
parameter kinds for positional-only, positional-or-keyword, variadic,
|
|
526
|
+
keyword-only, and variadic-keyword declarations. Python model/type inventory
|
|
527
|
+
also carries optional required/nullable/default/factory, alias, constraint,
|
|
528
|
+
description/example, `Annotated`, validator/config, enum-member, literal, and
|
|
529
|
+
type-alias metadata without importing Pydantic or application modules.
|
|
530
|
+
The payload also gains an optional top-level
|
|
477
531
|
`entrypoints` array (detected user-reachable entry points: `{id, category, file,
|
|
478
532
|
symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
|
|
479
533
|
`dependencies` object with internal `edges`, `cycles`, per-language external
|
|
@@ -489,6 +543,13 @@ keys are POSIX paths relative to `--src-dir`, never absolute paths. The v1
|
|
|
489
543
|
contract permits additive fields; incompatible shape changes require a new
|
|
490
544
|
schema version. The M3 data-flow fields are therefore optional additions under
|
|
491
545
|
`llm-wiki-extract/v1`, not a schema bump.
|
|
546
|
+
Deep Python extraction also emits optional per-file `frameworks.fastapi`
|
|
547
|
+
declarations and a top-level `api_contracts` object. Static uncertainty is
|
|
548
|
+
reported through `unknowns` and diagnostics; test-source and
|
|
549
|
+
`include_in_schema=False` operations are excluded from the production operation
|
|
550
|
+
inventory by default. With `--openapi-file`, OpenAPI defines the operation set
|
|
551
|
+
and wire contract, external references are never fetched, and unmatched or
|
|
552
|
+
conflicting static declarations remain visible as diagnostics.
|
|
492
553
|
Installed `entrypoint_detector` plugin hooks also contribute to the same
|
|
493
554
|
`entrypoints` array in deep output. Detector failures are isolated: built-in
|
|
494
555
|
entry-point detection still runs, `extract` prints a warning to stderr, and the
|
|
@@ -1120,10 +1181,15 @@ llm-wiki upgrade --agent copilot
|
|
|
1120
1181
|
llm-wiki upgrade --wiki-dir .wiki
|
|
1121
1182
|
llm-wiki upgrade --force
|
|
1122
1183
|
llm-wiki upgrade --no-quality-hints
|
|
1184
|
+
llm-wiki upgrade --issue-reporting
|
|
1185
|
+
llm-wiki upgrade --no-issue-reporting
|
|
1123
1186
|
```
|
|
1124
1187
|
|
|
1125
1188
|
`upgrade` refreshes agent instruction blocks, wiki directories, hooks, plugin
|
|
1126
|
-
skill blocks, and persisted local config.
|
|
1189
|
+
skill blocks, and persisted local config. The issue-reporting pair explicitly
|
|
1190
|
+
enables or disables the local agent guidance; without either flag, `upgrade`
|
|
1191
|
+
preserves the stored preference. Configurations created before this preference
|
|
1192
|
+
existed default to disabled. For older wiki layouts, `upgrade`
|
|
1127
1193
|
idempotently adds registry-standard directories such as `flows/` and missing
|
|
1128
1194
|
`.gitkeep` files without rewriting existing index, log, semantic pages, or
|
|
1129
1195
|
optional `dependencies.md` / `load-order.md` pages. Run `bootstrap` or `sync`
|
|
@@ -23,6 +23,7 @@ canonical wiki surface registry:
|
|
|
23
23
|
| `guides/` | semantic | Agent-authored onboarding, operator, and contributor guides. |
|
|
24
24
|
| `flows/` | mixed | User-flow pages, one per detected entry point, with bounded generated Mermaid call and data-flow diagrams. |
|
|
25
25
|
| `infrastructure/` | mixed | Dockerfile, Compose, GitHub Actions, Kubernetes, and targeted runtime/config YAML pages. |
|
|
26
|
+
| `api-contracts.md` | mixed | Optional production HTTP contract inventory generated from static FastAPI declarations or an exported OpenAPI document; `## Notes` is semantic. |
|
|
26
27
|
| `dependencies.md` | mixed | Optional internal and external dependency architecture page. |
|
|
27
28
|
| `load-order.md` | mixed | Optional load-order, cycle, and startup-caveat architecture page. |
|
|
28
29
|
|
|
@@ -58,8 +59,11 @@ plain, MkDocs-compatible, or Docusaurus-compatible Markdown output without
|
|
|
58
59
|
invoking external builders. Static-site output is a derived artifact; it must
|
|
59
60
|
not become a second editable source of truth.
|
|
60
61
|
|
|
61
|
-
The package has
|
|
62
|
-
|
|
62
|
+
The package has a small required Python runtime footprint. `PyYAML>=6` parses
|
|
63
|
+
user-supplied OpenAPI YAML, and Python versions older than 3.11 use `tomli` for
|
|
64
|
+
TOML. FastAPI, Pydantic, and the target application are not runtime
|
|
65
|
+
dependencies and are never imported for contract extraction. Optional language
|
|
66
|
+
features use external tools when they are available on `PATH`.
|
|
63
67
|
|
|
64
68
|
## Supported Inputs
|
|
65
69
|
|
|
@@ -72,6 +76,7 @@ external tools when they are available on `PATH`.
|
|
|
72
76
|
| Haskell | bundled GHC parser helper for syntax-only inventory | prepared helper binary |
|
|
73
77
|
| Docker / Compose | built-in parsers | none |
|
|
74
78
|
| Runtime/config YAML | targeted built-in parsers | none |
|
|
79
|
+
| OpenAPI 3.0/3.1 JSON / YAML | stdlib `json` / PyYAML safe loader | `PyYAML>=6` (installed with the package) |
|
|
75
80
|
| MCP server | official Python MCP SDK | `agent-wiki-cli[mcp]`, Python 3.10+ |
|
|
76
81
|
|
|
77
82
|
TypeScript/JavaScript, Go, Rust, and Haskell helper setup is explicit; prepare
|
|
@@ -79,11 +84,13 @@ helper dependencies and binaries with `llm-wiki prepare-extractors`. Lint, CI,
|
|
|
79
84
|
and extract never run `npm install`, `go build`, `go run`, `cargo build`,
|
|
80
85
|
`cargo run`, or `ghc` automatically.
|
|
81
86
|
|
|
82
|
-
Source discovery honors `.gitignore` before extractors run.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
Source discovery honors `.gitignore` before extractors run. Unescaped trailing
|
|
88
|
+
ASCII spaces in ignore entries are ignored, while `\ ` preserves a literal
|
|
89
|
+
final space. A root, unanchored `lib/` rule is treated as a generic build-output
|
|
90
|
+
pattern for TypeScript projects, so `.ts`, `.tsx`, `.js`, and `.jsx` files under
|
|
91
|
+
`src/lib/` remain first-party source; top-level `lib/`, excluded
|
|
92
|
+
dependency/build directories, and explicit nested `.gitignore` rules still stay
|
|
93
|
+
excluded. Generated agent
|
|
87
94
|
worktree copies such as `.claude/worktrees/**` are excluded from default
|
|
88
95
|
snapshots; pass an exact `--paths` entry if you intentionally want to inspect
|
|
89
96
|
one file there.
|
|
@@ -204,9 +211,17 @@ Install a post-commit hook:
|
|
|
204
211
|
llm-wiki install-hook
|
|
205
212
|
```
|
|
206
213
|
|
|
207
|
-
`init` writes the selected agent and
|
|
214
|
+
`init` writes the selected agent and instruction preferences to
|
|
208
215
|
`.git/.llm-wiki-agent` when the project is a Git repo. Outside Git, it falls
|
|
209
|
-
back to `<wiki-dir>/.llm-wiki-agent`.
|
|
216
|
+
back to `<wiki-dir>/.llm-wiki-agent`. Tool-issue reporting guidance is omitted
|
|
217
|
+
by default; opt in when you want agents to create local bug-report files:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
llm-wiki init --agent claude --issue-reporting
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
This only adds guidance to the generated agent instruction block. It does not
|
|
224
|
+
upload reports, submit issues, or enable telemetry.
|
|
210
225
|
|
|
211
226
|
## Automation
|
|
212
227
|
|
|
@@ -263,10 +278,16 @@ Scaffold the wiki structure and agent constraint file.
|
|
|
263
278
|
llm-wiki init --agent claude
|
|
264
279
|
llm-wiki init --agent copilot --wiki-dir .wiki
|
|
265
280
|
llm-wiki init --agent cursor --no-quality-hints
|
|
281
|
+
llm-wiki init --agent generic --issue-reporting
|
|
266
282
|
```
|
|
267
283
|
|
|
268
284
|
Supported agents are `claude`, `aider`, `opencode`, `copilot`, `cursor`, and
|
|
269
|
-
`generic`.
|
|
285
|
+
`generic`. `--issue-reporting` includes instructions that ask agents to record
|
|
286
|
+
`llm-wiki` tool failures under the local `llm-wiki-issues/` directory. The
|
|
287
|
+
instructions are off by default; use `--no-issue-reporting` to explicitly omit
|
|
288
|
+
them when refreshing an existing initialization. On a refresh, omitting
|
|
289
|
+
`--agent` reuses the stored agent; a project with no stored selection defaults
|
|
290
|
+
to `generic`.
|
|
270
291
|
|
|
271
292
|
### `bootstrap`
|
|
272
293
|
|
|
@@ -280,6 +301,8 @@ llm-wiki bootstrap --skip-workflows
|
|
|
280
301
|
llm-wiki bootstrap --skip-flows
|
|
281
302
|
llm-wiki bootstrap --skip-data-flow
|
|
282
303
|
llm-wiki bootstrap --skip-dependencies
|
|
304
|
+
llm-wiki bootstrap --api-contracts
|
|
305
|
+
llm-wiki bootstrap --api-contracts --openapi-file openapi.yaml
|
|
283
306
|
llm-wiki bootstrap --include-tests go
|
|
284
307
|
llm-wiki bootstrap --helper-cache-dir .cache/llm-wiki-helpers
|
|
285
308
|
llm-wiki bootstrap --format json --source-adapter
|
|
@@ -298,6 +321,12 @@ Dependency architecture pages are generated as `dependencies.md` and
|
|
|
298
321
|
pages or lint diagnostics. Generated `index.md` is a registry-backed landing
|
|
299
322
|
page with a surface overview table, per-surface counts, grouped user-flow
|
|
300
323
|
entries, optional dependency architecture links, and a direct log link.
|
|
324
|
+
`--api-contracts` adds the optional `api-contracts.md` production HTTP
|
|
325
|
+
inventory and generated API-contract sections on matching HTTP flow pages.
|
|
326
|
+
Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
|
|
327
|
+
3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
|
|
328
|
+
source analysis contributes handler, module, entity, and flow links. The target
|
|
329
|
+
application is never imported or executed.
|
|
301
330
|
`--depth full` is the default and includes
|
|
302
331
|
docstrings, imports, attributes, method signatures, generated relationship
|
|
303
332
|
sections, bounded per-module dependency mini-map summaries, and diagram data
|
|
@@ -326,6 +355,8 @@ llm-wiki sync --src-dir . --wiki-dir docs/llm_wiki
|
|
|
326
355
|
llm-wiki sync --jobs auto --cache-stats --src-dir . --wiki-dir docs/llm_wiki
|
|
327
356
|
llm-wiki sync --cache-dir .cache/llm-wiki-inventory --helper-cache-dir .cache/llm-wiki-helpers
|
|
328
357
|
llm-wiki sync --include-tests go --src-dir . --wiki-dir docs/llm_wiki
|
|
358
|
+
llm-wiki sync --initialize-surfaces flows,dependencies --flow-category http --exclude-tests --dry-run
|
|
359
|
+
llm-wiki sync --initialize-surfaces api-contracts --openapi-file openapi.yaml --dry-run
|
|
329
360
|
llm-wiki sync --src-dir /path/to/repo --wiki-dir docs/llm_wiki --allow-external-src
|
|
330
361
|
```
|
|
331
362
|
|
|
@@ -341,6 +372,14 @@ languages and plugin extractors whose manifests set `"parallel_safe": true`.
|
|
|
341
372
|
Sync repairs
|
|
342
373
|
manifests with invalid source hashes without touching pages, and stops unusually
|
|
343
374
|
broad diffs unless `--force` is used.
|
|
375
|
+
`--initialize-surfaces` enters a surface-only backfill mode for `flows`,
|
|
376
|
+
`dependencies`, and/or `api-contracts`: ordinary entity/module source changes
|
|
377
|
+
are reported but deferred. `--flow-category` is repeatable, `--exclude-tests`
|
|
378
|
+
uses a cross-platform test-path classifier for the selected flow/dependency
|
|
379
|
+
analysis, and `--dry-run` previews exact page counts and safety-guard results
|
|
380
|
+
without writing the wiki, manifest, log, index, surface index, or cache.
|
|
381
|
+
Selected flow categories and test filtering are persisted in manifest v4 so a
|
|
382
|
+
later ordinary sync cannot silently expand an HTTP-only backfill to every flow.
|
|
344
383
|
Pass `--include-tests go` to include Go `_test.go` files in the synced
|
|
345
384
|
inventory and generated module pages; the default remains production Go source
|
|
346
385
|
only.
|
|
@@ -374,6 +413,13 @@ When flow pages already exist, `sync` also refreshes generated call-sequence and
|
|
|
374
413
|
`## Data flow` content from the current inventory while preserving the
|
|
375
414
|
human-authored `## Behavior` section by default.
|
|
376
415
|
|
|
416
|
+
When `api-contracts.md` exists, sync refreshes its generated operation inventory
|
|
417
|
+
and matching flow-page contract sections while preserving `## Notes` and
|
|
418
|
+
`## Behavior`. A bootstrap/sync OpenAPI input is stored as a source-relative
|
|
419
|
+
path and hash; a specification-only change refreshes contracts even when source
|
|
420
|
+
files are unchanged. Use `--clear-openapi-file` to return deliberately to
|
|
421
|
+
static contract authority.
|
|
422
|
+
|
|
377
423
|
When `sync` rebuilds `index.md`, the generated landing-page overview and
|
|
378
424
|
per-surface link sections are replaced from the live registry and inventory.
|
|
379
425
|
With semantic preservation enabled, old custom top-level index sections are
|
|
@@ -391,6 +437,7 @@ llm-wiki extract --src-dir .
|
|
|
391
437
|
llm-wiki extract --src-dir . --changed
|
|
392
438
|
llm-wiki extract --src-dir . --summary
|
|
393
439
|
llm-wiki extract --src-dir . --deep
|
|
440
|
+
llm-wiki extract --src-dir . --deep --openapi-file openapi.json
|
|
394
441
|
llm-wiki extract --src-dir . --paths src/foo.py src/bar.ts
|
|
395
442
|
llm-wiki extract --src-dir . --package llm_wiki_cli
|
|
396
443
|
llm-wiki extract --src-dir . --include-empty
|
|
@@ -443,7 +490,13 @@ With `--deep`, Python function entries may carry optional `data_effects` blocks
|
|
|
443
490
|
(inputs, selected global/attribute reads, writes, returns, and boundary effects
|
|
444
491
|
such as filesystem, environment, process, network, output, and logging calls)
|
|
445
492
|
and optional `calls` lists (in-body call targets, optionally with compact `args`
|
|
446
|
-
and `kwargs` expression summaries).
|
|
493
|
+
and `kwargs` expression summaries). Function `params` include reconstructable
|
|
494
|
+
parameter kinds for positional-only, positional-or-keyword, variadic,
|
|
495
|
+
keyword-only, and variadic-keyword declarations. Python model/type inventory
|
|
496
|
+
also carries optional required/nullable/default/factory, alias, constraint,
|
|
497
|
+
description/example, `Annotated`, validator/config, enum-member, literal, and
|
|
498
|
+
type-alias metadata without importing Pydantic or application modules.
|
|
499
|
+
The payload also gains an optional top-level
|
|
447
500
|
`entrypoints` array (detected user-reachable entry points: `{id, category, file,
|
|
448
501
|
symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
|
|
449
502
|
`dependencies` object with internal `edges`, `cycles`, per-language external
|
|
@@ -459,6 +512,13 @@ keys are POSIX paths relative to `--src-dir`, never absolute paths. The v1
|
|
|
459
512
|
contract permits additive fields; incompatible shape changes require a new
|
|
460
513
|
schema version. The M3 data-flow fields are therefore optional additions under
|
|
461
514
|
`llm-wiki-extract/v1`, not a schema bump.
|
|
515
|
+
Deep Python extraction also emits optional per-file `frameworks.fastapi`
|
|
516
|
+
declarations and a top-level `api_contracts` object. Static uncertainty is
|
|
517
|
+
reported through `unknowns` and diagnostics; test-source and
|
|
518
|
+
`include_in_schema=False` operations are excluded from the production operation
|
|
519
|
+
inventory by default. With `--openapi-file`, OpenAPI defines the operation set
|
|
520
|
+
and wire contract, external references are never fetched, and unmatched or
|
|
521
|
+
conflicting static declarations remain visible as diagnostics.
|
|
462
522
|
Installed `entrypoint_detector` plugin hooks also contribute to the same
|
|
463
523
|
`entrypoints` array in deep output. Detector failures are isolated: built-in
|
|
464
524
|
entry-point detection still runs, `extract` prints a warning to stderr, and the
|
|
@@ -1090,10 +1150,15 @@ llm-wiki upgrade --agent copilot
|
|
|
1090
1150
|
llm-wiki upgrade --wiki-dir .wiki
|
|
1091
1151
|
llm-wiki upgrade --force
|
|
1092
1152
|
llm-wiki upgrade --no-quality-hints
|
|
1153
|
+
llm-wiki upgrade --issue-reporting
|
|
1154
|
+
llm-wiki upgrade --no-issue-reporting
|
|
1093
1155
|
```
|
|
1094
1156
|
|
|
1095
1157
|
`upgrade` refreshes agent instruction blocks, wiki directories, hooks, plugin
|
|
1096
|
-
skill blocks, and persisted local config.
|
|
1158
|
+
skill blocks, and persisted local config. The issue-reporting pair explicitly
|
|
1159
|
+
enables or disables the local agent guidance; without either flag, `upgrade`
|
|
1160
|
+
preserves the stored preference. Configurations created before this preference
|
|
1161
|
+
existed default to disabled. For older wiki layouts, `upgrade`
|
|
1097
1162
|
idempotently adds registry-standard directories such as `flows/` and missing
|
|
1098
1163
|
`.gitkeep` files without rewriting existing index, log, semantic pages, or
|
|
1099
1164
|
optional `dependencies.md` / `load-order.md` pages. Run `bootstrap` or `sync`
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agent-wiki-cli"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.3.1"
|
|
8
8
|
description = "CLI tool to maintain hybrid LLM Wikis for multi-language projects."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -22,6 +22,7 @@ classifiers = [
|
|
|
22
22
|
"Topic :: Software Development :: Documentation",
|
|
23
23
|
]
|
|
24
24
|
dependencies = [
|
|
25
|
+
"PyYAML>=6",
|
|
25
26
|
"tomli>=2; python_version < '3.11'",
|
|
26
27
|
]
|
|
27
28
|
|
|
@@ -89,6 +90,8 @@ where = ["src"]
|
|
|
89
90
|
"skills/user-docs-author/reference.md",
|
|
90
91
|
"skills/wiki-bootstrap/SKILL.md",
|
|
91
92
|
"skills/wiki-bootstrap/reference.md",
|
|
93
|
+
"skills/wiki-reference/SKILL.md",
|
|
94
|
+
"skills/wiki-reference/reference.md",
|
|
92
95
|
"skills/wiki-sync/SKILL.md",
|
|
93
96
|
"skills/wiki-sync/reference.md",
|
|
94
97
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-wiki-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: CLI tool to maintain hybrid LLM Wikis for multi-language projects.
|
|
5
5
|
Author-email: Denis Sivagin <denissvgn@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -17,6 +17,7 @@ Classifier: Topic :: Software Development :: Documentation
|
|
|
17
17
|
Requires-Python: >=3.10
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
+
Requires-Dist: PyYAML>=6
|
|
20
21
|
Requires-Dist: tomli>=2; python_version < "3.11"
|
|
21
22
|
Provides-Extra: dev
|
|
22
23
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
@@ -53,6 +54,7 @@ canonical wiki surface registry:
|
|
|
53
54
|
| `guides/` | semantic | Agent-authored onboarding, operator, and contributor guides. |
|
|
54
55
|
| `flows/` | mixed | User-flow pages, one per detected entry point, with bounded generated Mermaid call and data-flow diagrams. |
|
|
55
56
|
| `infrastructure/` | mixed | Dockerfile, Compose, GitHub Actions, Kubernetes, and targeted runtime/config YAML pages. |
|
|
57
|
+
| `api-contracts.md` | mixed | Optional production HTTP contract inventory generated from static FastAPI declarations or an exported OpenAPI document; `## Notes` is semantic. |
|
|
56
58
|
| `dependencies.md` | mixed | Optional internal and external dependency architecture page. |
|
|
57
59
|
| `load-order.md` | mixed | Optional load-order, cycle, and startup-caveat architecture page. |
|
|
58
60
|
|
|
@@ -88,8 +90,11 @@ plain, MkDocs-compatible, or Docusaurus-compatible Markdown output without
|
|
|
88
90
|
invoking external builders. Static-site output is a derived artifact; it must
|
|
89
91
|
not become a second editable source of truth.
|
|
90
92
|
|
|
91
|
-
The package has
|
|
92
|
-
|
|
93
|
+
The package has a small required Python runtime footprint. `PyYAML>=6` parses
|
|
94
|
+
user-supplied OpenAPI YAML, and Python versions older than 3.11 use `tomli` for
|
|
95
|
+
TOML. FastAPI, Pydantic, and the target application are not runtime
|
|
96
|
+
dependencies and are never imported for contract extraction. Optional language
|
|
97
|
+
features use external tools when they are available on `PATH`.
|
|
93
98
|
|
|
94
99
|
## Supported Inputs
|
|
95
100
|
|
|
@@ -102,6 +107,7 @@ external tools when they are available on `PATH`.
|
|
|
102
107
|
| Haskell | bundled GHC parser helper for syntax-only inventory | prepared helper binary |
|
|
103
108
|
| Docker / Compose | built-in parsers | none |
|
|
104
109
|
| Runtime/config YAML | targeted built-in parsers | none |
|
|
110
|
+
| OpenAPI 3.0/3.1 JSON / YAML | stdlib `json` / PyYAML safe loader | `PyYAML>=6` (installed with the package) |
|
|
105
111
|
| MCP server | official Python MCP SDK | `agent-wiki-cli[mcp]`, Python 3.10+ |
|
|
106
112
|
|
|
107
113
|
TypeScript/JavaScript, Go, Rust, and Haskell helper setup is explicit; prepare
|
|
@@ -109,11 +115,13 @@ helper dependencies and binaries with `llm-wiki prepare-extractors`. Lint, CI,
|
|
|
109
115
|
and extract never run `npm install`, `go build`, `go run`, `cargo build`,
|
|
110
116
|
`cargo run`, or `ghc` automatically.
|
|
111
117
|
|
|
112
|
-
Source discovery honors `.gitignore` before extractors run.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
Source discovery honors `.gitignore` before extractors run. Unescaped trailing
|
|
119
|
+
ASCII spaces in ignore entries are ignored, while `\ ` preserves a literal
|
|
120
|
+
final space. A root, unanchored `lib/` rule is treated as a generic build-output
|
|
121
|
+
pattern for TypeScript projects, so `.ts`, `.tsx`, `.js`, and `.jsx` files under
|
|
122
|
+
`src/lib/` remain first-party source; top-level `lib/`, excluded
|
|
123
|
+
dependency/build directories, and explicit nested `.gitignore` rules still stay
|
|
124
|
+
excluded. Generated agent
|
|
117
125
|
worktree copies such as `.claude/worktrees/**` are excluded from default
|
|
118
126
|
snapshots; pass an exact `--paths` entry if you intentionally want to inspect
|
|
119
127
|
one file there.
|
|
@@ -234,9 +242,17 @@ Install a post-commit hook:
|
|
|
234
242
|
llm-wiki install-hook
|
|
235
243
|
```
|
|
236
244
|
|
|
237
|
-
`init` writes the selected agent and
|
|
245
|
+
`init` writes the selected agent and instruction preferences to
|
|
238
246
|
`.git/.llm-wiki-agent` when the project is a Git repo. Outside Git, it falls
|
|
239
|
-
back to `<wiki-dir>/.llm-wiki-agent`.
|
|
247
|
+
back to `<wiki-dir>/.llm-wiki-agent`. Tool-issue reporting guidance is omitted
|
|
248
|
+
by default; opt in when you want agents to create local bug-report files:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
llm-wiki init --agent claude --issue-reporting
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
This only adds guidance to the generated agent instruction block. It does not
|
|
255
|
+
upload reports, submit issues, or enable telemetry.
|
|
240
256
|
|
|
241
257
|
## Automation
|
|
242
258
|
|
|
@@ -293,10 +309,16 @@ Scaffold the wiki structure and agent constraint file.
|
|
|
293
309
|
llm-wiki init --agent claude
|
|
294
310
|
llm-wiki init --agent copilot --wiki-dir .wiki
|
|
295
311
|
llm-wiki init --agent cursor --no-quality-hints
|
|
312
|
+
llm-wiki init --agent generic --issue-reporting
|
|
296
313
|
```
|
|
297
314
|
|
|
298
315
|
Supported agents are `claude`, `aider`, `opencode`, `copilot`, `cursor`, and
|
|
299
|
-
`generic`.
|
|
316
|
+
`generic`. `--issue-reporting` includes instructions that ask agents to record
|
|
317
|
+
`llm-wiki` tool failures under the local `llm-wiki-issues/` directory. The
|
|
318
|
+
instructions are off by default; use `--no-issue-reporting` to explicitly omit
|
|
319
|
+
them when refreshing an existing initialization. On a refresh, omitting
|
|
320
|
+
`--agent` reuses the stored agent; a project with no stored selection defaults
|
|
321
|
+
to `generic`.
|
|
300
322
|
|
|
301
323
|
### `bootstrap`
|
|
302
324
|
|
|
@@ -310,6 +332,8 @@ llm-wiki bootstrap --skip-workflows
|
|
|
310
332
|
llm-wiki bootstrap --skip-flows
|
|
311
333
|
llm-wiki bootstrap --skip-data-flow
|
|
312
334
|
llm-wiki bootstrap --skip-dependencies
|
|
335
|
+
llm-wiki bootstrap --api-contracts
|
|
336
|
+
llm-wiki bootstrap --api-contracts --openapi-file openapi.yaml
|
|
313
337
|
llm-wiki bootstrap --include-tests go
|
|
314
338
|
llm-wiki bootstrap --helper-cache-dir .cache/llm-wiki-helpers
|
|
315
339
|
llm-wiki bootstrap --format json --source-adapter
|
|
@@ -328,6 +352,12 @@ Dependency architecture pages are generated as `dependencies.md` and
|
|
|
328
352
|
pages or lint diagnostics. Generated `index.md` is a registry-backed landing
|
|
329
353
|
page with a surface overview table, per-surface counts, grouped user-flow
|
|
330
354
|
entries, optional dependency architecture links, and a direct log link.
|
|
355
|
+
`--api-contracts` adds the optional `api-contracts.md` production HTTP
|
|
356
|
+
inventory and generated API-contract sections on matching HTTP flow pages.
|
|
357
|
+
Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
|
|
358
|
+
3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
|
|
359
|
+
source analysis contributes handler, module, entity, and flow links. The target
|
|
360
|
+
application is never imported or executed.
|
|
331
361
|
`--depth full` is the default and includes
|
|
332
362
|
docstrings, imports, attributes, method signatures, generated relationship
|
|
333
363
|
sections, bounded per-module dependency mini-map summaries, and diagram data
|
|
@@ -356,6 +386,8 @@ llm-wiki sync --src-dir . --wiki-dir docs/llm_wiki
|
|
|
356
386
|
llm-wiki sync --jobs auto --cache-stats --src-dir . --wiki-dir docs/llm_wiki
|
|
357
387
|
llm-wiki sync --cache-dir .cache/llm-wiki-inventory --helper-cache-dir .cache/llm-wiki-helpers
|
|
358
388
|
llm-wiki sync --include-tests go --src-dir . --wiki-dir docs/llm_wiki
|
|
389
|
+
llm-wiki sync --initialize-surfaces flows,dependencies --flow-category http --exclude-tests --dry-run
|
|
390
|
+
llm-wiki sync --initialize-surfaces api-contracts --openapi-file openapi.yaml --dry-run
|
|
359
391
|
llm-wiki sync --src-dir /path/to/repo --wiki-dir docs/llm_wiki --allow-external-src
|
|
360
392
|
```
|
|
361
393
|
|
|
@@ -371,6 +403,14 @@ languages and plugin extractors whose manifests set `"parallel_safe": true`.
|
|
|
371
403
|
Sync repairs
|
|
372
404
|
manifests with invalid source hashes without touching pages, and stops unusually
|
|
373
405
|
broad diffs unless `--force` is used.
|
|
406
|
+
`--initialize-surfaces` enters a surface-only backfill mode for `flows`,
|
|
407
|
+
`dependencies`, and/or `api-contracts`: ordinary entity/module source changes
|
|
408
|
+
are reported but deferred. `--flow-category` is repeatable, `--exclude-tests`
|
|
409
|
+
uses a cross-platform test-path classifier for the selected flow/dependency
|
|
410
|
+
analysis, and `--dry-run` previews exact page counts and safety-guard results
|
|
411
|
+
without writing the wiki, manifest, log, index, surface index, or cache.
|
|
412
|
+
Selected flow categories and test filtering are persisted in manifest v4 so a
|
|
413
|
+
later ordinary sync cannot silently expand an HTTP-only backfill to every flow.
|
|
374
414
|
Pass `--include-tests go` to include Go `_test.go` files in the synced
|
|
375
415
|
inventory and generated module pages; the default remains production Go source
|
|
376
416
|
only.
|
|
@@ -404,6 +444,13 @@ When flow pages already exist, `sync` also refreshes generated call-sequence and
|
|
|
404
444
|
`## Data flow` content from the current inventory while preserving the
|
|
405
445
|
human-authored `## Behavior` section by default.
|
|
406
446
|
|
|
447
|
+
When `api-contracts.md` exists, sync refreshes its generated operation inventory
|
|
448
|
+
and matching flow-page contract sections while preserving `## Notes` and
|
|
449
|
+
`## Behavior`. A bootstrap/sync OpenAPI input is stored as a source-relative
|
|
450
|
+
path and hash; a specification-only change refreshes contracts even when source
|
|
451
|
+
files are unchanged. Use `--clear-openapi-file` to return deliberately to
|
|
452
|
+
static contract authority.
|
|
453
|
+
|
|
407
454
|
When `sync` rebuilds `index.md`, the generated landing-page overview and
|
|
408
455
|
per-surface link sections are replaced from the live registry and inventory.
|
|
409
456
|
With semantic preservation enabled, old custom top-level index sections are
|
|
@@ -421,6 +468,7 @@ llm-wiki extract --src-dir .
|
|
|
421
468
|
llm-wiki extract --src-dir . --changed
|
|
422
469
|
llm-wiki extract --src-dir . --summary
|
|
423
470
|
llm-wiki extract --src-dir . --deep
|
|
471
|
+
llm-wiki extract --src-dir . --deep --openapi-file openapi.json
|
|
424
472
|
llm-wiki extract --src-dir . --paths src/foo.py src/bar.ts
|
|
425
473
|
llm-wiki extract --src-dir . --package llm_wiki_cli
|
|
426
474
|
llm-wiki extract --src-dir . --include-empty
|
|
@@ -473,7 +521,13 @@ With `--deep`, Python function entries may carry optional `data_effects` blocks
|
|
|
473
521
|
(inputs, selected global/attribute reads, writes, returns, and boundary effects
|
|
474
522
|
such as filesystem, environment, process, network, output, and logging calls)
|
|
475
523
|
and optional `calls` lists (in-body call targets, optionally with compact `args`
|
|
476
|
-
and `kwargs` expression summaries).
|
|
524
|
+
and `kwargs` expression summaries). Function `params` include reconstructable
|
|
525
|
+
parameter kinds for positional-only, positional-or-keyword, variadic,
|
|
526
|
+
keyword-only, and variadic-keyword declarations. Python model/type inventory
|
|
527
|
+
also carries optional required/nullable/default/factory, alias, constraint,
|
|
528
|
+
description/example, `Annotated`, validator/config, enum-member, literal, and
|
|
529
|
+
type-alias metadata without importing Pydantic or application modules.
|
|
530
|
+
The payload also gains an optional top-level
|
|
477
531
|
`entrypoints` array (detected user-reachable entry points: `{id, category, file,
|
|
478
532
|
symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
|
|
479
533
|
`dependencies` object with internal `edges`, `cycles`, per-language external
|
|
@@ -489,6 +543,13 @@ keys are POSIX paths relative to `--src-dir`, never absolute paths. The v1
|
|
|
489
543
|
contract permits additive fields; incompatible shape changes require a new
|
|
490
544
|
schema version. The M3 data-flow fields are therefore optional additions under
|
|
491
545
|
`llm-wiki-extract/v1`, not a schema bump.
|
|
546
|
+
Deep Python extraction also emits optional per-file `frameworks.fastapi`
|
|
547
|
+
declarations and a top-level `api_contracts` object. Static uncertainty is
|
|
548
|
+
reported through `unknowns` and diagnostics; test-source and
|
|
549
|
+
`include_in_schema=False` operations are excluded from the production operation
|
|
550
|
+
inventory by default. With `--openapi-file`, OpenAPI defines the operation set
|
|
551
|
+
and wire contract, external references are never fetched, and unmatched or
|
|
552
|
+
conflicting static declarations remain visible as diagnostics.
|
|
492
553
|
Installed `entrypoint_detector` plugin hooks also contribute to the same
|
|
493
554
|
`entrypoints` array in deep output. Detector failures are isolated: built-in
|
|
494
555
|
entry-point detection still runs, `extract` prints a warning to stderr, and the
|
|
@@ -1120,10 +1181,15 @@ llm-wiki upgrade --agent copilot
|
|
|
1120
1181
|
llm-wiki upgrade --wiki-dir .wiki
|
|
1121
1182
|
llm-wiki upgrade --force
|
|
1122
1183
|
llm-wiki upgrade --no-quality-hints
|
|
1184
|
+
llm-wiki upgrade --issue-reporting
|
|
1185
|
+
llm-wiki upgrade --no-issue-reporting
|
|
1123
1186
|
```
|
|
1124
1187
|
|
|
1125
1188
|
`upgrade` refreshes agent instruction blocks, wiki directories, hooks, plugin
|
|
1126
|
-
skill blocks, and persisted local config.
|
|
1189
|
+
skill blocks, and persisted local config. The issue-reporting pair explicitly
|
|
1190
|
+
enables or disables the local agent guidance; without either flag, `upgrade`
|
|
1191
|
+
preserves the stored preference. Configurations created before this preference
|
|
1192
|
+
existed default to disabled. For older wiki layouts, `upgrade`
|
|
1127
1193
|
idempotently adds registry-standard directories such as `flows/` and missing
|
|
1128
1194
|
`.gitkeep` files without rewriting existing index, log, semantic pages, or
|
|
1129
1195
|
optional `dependencies.md` / `load-order.md` pages. Run `bootstrap` or `sync`
|