@ahmed-g-gad/apothem 0.1.1
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.
- package/CHANGELOG.md +60 -0
- package/LICENSE +21 -0
- package/LICENSES/MIT.txt +18 -0
- package/LICENSES/PSF-2.0.txt +47 -0
- package/README.md +549 -0
- package/bin/README.md +37 -0
- package/bin/apothem.mjs +78 -0
- package/package.json +75 -0
- package/pyproject.toml +347 -0
- package/src/apothem/README.md +52 -0
- package/src/apothem/__init__.py +66 -0
- package/src/apothem/__main__.py +28 -0
- package/src/apothem/_vendor/.keep +0 -0
- package/src/apothem/_vendor/__init__.py +25 -0
- package/src/apothem/_vendor/attr/__init__.py +104 -0
- package/src/apothem/_vendor/attr/__init__.pyi +389 -0
- package/src/apothem/_vendor/attr/_cmp.py +160 -0
- package/src/apothem/_vendor/attr/_cmp.pyi +13 -0
- package/src/apothem/_vendor/attr/_compat.py +99 -0
- package/src/apothem/_vendor/attr/_config.py +31 -0
- package/src/apothem/_vendor/attr/_funcs.py +497 -0
- package/src/apothem/_vendor/attr/_make.py +3406 -0
- package/src/apothem/_vendor/attr/_next_gen.py +674 -0
- package/src/apothem/_vendor/attr/_typing_compat.pyi +15 -0
- package/src/apothem/_vendor/attr/_version_info.py +89 -0
- package/src/apothem/_vendor/attr/_version_info.pyi +9 -0
- package/src/apothem/_vendor/attr/converters.py +162 -0
- package/src/apothem/_vendor/attr/converters.pyi +19 -0
- package/src/apothem/_vendor/attr/exceptions.py +95 -0
- package/src/apothem/_vendor/attr/exceptions.pyi +17 -0
- package/src/apothem/_vendor/attr/filters.py +72 -0
- package/src/apothem/_vendor/attr/filters.pyi +6 -0
- package/src/apothem/_vendor/attr/py.typed +0 -0
- package/src/apothem/_vendor/attr/setters.py +79 -0
- package/src/apothem/_vendor/attr/setters.pyi +20 -0
- package/src/apothem/_vendor/attr/validators.py +750 -0
- package/src/apothem/_vendor/attr/validators.pyi +140 -0
- package/src/apothem/_vendor/attr.LICENSE +21 -0
- package/src/apothem/_vendor/attrs/__init__.py +72 -0
- package/src/apothem/_vendor/attrs/__init__.pyi +314 -0
- package/src/apothem/_vendor/attrs/converters.py +3 -0
- package/src/apothem/_vendor/attrs/exceptions.py +3 -0
- package/src/apothem/_vendor/attrs/filters.py +3 -0
- package/src/apothem/_vendor/attrs/py.typed +0 -0
- package/src/apothem/_vendor/attrs/setters.py +3 -0
- package/src/apothem/_vendor/attrs/validators.py +3 -0
- package/src/apothem/_vendor/attrs.LICENSE +21 -0
- package/src/apothem/_vendor/jsonschema/__init__.py +120 -0
- package/src/apothem/_vendor/jsonschema/__main__.py +6 -0
- package/src/apothem/_vendor/jsonschema/_format.py +546 -0
- package/src/apothem/_vendor/jsonschema/_keywords.py +449 -0
- package/src/apothem/_vendor/jsonschema/_legacy_keywords.py +449 -0
- package/src/apothem/_vendor/jsonschema/_types.py +204 -0
- package/src/apothem/_vendor/jsonschema/_typing.py +29 -0
- package/src/apothem/_vendor/jsonschema/_utils.py +355 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/__init__.py +5 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/const_vs_enum.py +30 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/contains.py +28 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/import_benchmark.py +31 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/issue232/issue.json +2653 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/issue232.py +25 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/json_schema_test_suite.py +12 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/nested_schemas.py +56 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/subcomponents.py +42 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/unused_registry.py +35 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/useless_applicator_schemas.py +106 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/useless_keywords.py +32 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/validator_creation.py +14 -0
- package/src/apothem/_vendor/jsonschema/cli.py +292 -0
- package/src/apothem/_vendor/jsonschema/exceptions.py +490 -0
- package/src/apothem/_vendor/jsonschema/protocols.py +230 -0
- package/src/apothem/_vendor/jsonschema/validators.py +1410 -0
- package/src/apothem/_vendor/jsonschema.LICENSE +19 -0
- package/src/apothem/_vendor/jsonschema_specifications/__init__.py +12 -0
- package/src/apothem/_vendor/jsonschema_specifications/_core.py +38 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
- package/src/apothem/_vendor/jsonschema_specifications.LICENSE +19 -0
- package/src/apothem/_vendor/referencing/__init__.py +7 -0
- package/src/apothem/_vendor/referencing/_attrs.py +31 -0
- package/src/apothem/_vendor/referencing/_attrs.pyi +21 -0
- package/src/apothem/_vendor/referencing/_core.py +739 -0
- package/src/apothem/_vendor/referencing/exceptions.py +165 -0
- package/src/apothem/_vendor/referencing/jsonschema.py +642 -0
- package/src/apothem/_vendor/referencing/py.typed +0 -0
- package/src/apothem/_vendor/referencing/retrieval.py +94 -0
- package/src/apothem/_vendor/referencing/typing.py +61 -0
- package/src/apothem/_vendor/referencing.LICENSE +19 -0
- package/src/apothem/_vendor/rpds/__init__.py +251 -0
- package/src/apothem/_vendor/typing_extensions.LICENSE +279 -0
- package/src/apothem/_vendor/typing_extensions.py +4317 -0
- package/src/apothem/_vendor/vendor.txt +22 -0
- package/src/apothem/_vendor/yaml/__init__.py +389 -0
- package/src/apothem/_vendor/yaml/composer.py +138 -0
- package/src/apothem/_vendor/yaml/constructor.py +748 -0
- package/src/apothem/_vendor/yaml/cyaml.py +100 -0
- package/src/apothem/_vendor/yaml/dumper.py +61 -0
- package/src/apothem/_vendor/yaml/emitter.py +1137 -0
- package/src/apothem/_vendor/yaml/error.py +74 -0
- package/src/apothem/_vendor/yaml/events.py +85 -0
- package/src/apothem/_vendor/yaml/loader.py +63 -0
- package/src/apothem/_vendor/yaml/nodes.py +48 -0
- package/src/apothem/_vendor/yaml/parser.py +588 -0
- package/src/apothem/_vendor/yaml/reader.py +185 -0
- package/src/apothem/_vendor/yaml/representer.py +388 -0
- package/src/apothem/_vendor/yaml/resolver.py +226 -0
- package/src/apothem/_vendor/yaml/scanner.py +1435 -0
- package/src/apothem/_vendor/yaml/serializer.py +110 -0
- package/src/apothem/_vendor/yaml/tokens.py +103 -0
- package/src/apothem/_vendor/yaml.LICENSE +20 -0
- package/src/apothem/agents/README.md +60 -0
- package/src/apothem/agents/codebase-explorer.md +91 -0
- package/src/apothem/agents/convention-auditor.md +93 -0
- package/src/apothem/agents/dependency-auditor.md +97 -0
- package/src/apothem/agents/fact-checker.md +84 -0
- package/src/apothem/agents/mcp-builder.md +86 -0
- package/src/apothem/agents/memory-auditor.md +93 -0
- package/src/apothem/agents/prompt-evaluator.md +87 -0
- package/src/apothem/agents/quality-gate.md +103 -0
- package/src/apothem/agents/refactor-surgeon.md +74 -0
- package/src/apothem/agents/research-scout.md +73 -0
- package/src/apothem/agents/security-scanner.md +83 -0
- package/src/apothem/agents/test-runner.md +84 -0
- package/src/apothem/audit/README.md +73 -0
- package/src/apothem/audit/_scan_lib.py +182 -0
- package/src/apothem/audit/analyze_graph.py +260 -0
- package/src/apothem/audit/build_capability_graph.py +607 -0
- package/src/apothem/audit/build_inventory.py +657 -0
- package/src/apothem/audit/build_plans_provenance.py +997 -0
- package/src/apothem/audit/check_links.py +389 -0
- package/src/apothem/audit/classify_artifacts.py +381 -0
- package/src/apothem/audit/deprecated-tokens.txt +10 -0
- package/src/apothem/audit/execute_plans_migration.py +491 -0
- package/src/apothem/audit/known-projects.txt +15 -0
- package/src/apothem/audit/render_capability_index.py +467 -0
- package/src/apothem/audit/render_inventory.py +405 -0
- package/src/apothem/audit/scan_ai_surfaces.py +1125 -0
- package/src/apothem/audit/scan_ai_surfaces_coarse.py +261 -0
- package/src/apothem/audit/scan_drift_features.py +143 -0
- package/src/apothem/audit/scan_frontmatter.py +293 -0
- package/src/apothem/audit/scan_header_coverage.py +1134 -0
- package/src/apothem/audit/scan_plan_leakage.py +540 -0
- package/src/apothem/audit/scan_plans_discipline.py +188 -0
- package/src/apothem/audit/scan_secrets_pii.py +245 -0
- package/src/apothem/audit/scan_stale_tokens.py +296 -0
- package/src/apothem/audit/synthesize_drift.py +205 -0
- package/src/apothem/benchmarks/README.md +33 -0
- package/src/apothem/benchmarks/__init__.py +3 -0
- package/src/apothem/benchmarks/bench_agents.py +63 -0
- package/src/apothem/benchmarks/bench_hooks.py +93 -0
- package/src/apothem/benchmarks/bench_install.py +58 -0
- package/src/apothem/benchmarks/bench_tests.py +93 -0
- package/src/apothem/benchmarks/bench_validate_ecosystem.py +84 -0
- package/src/apothem/cli/README.md +33 -0
- package/src/apothem/cli/__init__.py +229 -0
- package/src/apothem/cli/_cmd_completion.py +88 -0
- package/src/apothem/cli/_cmd_diff.py +181 -0
- package/src/apothem/cli/_cmd_doctor.py +143 -0
- package/src/apothem/cli/_cmd_harnesses.py +167 -0
- package/src/apothem/cli/_cmd_install.py +327 -0
- package/src/apothem/cli/_cmd_migrate_workspace.py +143 -0
- package/src/apothem/cli/_cmd_profile.py +341 -0
- package/src/apothem/cli/_cmd_status.py +180 -0
- package/src/apothem/cli/_cmd_uninstall.py +215 -0
- package/src/apothem/cli/_cmd_update.py +397 -0
- package/src/apothem/cli/_cmd_verify.py +194 -0
- package/src/apothem/cli/_common_flags.py +90 -0
- package/src/apothem/cli/_epilogs.py +296 -0
- package/src/apothem/cli/_helpers.py +857 -0
- package/src/apothem/cli/_json_formatter.py +21 -0
- package/src/apothem/cli/_materialize.py +376 -0
- package/src/apothem/cli/completions/apothem.bash +30 -0
- package/src/apothem/cli/completions/apothem.fish +19 -0
- package/src/apothem/cli/completions/apothem.ps1 +27 -0
- package/src/apothem/cli/completions/apothem.zsh +42 -0
- package/src/apothem/cli/reference_export.py +126 -0
- package/src/apothem/commands/README.md +125 -0
- package/src/apothem/commands/a11y-audit.md +203 -0
- package/src/apothem/commands/architecture-review.md +194 -0
- package/src/apothem/commands/audit.md +165 -0
- package/src/apothem/commands/code-audit.md +218 -0
- package/src/apothem/commands/code-review.md +193 -0
- package/src/apothem/commands/dependency-audit.md +209 -0
- package/src/apothem/commands/docs-review.md +199 -0
- package/src/apothem/commands/elevate.md +285 -0
- package/src/apothem/commands/eval.md +149 -0
- package/src/apothem/commands/fortress.md +172 -0
- package/src/apothem/commands/freshify.md +168 -0
- package/src/apothem/commands/github-deploy-fresh.md +178 -0
- package/src/apothem/commands/github-deploy-next.md +167 -0
- package/src/apothem/commands/perf-audit.md +198 -0
- package/src/apothem/commands/plan-amend.md +104 -0
- package/src/apothem/commands/plan-audit.md +127 -0
- package/src/apothem/commands/plan-design.md +257 -0
- package/src/apothem/commands/plan-execute.md +495 -0
- package/src/apothem/commands/plan-generate.md +351 -0
- package/src/apothem/commands/plan-review.md +555 -0
- package/src/apothem/commands/plan-spec.md +359 -0
- package/src/apothem/commands/plan-status.md +222 -0
- package/src/apothem/commands/plan.md +173 -0
- package/src/apothem/commands/projectify.md +142 -0
- package/src/apothem/commands/release-readiness.md +142 -0
- package/src/apothem/commands/research-analysis.md +241 -0
- package/src/apothem/commands/research-design.md +231 -0
- package/src/apothem/commands/research-disseminate.md +225 -0
- package/src/apothem/commands/research-experiment.md +232 -0
- package/src/apothem/commands/research-ideate.md +213 -0
- package/src/apothem/commands/research-paper.md +252 -0
- package/src/apothem/commands/research-proposal.md +220 -0
- package/src/apothem/commands/research-publish.md +255 -0
- package/src/apothem/commands/research-review.md +251 -0
- package/src/apothem/commands/research-sources.md +266 -0
- package/src/apothem/commands/research-spec.md +255 -0
- package/src/apothem/commands/research-synthesis.md +233 -0
- package/src/apothem/commands/research-theory.md +218 -0
- package/src/apothem/commands/research.md +181 -0
- package/src/apothem/commands/security-audit.md +196 -0
- package/src/apothem/commands/supply-chain-audit.md +192 -0
- package/src/apothem/commands/test-suite.md +146 -0
- package/src/apothem/commands/threat-model-audit.md +199 -0
- package/src/apothem/commands/ux-review.md +202 -0
- package/src/apothem/commands/workflow.md +162 -0
- package/src/apothem/conformity/README.md +173 -0
- package/src/apothem/conformity/__init__.py +1 -0
- package/src/apothem/conformity/_grep_base.py +93 -0
- package/src/apothem/conformity/agent_capability_grep.py +306 -0
- package/src/apothem/conformity/agents_md_coverage_grep.py +382 -0
- package/src/apothem/conformity/agnosticism_grep.py +311 -0
- package/src/apothem/conformity/always_on_budget_grep.py +318 -0
- package/src/apothem/conformity/bare_except_grep.py +115 -0
- package/src/apothem/conformity/binding_reciprocity_grep.py +151 -0
- package/src/apothem/conformity/brand_mark_grep.py +272 -0
- package/src/apothem/conformity/commented_out_code_grep.py +176 -0
- package/src/apothem/conformity/completion_claim_grep.py +169 -0
- package/src/apothem/conformity/conventional_commit_grep.py +319 -0
- package/src/apothem/conformity/copilot_instructions_presence_grep.py +324 -0
- package/src/apothem/conformity/cross_platform_matrix_grep.py +297 -0
- package/src/apothem/conformity/determinism_grep.py +306 -0
- package/src/apothem/conformity/diagram_staleness_grep.py +154 -0
- package/src/apothem/conformity/dynamism_grep.py +284 -0
- package/src/apothem/conformity/editorconfig_presence_grep.py +281 -0
- package/src/apothem/conformity/file_header_grep.py +502 -0
- package/src/apothem/conformity/freshness_token_grep.py +233 -0
- package/src/apothem/conformity/frontmatter_grep.py +274 -0
- package/src/apothem/conformity/frontmatter_value_grep.py +386 -0
- package/src/apothem/conformity/gate.py +1386 -0
- package/src/apothem/conformity/gitattributes_presence_grep.py +238 -0
- package/src/apothem/conformity/harden_runner_grep.py +320 -0
- package/src/apothem/conformity/hedging_grep.py +129 -0
- package/src/apothem/conformity/license_author_consistency_grep.py +204 -0
- package/src/apothem/conformity/link_check.py +327 -0
- package/src/apothem/conformity/magic_number_grep.py +182 -0
- package/src/apothem/conformity/multi_surface_coherence_grep.py +620 -0
- package/src/apothem/conformity/naming_grep.py +224 -0
- package/src/apothem/conformity/no_global_plans_grep.py +339 -0
- package/src/apothem/conformity/no_toplevel_docs_grep.py +120 -0
- package/src/apothem/conformity/oidc_trusted_publishing_grep.py +291 -0
- package/src/apothem/conformity/option_annotation_grep.py +352 -0
- package/src/apothem/conformity/orphan_output_grep.py +206 -0
- package/src/apothem/conformity/permissions_minimum_scope_grep.py +299 -0
- package/src/apothem/conformity/plain_language_grep.py +559 -0
- package/src/apothem/conformity/plan_next_step_consistency_grep.py +450 -0
- package/src/apothem/conformity/plan_suite_structure_grep.py +534 -0
- package/src/apothem/conformity/plans_discipline_language_grep.py +245 -0
- package/src/apothem/conformity/production_ready_pr_grep.py +200 -0
- package/src/apothem/conformity/recommend_next_step_grep.py +250 -0
- package/src/apothem/conformity/redundancy_grep.py +401 -0
- package/src/apothem/conformity/reference_token_grep.py +230 -0
- package/src/apothem/conformity/registry_capability_consistency_grep.py +368 -0
- package/src/apothem/conformity/secret_leak_grep.py +193 -0
- package/src/apothem/conformity/semver_stability_grep.py +358 -0
- package/src/apothem/conformity/smoke_install_grep.py +194 -0
- package/src/apothem/conformity/static_version_grep.py +284 -0
- package/src/apothem/conformity/token_efficiency_grep.py +185 -0
- package/src/apothem/conformity/unpinned_action_grep.py +115 -0
- package/src/apothem/conformity/user_confirm_grep.py +74 -0
- package/src/apothem/conformity/workflow_concurrency_grep.py +283 -0
- package/src/apothem/harnesses/README.md +63 -0
- package/src/apothem/harnesses/__init__.py +16 -0
- package/src/apothem/harnesses/_shared/README.md +36 -0
- package/src/apothem/harnesses/_shared/__init__.py +12 -0
- package/src/apothem/harnesses/_shared/install_driver.py +281 -0
- package/src/apothem/harnesses/_shared/install_driver_apply.py +612 -0
- package/src/apothem/harnesses/_shared/install_driver_backup.py +535 -0
- package/src/apothem/harnesses/_shared/install_driver_converters.py +310 -0
- package/src/apothem/harnesses/_shared/install_driver_lifecycle.py +495 -0
- package/src/apothem/harnesses/_shared/install_driver_materialize.py +675 -0
- package/src/apothem/harnesses/_shared/install_driver_merge.py +656 -0
- package/src/apothem/harnesses/_shared/install_driver_pathsafety.py +137 -0
- package/src/apothem/harnesses/_shared/install_driver_planvalidation.py +240 -0
- package/src/apothem/harnesses/_shared/install_driver_removal.py +366 -0
- package/src/apothem/harnesses/_shared/install_driver_treeops.py +248 -0
- package/src/apothem/harnesses/_shared/install_driver_types.py +330 -0
- package/src/apothem/harnesses/_shared/wrapper_factories.py +448 -0
- package/src/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md +91 -0
- package/src/apothem/harnesses/antigravity/__init__.py +70 -0
- package/src/apothem/harnesses/antigravity/capabilities.yml +40 -0
- package/src/apothem/harnesses/antigravity/install.py +63 -0
- package/src/apothem/harnesses/antigravity/templates/GEMINI.md +40 -0
- package/src/apothem/harnesses/antigravity/templates/plugin.json +5 -0
- package/src/apothem/harnesses/antigravity/uninstall.py +22 -0
- package/src/apothem/harnesses/antigravity/update.py +10 -0
- package/src/apothem/harnesses/antigravity/verify.py +11 -0
- package/src/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md +65 -0
- package/src/apothem/harnesses/claude_code/__init__.py +107 -0
- package/src/apothem/harnesses/claude_code/capabilities.yml +42 -0
- package/src/apothem/harnesses/claude_code/install.py +147 -0
- package/src/apothem/harnesses/claude_code/templates/settings.json +351 -0
- package/src/apothem/harnesses/claude_code/uninstall.py +23 -0
- package/src/apothem/harnesses/claude_code/update.py +10 -0
- package/src/apothem/harnesses/claude_code/verify.py +11 -0
- package/src/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md +74 -0
- package/src/apothem/harnesses/codebuddy/__init__.py +49 -0
- package/src/apothem/harnesses/codebuddy/capabilities.yml +34 -0
- package/src/apothem/harnesses/codebuddy/install.py +40 -0
- package/src/apothem/harnesses/codebuddy/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/codebuddy/uninstall.py +25 -0
- package/src/apothem/harnesses/codebuddy/update.py +10 -0
- package/src/apothem/harnesses/codebuddy/verify.py +11 -0
- package/src/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md +79 -0
- package/src/apothem/harnesses/codex/__init__.py +72 -0
- package/src/apothem/harnesses/codex/capabilities.yml +40 -0
- package/src/apothem/harnesses/codex/install.py +69 -0
- package/src/apothem/harnesses/codex/templates/AGENTS.md +40 -0
- package/src/apothem/harnesses/codex/templates/hooks.json +127 -0
- package/src/apothem/harnesses/codex/uninstall.py +23 -0
- package/src/apothem/harnesses/codex/update.py +10 -0
- package/src/apothem/harnesses/codex/verify.py +11 -0
- package/src/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md +79 -0
- package/src/apothem/harnesses/cursor/__init__.py +48 -0
- package/src/apothem/harnesses/cursor/capabilities.yml +42 -0
- package/src/apothem/harnesses/cursor/install.py +38 -0
- package/src/apothem/harnesses/cursor/templates/apothem-rules.mdc +40 -0
- package/src/apothem/harnesses/cursor/uninstall.py +25 -0
- package/src/apothem/harnesses/cursor/update.py +10 -0
- package/src/apothem/harnesses/cursor/verify.py +11 -0
- package/src/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md +102 -0
- package/src/apothem/harnesses/gemini_cli/__init__.py +52 -0
- package/src/apothem/harnesses/gemini_cli/capabilities.yml +43 -0
- package/src/apothem/harnesses/gemini_cli/install.py +43 -0
- package/src/apothem/harnesses/gemini_cli/templates/GEMINI.md +38 -0
- package/src/apothem/harnesses/gemini_cli/uninstall.py +25 -0
- package/src/apothem/harnesses/gemini_cli/update.py +10 -0
- package/src/apothem/harnesses/gemini_cli/verify.py +11 -0
- package/src/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md +84 -0
- package/src/apothem/harnesses/github_copilot/__init__.py +47 -0
- package/src/apothem/harnesses/github_copilot/capabilities.yml +42 -0
- package/src/apothem/harnesses/github_copilot/install.py +40 -0
- package/src/apothem/harnesses/github_copilot/templates/copilot-instructions.md +33 -0
- package/src/apothem/harnesses/github_copilot/uninstall.py +25 -0
- package/src/apothem/harnesses/github_copilot/update.py +10 -0
- package/src/apothem/harnesses/github_copilot/verify.py +11 -0
- package/src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md +77 -0
- package/src/apothem/harnesses/glm/__init__.py +56 -0
- package/src/apothem/harnesses/glm/capabilities.yml +33 -0
- package/src/apothem/harnesses/glm/install.py +45 -0
- package/src/apothem/harnesses/glm/templates/glm.toml +58 -0
- package/src/apothem/harnesses/glm/uninstall.py +25 -0
- package/src/apothem/harnesses/glm/update.py +10 -0
- package/src/apothem/harnesses/glm/verify.py +11 -0
- package/src/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md +57 -0
- package/src/apothem/harnesses/hermes/__init__.py +33 -0
- package/src/apothem/harnesses/hermes/capabilities.yml +36 -0
- package/src/apothem/harnesses/hermes/install.py +17 -0
- package/src/apothem/harnesses/hermes/materializer.py +35 -0
- package/src/apothem/harnesses/hermes/uninstall.py +33 -0
- package/src/apothem/harnesses/hermes/update.py +10 -0
- package/src/apothem/harnesses/hermes/verify.py +11 -0
- package/src/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md +128 -0
- package/src/apothem/harnesses/kimi_code/__init__.py +59 -0
- package/src/apothem/harnesses/kimi_code/capabilities.yml +40 -0
- package/src/apothem/harnesses/kimi_code/install.py +42 -0
- package/src/apothem/harnesses/kimi_code/templates/AGENTS.md +43 -0
- package/src/apothem/harnesses/kimi_code/uninstall.py +27 -0
- package/src/apothem/harnesses/kimi_code/update.py +10 -0
- package/src/apothem/harnesses/kimi_code/verify.py +11 -0
- package/src/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md +77 -0
- package/src/apothem/harnesses/kiro/__init__.py +49 -0
- package/src/apothem/harnesses/kiro/capabilities.yml +36 -0
- package/src/apothem/harnesses/kiro/install.py +39 -0
- package/src/apothem/harnesses/kiro/templates/apothem-rules.md +36 -0
- package/src/apothem/harnesses/kiro/uninstall.py +25 -0
- package/src/apothem/harnesses/kiro/update.py +10 -0
- package/src/apothem/harnesses/kiro/verify.py +11 -0
- package/src/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md +62 -0
- package/src/apothem/harnesses/open_claw/__init__.py +35 -0
- package/src/apothem/harnesses/open_claw/capabilities.yml +35 -0
- package/src/apothem/harnesses/open_claw/install.py +17 -0
- package/src/apothem/harnesses/open_claw/materializer.py +36 -0
- package/src/apothem/harnesses/open_claw/uninstall.py +32 -0
- package/src/apothem/harnesses/open_claw/update.py +10 -0
- package/src/apothem/harnesses/open_claw/verify.py +11 -0
- package/src/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md +76 -0
- package/src/apothem/harnesses/opencode/__init__.py +35 -0
- package/src/apothem/harnesses/opencode/capabilities.yml +43 -0
- package/src/apothem/harnesses/opencode/install.py +17 -0
- package/src/apothem/harnesses/opencode/materializer.py +31 -0
- package/src/apothem/harnesses/opencode/uninstall.py +34 -0
- package/src/apothem/harnesses/opencode/update.py +10 -0
- package/src/apothem/harnesses/opencode/verify.py +11 -0
- package/src/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md +87 -0
- package/src/apothem/harnesses/qwen_code/__init__.py +37 -0
- package/src/apothem/harnesses/qwen_code/capabilities.yml +43 -0
- package/src/apothem/harnesses/qwen_code/install.py +19 -0
- package/src/apothem/harnesses/qwen_code/materializer.py +174 -0
- package/src/apothem/harnesses/qwen_code/templates/QWEN.md +30 -0
- package/src/apothem/harnesses/qwen_code/uninstall.py +34 -0
- package/src/apothem/harnesses/qwen_code/update.py +10 -0
- package/src/apothem/harnesses/qwen_code/verify.py +11 -0
- package/src/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md +70 -0
- package/src/apothem/harnesses/trae/__init__.py +49 -0
- package/src/apothem/harnesses/trae/capabilities.yml +34 -0
- package/src/apothem/harnesses/trae/install.py +38 -0
- package/src/apothem/harnesses/trae/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/trae/uninstall.py +25 -0
- package/src/apothem/harnesses/trae/update.py +10 -0
- package/src/apothem/harnesses/trae/verify.py +11 -0
- package/src/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md +91 -0
- package/src/apothem/harnesses/windsurf/__init__.py +52 -0
- package/src/apothem/harnesses/windsurf/capabilities.yml +40 -0
- package/src/apothem/harnesses/windsurf/install.py +41 -0
- package/src/apothem/harnesses/windsurf/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/windsurf/uninstall.py +25 -0
- package/src/apothem/harnesses/windsurf/update.py +10 -0
- package/src/apothem/harnesses/windsurf/verify.py +11 -0
- package/src/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md +92 -0
- package/src/apothem/harnesses/zed/__init__.py +57 -0
- package/src/apothem/harnesses/zed/capabilities.yml +38 -0
- package/src/apothem/harnesses/zed/install.py +41 -0
- package/src/apothem/harnesses/zed/templates/apothem-rules.md +32 -0
- package/src/apothem/harnesses/zed/uninstall.py +28 -0
- package/src/apothem/harnesses/zed/update.py +10 -0
- package/src/apothem/harnesses/zed/verify.py +11 -0
- package/src/apothem/hooks/README.md +81 -0
- package/src/apothem/hooks/__init__.py +24 -0
- package/src/apothem/hooks/askuserquestion_validator.py +380 -0
- package/src/apothem/hooks/dispatch.py +296 -0
- package/src/apothem/hooks/emit_hook_context.py +444 -0
- package/src/apothem/hooks/hooks.json +318 -0
- package/src/apothem/hooks/lib/README.md +39 -0
- package/src/apothem/hooks/lib/__init__.py +18 -0
- package/src/apothem/hooks/lib/bootstrap.ps1 +129 -0
- package/src/apothem/hooks/lib/bootstrap.sh +103 -0
- package/src/apothem/hooks/lib/events.py +51 -0
- package/src/apothem/hooks/lib/find-pwsh.ps1 +78 -0
- package/src/apothem/hooks/lib/find-pwsh.sh +76 -0
- package/src/apothem/hooks/lib/find-python.ps1 +63 -0
- package/src/apothem/hooks/lib/find-python.sh +97 -0
- package/src/apothem/hooks/lib/log.py +43 -0
- package/src/apothem/hooks/lib/resolve_root.py +264 -0
- package/src/apothem/hooks/messages/postcompact.md +14 -0
- package/src/apothem/hooks/messages/posttooluse-proactive-compaction.md +46 -0
- package/src/apothem/hooks/messages/precompact.md +14 -0
- package/src/apothem/hooks/messages/pretooluse-askuserquestion-recommended.md +65 -0
- package/src/apothem/hooks/messages/pretooluse-bash-plan-guard.md +97 -0
- package/src/apothem/hooks/messages/pretooluse-bash.md +39 -0
- package/src/apothem/hooks/messages/pretooluse-conformity.md +70 -0
- package/src/apothem/hooks/messages/pretooluse-dependency-guard.md +21 -0
- package/src/apothem/hooks/messages/pretooluse-edit-header-guard.md +61 -0
- package/src/apothem/hooks/messages/pretooluse-edit.md +21 -0
- package/src/apothem/hooks/messages/pretooluse-eval-guard.md +39 -0
- package/src/apothem/hooks/messages/pretooluse-notebookedit.md +11 -0
- package/src/apothem/hooks/messages/pretooluse-write-header-guard.md +45 -0
- package/src/apothem/hooks/messages/pretooluse-write-plan-guard.md +72 -0
- package/src/apothem/hooks/messages/pretooluse-write.md +21 -0
- package/src/apothem/hooks/messages/sessionstart.md +15 -0
- package/src/apothem/hooks/messages/stop.md +27 -0
- package/src/apothem/hooks/proactive_compaction_tracker.py +327 -0
- package/src/apothem/hooks/session_start_bootstrap.py +472 -0
- package/src/apothem/lib/README.md +42 -0
- package/src/apothem/lib/__init__.py +13 -0
- package/src/apothem/lib/atomic_io.py +189 -0
- package/src/apothem/lib/auditor.py +687 -0
- package/src/apothem/lib/clean_slate.py +396 -0
- package/src/apothem/lib/contexts.py +352 -0
- package/src/apothem/lib/data_home.py +255 -0
- package/src/apothem/lib/frontmatter.py +101 -0
- package/src/apothem/lib/harness_materializer.py +213 -0
- package/src/apothem/lib/harness_protocol.py +59 -0
- package/src/apothem/lib/harness_registry.py +282 -0
- package/src/apothem/lib/harness_registry_data.py +843 -0
- package/src/apothem/lib/install_ledger.py +347 -0
- package/src/apothem/lib/learning.py +540 -0
- package/src/apothem/lib/memory.py +347 -0
- package/src/apothem/lib/parallel_sweep.py +234 -0
- package/src/apothem/lib/plan_tiers.py +200 -0
- package/src/apothem/lib/plugin_bootstrap.py +132 -0
- package/src/apothem/lib/plugin_tree.py +599 -0
- package/src/apothem/lib/profile.py +755 -0
- package/src/apothem/lib/profile_projection.py +198 -0
- package/src/apothem/lib/propagation-manifest.yaml +878 -0
- package/src/apothem/lib/propagation.py +220 -0
- package/src/apothem/lib/python_resolver.py +189 -0
- package/src/apothem/lib/reporter.py +62 -0
- package/src/apothem/lib/workspace_migration.py +323 -0
- package/src/apothem/output-styles/README.md +41 -0
- package/src/apothem/output-styles/concise-engineer.md +49 -0
- package/src/apothem/output-styles/default-architect.md +52 -0
- package/src/apothem/output-styles/default.md +113 -0
- package/src/apothem/output-styles/forensic-auditor.md +63 -0
- package/src/apothem/py.typed +0 -0
- package/src/apothem/rules/README.md +121 -0
- package/src/apothem/rules/agent-capability-discipline-matrix.md +89 -0
- package/src/apothem/rules/agent-capability-discipline.md +78 -0
- package/src/apothem/rules/agent-orchestration-patterns.md +144 -0
- package/src/apothem/rules/agent-orchestration.md +65 -0
- package/src/apothem/rules/agents-md-convention.md +86 -0
- package/src/apothem/rules/agile-sprints-elements.md +135 -0
- package/src/apothem/rules/agile-sprints.md +64 -0
- package/src/apothem/rules/agnostic-posture-checklist.md +47 -0
- package/src/apothem/rules/agnostic-posture.md +48 -0
- package/src/apothem/rules/authoritative-referencing-quotation.md +50 -0
- package/src/apothem/rules/authoritative-referencing.md +66 -0
- package/src/apothem/rules/authority-inquiry-categories.md +58 -0
- package/src/apothem/rules/authority-inquiry.md +54 -0
- package/src/apothem/rules/auto-memory-topic-files.md +86 -0
- package/src/apothem/rules/auto-memory.md +67 -0
- package/src/apothem/rules/bidirectional-binding.md +123 -0
- package/src/apothem/rules/canonical-layout-reporting-tiers.md +212 -0
- package/src/apothem/rules/canonical-layout.md +60 -0
- package/src/apothem/rules/clean-architecture-layers.md +186 -0
- package/src/apothem/rules/clean-room-generation-protocols.md +124 -0
- package/src/apothem/rules/clean-room-generation.md +59 -0
- package/src/apothem/rules/code-craft-conventions.md +101 -0
- package/src/apothem/rules/code-craft-markdown.md +138 -0
- package/src/apothem/rules/code-craft-python.md +154 -0
- package/src/apothem/rules/code-craft-shell.md +192 -0
- package/src/apothem/rules/cognitive-identity-techniques.md +180 -0
- package/src/apothem/rules/cognitive-identity.md +81 -0
- package/src/apothem/rules/context-management-budget.md +46 -0
- package/src/apothem/rules/context-management-protocol.md +161 -0
- package/src/apothem/rules/context-management-scratch.md +128 -0
- package/src/apothem/rules/context-management.md +85 -0
- package/src/apothem/rules/definitiveness-virtues.md +67 -0
- package/src/apothem/rules/definitiveness.md +58 -0
- package/src/apothem/rules/determinism.md +81 -0
- package/src/apothem/rules/disclosure-ledger-markers.md +58 -0
- package/src/apothem/rules/disclosure-ledger.md +52 -0
- package/src/apothem/rules/dynamism.md +38 -0
- package/src/apothem/rules/etc-extension.md +57 -0
- package/src/apothem/rules/expertise-posture-elements.md +68 -0
- package/src/apothem/rules/expertise-posture.md +54 -0
- package/src/apothem/rules/freshness-facade.md +64 -0
- package/src/apothem/rules/harness-adapter-shape-schemas.md +162 -0
- package/src/apothem/rules/harness-adapter-shape.md +42 -0
- package/src/apothem/rules/host-discovery-manifests.md +50 -0
- package/src/apothem/rules/host-discovery.md +56 -0
- package/src/apothem/rules/i18n-discipline-locale-cohorts.md +120 -0
- package/src/apothem/rules/i18n-discipline.md +70 -0
- package/src/apothem/rules/interactive-questions-canonical-shapes.md +590 -0
- package/src/apothem/rules/interactive-questions-detail.md +41 -0
- package/src/apothem/rules/interactive-questions-sweep-matchers.md +184 -0
- package/src/apothem/rules/interactive-questions.md +89 -0
- package/src/apothem/rules/large-file-generation.md +112 -0
- package/src/apothem/rules/large-file-reading.md +59 -0
- package/src/apothem/rules/living-docs.md +85 -0
- package/src/apothem/rules/multi-agent-workflow.md +57 -0
- package/src/apothem/rules/operational-mandates-expanded.md +78 -0
- package/src/apothem/rules/operational-mandates.md +88 -0
- package/src/apothem/rules/option-annotation-form.md +60 -0
- package/src/apothem/rules/option-annotation.md +45 -0
- package/src/apothem/rules/own-voice-reimplementation.md +86 -0
- package/src/apothem/rules/performance-discipline.md +91 -0
- package/src/apothem/rules/persistent-conventions-vigilance-checklist.md +54 -0
- package/src/apothem/rules/persistent-conventions-vigilance.md +61 -0
- package/src/apothem/rules/plain-language.md +56 -0
- package/src/apothem/rules/planning-techniques.md +130 -0
- package/src/apothem/rules/pre-emission-gate-bars.md +86 -0
- package/src/apothem/rules/pre-emission-gate.md +54 -0
- package/src/apothem/rules/production-ready-prs-surfaces.md +162 -0
- package/src/apothem/rules/production-ready-prs.md +83 -0
- package/src/apothem/rules/propagation.md +63 -0
- package/src/apothem/rules/recommend-next-step.md +106 -0
- package/src/apothem/rules/refactoring-discipline.md +76 -0
- package/src/apothem/rules/session-closure.md +44 -0
- package/src/apothem/rules/sota-elevation-exemplars.md +76 -0
- package/src/apothem/rules/sota-elevation.md +52 -0
- package/src/apothem/rules/source-accessibility.md +58 -0
- package/src/apothem/rules/surgical-manipulation.md +48 -0
- package/src/apothem/rules/systemic-participation-relations.md +108 -0
- package/src/apothem/rules/systemic-participation.md +70 -0
- package/src/apothem/rules/ten-dimension-check-dimensions.md +52 -0
- package/src/apothem/rules/ten-dimension-check.md +59 -0
- package/src/apothem/rules/token-budget-discipline.md +81 -0
- package/src/apothem/rules/token-efficiency-rewrite-protocol.md +79 -0
- package/src/apothem/rules/token-efficiency-rewrite.md +77 -0
- package/src/apothem/rules/tool-use-discipline.md +48 -0
- package/src/apothem/rules/visual-leverage.md +102 -0
- package/src/apothem/schemas/NOTICE.md +9 -0
- package/src/apothem/schemas/README.md +104 -0
- package/src/apothem/schemas/__init__.py +176 -0
- package/src/apothem/schemas/advisory-finding.schema.json +111 -0
- package/src/apothem/schemas/agent.schema.json +106 -0
- package/src/apothem/schemas/authorship-header.txt +1 -0
- package/src/apothem/schemas/cohort-manifest.yaml +248 -0
- package/src/apothem/schemas/cohort-metadata-vocabulary.yaml +168 -0
- package/src/apothem/schemas/cohort.schema.json +113 -0
- package/src/apothem/schemas/command.schema.json +68 -0
- package/src/apothem/schemas/compatibility-matrix.yaml +432 -0
- package/src/apothem/schemas/context-fragment.schema.json +64 -0
- package/src/apothem/schemas/freshness-token-denylist.txt +51 -0
- package/src/apothem/schemas/handoff-manifest.yaml +353 -0
- package/src/apothem/schemas/header-exceptions.txt +141 -0
- package/src/apothem/schemas/header-visibility.yaml +39 -0
- package/src/apothem/schemas/learning-signal.schema.json +46 -0
- package/src/apothem/schemas/memory-record.schema.json +61 -0
- package/src/apothem/schemas/output-style.schema.json +40 -0
- package/src/apothem/schemas/plan.schema.json +51 -0
- package/src/apothem/schemas/plugin.schema.json +83 -0
- package/src/apothem/schemas/profile.example.yaml +70 -0
- package/src/apothem/schemas/profile.minimal.yaml +6 -0
- package/src/apothem/schemas/profile.schema.json +396 -0
- package/src/apothem/schemas/reference-token-denylist.txt +25 -0
- package/src/apothem/schemas/skill.schema.json +75 -0
- package/src/apothem/skills/README.md +93 -0
- package/src/apothem/skills/dependency-upgrade/SKILL.md +105 -0
- package/src/apothem/skills/dev-toolkit/SKILL.md +120 -0
- package/src/apothem/skills/diagram-authoring/SKILL.md +113 -0
- package/src/apothem/skills/document-authoring/SKILL.md +118 -0
- package/src/apothem/skills/ecosystem-audit/SKILL.md +108 -0
- package/src/apothem/skills/ecosystem-audit/references/audit-fortress.md +85 -0
- package/src/apothem/skills/ecosystem-audit/references/procedure.md +162 -0
- package/src/apothem/skills/eval-harness/SKILL.md +88 -0
- package/src/apothem/skills/incident-runbook/SKILL.md +92 -0
- package/src/apothem/skills/multi-source-research/SKILL.md +90 -0
- package/src/apothem/skills/plan-suite/SKILL.md +118 -0
- package/src/apothem/skills/plan-suite/master_template.md +1324 -0
- package/src/apothem/skills/projectify/SKILL.md +117 -0
- package/src/apothem/skills/prompt-engineering/SKILL.md +122 -0
- package/src/apothem/skills/refactor-extract/SKILL.md +85 -0
- package/src/apothem/skills/research-suite/SKILL.md +170 -0
- package/src/apothem/skills/research-suite/references/directory-structure.md +47 -0
- package/src/apothem/skills/research-suite/references/lifecycle.md +67 -0
- package/src/apothem/skills/research-suite/references/principal-investigator-framework.md +37 -0
- package/src/apothem/skills/research-suite/references/rigor-mandates.md +30 -0
- package/src/apothem/skills/research-suite/research_template.md +476 -0
- package/src/apothem/skills/secret-rotation/SKILL.md +87 -0
- package/src/apothem/skills/source-synthesis/SKILL.md +92 -0
- package/src/apothem/skills/surgical-guard/SKILL.md +118 -0
- package/src/apothem/skills/test-authoring/SKILL.md +85 -0
- package/src/apothem/skills/vuln-triage/SKILL.md +91 -0
- package/src/apothem/skills/workflow/SKILL.md +139 -0
- package/src/apothem/statuslines/README.md +26 -0
- package/src/apothem/statuslines/__init__.py +20 -0
- package/src/apothem/statuslines/conformity.json +5 -0
- package/src/apothem/statuslines/render.py +334 -0
- package/src/apothem/statuslines/statusline.md +50 -0
- package/src/apothem/templates/README.md +43 -0
- package/src/apothem/templates/agents-md-template.md +80 -0
- package/src/apothem/templates/consideration-log.md +39 -0
- package/src/apothem/templates/expertise-gap-log.md +56 -0
- package/src/apothem/templates/master-index-template.md +93 -0
- package/src/apothem/templates/potency-map.md +53 -0
- package/src/apothem/templates/preservation-audit.md +60 -0
- package/src/apothem/templates/question-resolution-audit.md +52 -0
- package/src/apothem/templates/trace-matrix-template.md +77 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://apothem.ahmedgad.com/schemas/command.schema.json",
|
|
4
|
+
"title": "Command",
|
|
5
|
+
"description": "Frontmatter schema for slash-command definitions under src/apothem/commands/. Reconciled to the live command corpus: every shipped command carries name, version, updated, description, argument-hint, disable-model-invocation, portability, and allowed-tools.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"allowed-tools",
|
|
9
|
+
"argument-hint",
|
|
10
|
+
"description",
|
|
11
|
+
"disable-model-invocation",
|
|
12
|
+
"name",
|
|
13
|
+
"portability",
|
|
14
|
+
"updated",
|
|
15
|
+
"version"
|
|
16
|
+
],
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"properties": {
|
|
19
|
+
"name": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Human-readable kebab-case name matching the slash-command surface (the filename without .md), declared without a leading slash.",
|
|
22
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
23
|
+
},
|
|
24
|
+
"description": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Capability-led statement of the command's purpose and invocation triggers."
|
|
27
|
+
},
|
|
28
|
+
"version": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "SemVer version of the command definition.",
|
|
31
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$"
|
|
32
|
+
},
|
|
33
|
+
"updated": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "ISO 8601 date of the command's last revision.",
|
|
36
|
+
"format": "date",
|
|
37
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
38
|
+
},
|
|
39
|
+
"argument-hint": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Usage hint shown to the operator describing the command's accepted arguments and flags."
|
|
42
|
+
},
|
|
43
|
+
"disable-model-invocation": {
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"description": "When true, the command is reached only by explicit /<name> invocation, never auto-selected by the model from its description."
|
|
46
|
+
},
|
|
47
|
+
"portability": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Portability classification across harness adapters (e.g. universal, claude-code-only)."
|
|
50
|
+
},
|
|
51
|
+
"allowed-tools": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Comma-separated list of tools the command may invoke, or \"*\" for the full surface."
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"examples": [
|
|
57
|
+
{
|
|
58
|
+
"name": "eval",
|
|
59
|
+
"description": "Model-agnostic language-model evaluation campaign. Defines a dataset and scorer, runs a candidate model over it, scores every output, and emits a regression-aware report.",
|
|
60
|
+
"version": "0.1.0",
|
|
61
|
+
"updated": "2026-06-16",
|
|
62
|
+
"argument-hint": "[--dataset PATH] [--scorer NAME]",
|
|
63
|
+
"disable-model-invocation": true,
|
|
64
|
+
"portability": "universal",
|
|
65
|
+
"allowed-tools": "*"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
# Cross-harness compatibility matrix
|
|
4
|
+
# Declares per-rule, per-agent, per-hook, per-output-style, per-skill, and
|
|
5
|
+
# per-schema compatibility across the 15 Apothem harness adapters.
|
|
6
|
+
# A reference artifact exposed via schemas.compatibility_matrix_path(); install-
|
|
7
|
+
# time asset resolution itself flows through lib/propagation-manifest.yaml and
|
|
8
|
+
# cohort-manifest.yaml, not this matrix.
|
|
9
|
+
#
|
|
10
|
+
# Schema version: 1.0.0
|
|
11
|
+
# Maintained by: Apothem — update whenever a harness adds/drops a capability.
|
|
12
|
+
|
|
13
|
+
schema_version: "1.0.0"
|
|
14
|
+
|
|
15
|
+
# ---------------------------------------------------------------------------
|
|
16
|
+
# Harness inventory
|
|
17
|
+
# ---------------------------------------------------------------------------
|
|
18
|
+
harnesses:
|
|
19
|
+
- name: claude-code
|
|
20
|
+
display: Claude Code
|
|
21
|
+
config_format: json
|
|
22
|
+
supports_hooks: true
|
|
23
|
+
supports_agents: true
|
|
24
|
+
supports_skills: true
|
|
25
|
+
supports_custom_rules: true
|
|
26
|
+
supports_output_styles: true
|
|
27
|
+
supports_statuslines: true
|
|
28
|
+
platform: [linux, macos, windows]
|
|
29
|
+
notes: "Primary harness; full feature support via ~/.claude/ ecosystem."
|
|
30
|
+
|
|
31
|
+
- name: cursor
|
|
32
|
+
display: Cursor
|
|
33
|
+
config_format: mdc
|
|
34
|
+
supports_hooks: false
|
|
35
|
+
supports_agents: false
|
|
36
|
+
supports_skills: false
|
|
37
|
+
supports_custom_rules: true
|
|
38
|
+
supports_output_styles: false
|
|
39
|
+
supports_statuslines: false
|
|
40
|
+
platform: [linux, macos, windows]
|
|
41
|
+
notes: >-
|
|
42
|
+
Project rules via <project>/.cursor/rules/apothem-rules.mdc. Cursor has
|
|
43
|
+
no documented file-based user-global rules surface; the legacy
|
|
44
|
+
.cursorrules path is intentionally excluded.
|
|
45
|
+
|
|
46
|
+
- name: gemini-cli
|
|
47
|
+
display: Gemini CLI
|
|
48
|
+
config_format: markdown
|
|
49
|
+
supports_hooks: false
|
|
50
|
+
supports_agents: true
|
|
51
|
+
supports_skills: true
|
|
52
|
+
supports_custom_rules: true
|
|
53
|
+
supports_output_styles: false
|
|
54
|
+
supports_statuslines: false
|
|
55
|
+
platform: [linux, macos, windows]
|
|
56
|
+
notes: >-
|
|
57
|
+
Project context via <project>/GEMINI.md plus native
|
|
58
|
+
<project>/.gemini/{commands,skills,agents}/ and Apothem support material
|
|
59
|
+
under <project>/.gemini/apothem/.
|
|
60
|
+
|
|
61
|
+
- name: github-copilot
|
|
62
|
+
display: GitHub Copilot
|
|
63
|
+
config_format: markdown
|
|
64
|
+
supports_hooks: false
|
|
65
|
+
supports_agents: false
|
|
66
|
+
supports_skills: false
|
|
67
|
+
supports_custom_rules: true
|
|
68
|
+
supports_output_styles: false
|
|
69
|
+
supports_statuslines: false
|
|
70
|
+
platform: [linux, macos, windows]
|
|
71
|
+
notes: >-
|
|
72
|
+
Project instructions via <project>/.github/copilot-instructions.md.
|
|
73
|
+
GitHub Copilot user-level settings live in IDE state, not an adapter-owned
|
|
74
|
+
user-global file.
|
|
75
|
+
|
|
76
|
+
- name: codex
|
|
77
|
+
display: Codex
|
|
78
|
+
config_format: markdown
|
|
79
|
+
supports_hooks: true
|
|
80
|
+
supports_agents: true
|
|
81
|
+
supports_skills: true
|
|
82
|
+
supports_custom_rules: true
|
|
83
|
+
supports_output_styles: false
|
|
84
|
+
supports_statuslines: false
|
|
85
|
+
platform: [linux, macos, windows]
|
|
86
|
+
notes: >-
|
|
87
|
+
Native ~/.codex/AGENTS.md, ~/.codex/hooks.json, ~/.codex/hooks/,
|
|
88
|
+
~/.codex/agents/*.toml, shared ~/.agents/skills/, and Apothem
|
|
89
|
+
support material under ~/.config/apothem/.
|
|
90
|
+
|
|
91
|
+
- name: windsurf
|
|
92
|
+
display: Windsurf
|
|
93
|
+
config_format: markdown
|
|
94
|
+
supports_hooks: false
|
|
95
|
+
supports_agents: false
|
|
96
|
+
supports_skills: false
|
|
97
|
+
supports_custom_rules: true
|
|
98
|
+
supports_output_styles: false
|
|
99
|
+
supports_statuslines: false
|
|
100
|
+
platform: [linux, macos, windows]
|
|
101
|
+
notes: >-
|
|
102
|
+
Project rules via <project>/.devin/rules/apothem-rules.md (the preferred
|
|
103
|
+
surface after the Devin Desktop rebrand; .windsurf/rules/ is the
|
|
104
|
+
backward-compat fallback). Workflows and machine-local memories are
|
|
105
|
+
operator-owned; legacy .windsurfrules is intentionally excluded.
|
|
106
|
+
|
|
107
|
+
- name: opencode
|
|
108
|
+
display: OpenCode
|
|
109
|
+
config_format: json
|
|
110
|
+
supports_hooks: false
|
|
111
|
+
supports_agents: true
|
|
112
|
+
supports_skills: true
|
|
113
|
+
supports_custom_rules: true
|
|
114
|
+
supports_output_styles: false
|
|
115
|
+
supports_statuslines: false
|
|
116
|
+
platform: [linux, macos, windows]
|
|
117
|
+
notes: "Config plus native ~/.config/opencode/{commands,skills,agents}/."
|
|
118
|
+
|
|
119
|
+
- name: antigravity
|
|
120
|
+
display: Antigravity
|
|
121
|
+
config_format: markdown
|
|
122
|
+
supports_hooks: false
|
|
123
|
+
supports_agents: true
|
|
124
|
+
supports_skills: true
|
|
125
|
+
supports_custom_rules: true
|
|
126
|
+
supports_output_styles: false
|
|
127
|
+
supports_statuslines: false
|
|
128
|
+
platform: [linux, macos, windows]
|
|
129
|
+
notes: >-
|
|
130
|
+
User instructions via ~/.gemini/GEMINI.md plus the Apothem Antigravity
|
|
131
|
+
CLI plugin under ~/.gemini/antigravity-cli/plugins/apothem/. The shared
|
|
132
|
+
GEMINI.md anchor with gemini-cli is intentional; prior
|
|
133
|
+
~/.gemini/antigravity/ and ~/.antigravity/profile.yaml targets are
|
|
134
|
+
retired.
|
|
135
|
+
|
|
136
|
+
- name: open-claw
|
|
137
|
+
display: Open-Claw
|
|
138
|
+
config_format: json
|
|
139
|
+
supports_hooks: false
|
|
140
|
+
supports_agents: true
|
|
141
|
+
supports_skills: true
|
|
142
|
+
supports_custom_rules: true
|
|
143
|
+
supports_output_styles: false
|
|
144
|
+
supports_statuslines: false
|
|
145
|
+
platform: [linux, macos, windows]
|
|
146
|
+
notes: >-
|
|
147
|
+
Native config via ~/.openclaw/openclaw.json. agents.defaults.skills is a
|
|
148
|
+
name allowlist (not a dir loader), so Apothem authors no skills key; support
|
|
149
|
+
skills land under ~/.openclaw/apothem/.
|
|
150
|
+
Prior target ~/.open-claw/config.yaml used the wrong directory name and
|
|
151
|
+
extension.
|
|
152
|
+
|
|
153
|
+
- name: hermes
|
|
154
|
+
display: Hermes
|
|
155
|
+
config_format: yaml
|
|
156
|
+
supports_hooks: false
|
|
157
|
+
supports_agents: true
|
|
158
|
+
supports_skills: true
|
|
159
|
+
supports_custom_rules: true
|
|
160
|
+
supports_output_styles: false
|
|
161
|
+
supports_statuslines: false
|
|
162
|
+
platform: [linux, macos, windows]
|
|
163
|
+
notes: >-
|
|
164
|
+
Native config via ~/.hermes/config.yaml (profile MCP under auxiliary.mcp).
|
|
165
|
+
skills.config is a vendor registry-package list Apothem does not author;
|
|
166
|
+
support skills land under ~/.hermes/apothem/.
|
|
167
|
+
Prior targets ~/.hermes/cli-config.yaml and ~/.hermes/profile.yaml used
|
|
168
|
+
retired filenames.
|
|
169
|
+
|
|
170
|
+
- name: qwen-code
|
|
171
|
+
display: Qwen Code
|
|
172
|
+
config_format: json
|
|
173
|
+
supports_hooks: true
|
|
174
|
+
supports_agents: true
|
|
175
|
+
supports_skills: true
|
|
176
|
+
supports_custom_rules: true
|
|
177
|
+
supports_output_styles: false
|
|
178
|
+
supports_statuslines: false
|
|
179
|
+
platform: [linux, macos, windows]
|
|
180
|
+
notes: >-
|
|
181
|
+
Settings plus QWEN.md, native ~/.qwen/{commands,skills,agents}/, and
|
|
182
|
+
native hook wiring through ~/.qwen/settings.json. Apothem support
|
|
183
|
+
material remains under ~/.qwen/apothem/.
|
|
184
|
+
|
|
185
|
+
- name: kimi-code
|
|
186
|
+
display: Kimi Code
|
|
187
|
+
config_format: markdown
|
|
188
|
+
supports_hooks: false
|
|
189
|
+
supports_agents: true
|
|
190
|
+
supports_skills: true
|
|
191
|
+
supports_custom_rules: true
|
|
192
|
+
supports_output_styles: false
|
|
193
|
+
supports_statuslines: false
|
|
194
|
+
platform: [linux, macos, windows]
|
|
195
|
+
notes: >-
|
|
196
|
+
Project-root AGENTS.md managed block plus an Apothem support tree under
|
|
197
|
+
<project>/.kimi-code/apothem/ carrying rules, commands, skills, agents,
|
|
198
|
+
and templates. The <project>/.kimi-code/mcp.json MCP surface is
|
|
199
|
+
operator-owned.
|
|
200
|
+
|
|
201
|
+
- name: codebuddy
|
|
202
|
+
display: CodeBuddy
|
|
203
|
+
config_format: markdown
|
|
204
|
+
supports_hooks: false
|
|
205
|
+
supports_agents: false
|
|
206
|
+
supports_skills: false
|
|
207
|
+
supports_custom_rules: true
|
|
208
|
+
supports_output_styles: false
|
|
209
|
+
supports_statuslines: false
|
|
210
|
+
platform: [linux, macos, windows]
|
|
211
|
+
notes: >-
|
|
212
|
+
Project rules via <project>/.codebuddy/rules/apothem-rules.md, a
|
|
213
|
+
dedicated apothem file. CodeBuddy's CODEBUDDY.md memory file and
|
|
214
|
+
.codebuddy/settings.json (permissions/MCP) are operator-owned.
|
|
215
|
+
|
|
216
|
+
- name: kiro
|
|
217
|
+
display: Kiro
|
|
218
|
+
config_format: markdown
|
|
219
|
+
supports_hooks: false
|
|
220
|
+
supports_agents: false
|
|
221
|
+
supports_skills: false
|
|
222
|
+
supports_custom_rules: true
|
|
223
|
+
supports_output_styles: false
|
|
224
|
+
supports_statuslines: false
|
|
225
|
+
platform: [linux, macos, windows]
|
|
226
|
+
notes: >-
|
|
227
|
+
Project steering via <project>/.kiro/steering/apothem-rules.md
|
|
228
|
+
(inclusion: always). Kiro foundation files (product.md, tech.md,
|
|
229
|
+
structure.md) and specs are operator-owned.
|
|
230
|
+
|
|
231
|
+
- name: trae
|
|
232
|
+
display: Trae
|
|
233
|
+
config_format: markdown
|
|
234
|
+
supports_hooks: false
|
|
235
|
+
supports_agents: false
|
|
236
|
+
supports_skills: false
|
|
237
|
+
supports_custom_rules: true
|
|
238
|
+
supports_output_styles: false
|
|
239
|
+
supports_statuslines: false
|
|
240
|
+
platform: [linux, macos, windows]
|
|
241
|
+
notes: >-
|
|
242
|
+
Project rules via <project>/.trae/rules/apothem-rules.md, alongside the
|
|
243
|
+
operator-owned project_rules.md and user_rules.md anchors. The
|
|
244
|
+
.trae/mcp.json and .trae/skills/ surfaces are operator-owned.
|
|
245
|
+
|
|
246
|
+
- name: zed
|
|
247
|
+
display: Zed
|
|
248
|
+
config_format: markdown
|
|
249
|
+
supports_hooks: false
|
|
250
|
+
supports_agents: false
|
|
251
|
+
supports_skills: false
|
|
252
|
+
supports_custom_rules: true
|
|
253
|
+
supports_output_styles: false
|
|
254
|
+
supports_statuslines: false
|
|
255
|
+
platform: [linux, macos, windows]
|
|
256
|
+
notes: >-
|
|
257
|
+
Project agent-instructions via the flat <project>/.rules file (no rules
|
|
258
|
+
directory). Global ~/.config/zed/AGENTS.md and .zed/settings.json MCP
|
|
259
|
+
context_servers are operator-owned.
|
|
260
|
+
|
|
261
|
+
- name: glm
|
|
262
|
+
display: GLM (Z.ai)
|
|
263
|
+
config_format: toml
|
|
264
|
+
supports_hooks: false
|
|
265
|
+
supports_agents: false
|
|
266
|
+
supports_skills: false
|
|
267
|
+
supports_custom_rules: false
|
|
268
|
+
supports_output_styles: false
|
|
269
|
+
supports_statuslines: false
|
|
270
|
+
platform: [linux, macos, windows]
|
|
271
|
+
notes: >-
|
|
272
|
+
GLM (Z.ai) is a model backend, not a coding-agent tool. The adapter
|
|
273
|
+
writes a project-scope Apothem-owned provider file at
|
|
274
|
+
<project>/.apothem/providers/glm.toml recording the Anthropic-compatible
|
|
275
|
+
(https://api.z.ai/api/anthropic) and OpenAI-compatible
|
|
276
|
+
(https://api.z.ai/api/coding/paas/v4) backend base URLs, an auth-token
|
|
277
|
+
placeholder, and operator-configurable model-mapping placeholders. A
|
|
278
|
+
model backend exposes no coding-agent cohort, so every capability is
|
|
279
|
+
unsupported.
|
|
280
|
+
|
|
281
|
+
# ---------------------------------------------------------------------------
|
|
282
|
+
# Asset-class compatibility
|
|
283
|
+
# ---------------------------------------------------------------------------
|
|
284
|
+
# For each shared-profile asset class, declares which harnesses can consume it
|
|
285
|
+
# and how it is adapted (materialisation_strategy).
|
|
286
|
+
|
|
287
|
+
asset_classes:
|
|
288
|
+
rules:
|
|
289
|
+
description: "Behavioral rules (.md) from src/apothem/rules/."
|
|
290
|
+
compatible_harnesses:
|
|
291
|
+
- claude-code # full: rules injected into ~/.claude/ tree
|
|
292
|
+
- cursor # partial: distilled into project .cursor/rules/
|
|
293
|
+
- gemini-cli # partial: distilled into ~/.gemini/GEMINI.md
|
|
294
|
+
- github-copilot # partial: distilled into copilot-instructions.md
|
|
295
|
+
- codex # partial: distilled into ~/.codex/AGENTS.md
|
|
296
|
+
- windsurf # partial: distilled into project .devin/rules/ (preferred; .windsurf/rules/ fallback)
|
|
297
|
+
- opencode # partial: support cohort referenced by opencode.json
|
|
298
|
+
- antigravity # partial: distilled into GEMINI.md plus plugin rules
|
|
299
|
+
- open-claw # partial: support cohort referenced by installed skills
|
|
300
|
+
- hermes # partial: support cohort referenced by installed skills
|
|
301
|
+
- qwen-code # partial: support cohort referenced by QWEN.md
|
|
302
|
+
materialisation_strategy:
|
|
303
|
+
claude-code: "copy to ~/.claude/rules/"
|
|
304
|
+
default: "distil or reference from the harness-native instruction anchor"
|
|
305
|
+
|
|
306
|
+
agents:
|
|
307
|
+
description: "Agent definitions (flat *.md) from src/apothem/agents/."
|
|
308
|
+
compatible_harnesses:
|
|
309
|
+
- claude-code
|
|
310
|
+
- antigravity
|
|
311
|
+
- codex
|
|
312
|
+
- gemini-cli
|
|
313
|
+
- hermes
|
|
314
|
+
- open-claw
|
|
315
|
+
- opencode
|
|
316
|
+
- qwen-code
|
|
317
|
+
materialisation_strategy:
|
|
318
|
+
claude-code: "copy to ~/.claude/agents/"
|
|
319
|
+
antigravity: "convert to ~/.gemini/antigravity-cli/plugins/apothem/agents/*.md"
|
|
320
|
+
codex: "convert to ~/.codex/agents/*.toml"
|
|
321
|
+
gemini-cli: "convert to <project>/.gemini/agents/*.md"
|
|
322
|
+
hermes: "support cohort under ~/.hermes/apothem/agents/"
|
|
323
|
+
open-claw: "support cohort under ~/.openclaw/apothem/agents/"
|
|
324
|
+
opencode: "convert to ~/.config/opencode/agents/*.md"
|
|
325
|
+
qwen-code: "convert to ~/.qwen/agents/*.md"
|
|
326
|
+
default: "support cohort under apothem/agents/"
|
|
327
|
+
|
|
328
|
+
hooks:
|
|
329
|
+
description: "Hook scripts from src/apothem/hooks/."
|
|
330
|
+
compatible_harnesses:
|
|
331
|
+
- claude-code
|
|
332
|
+
- codex
|
|
333
|
+
- antigravity
|
|
334
|
+
- gemini-cli
|
|
335
|
+
- hermes
|
|
336
|
+
- open-claw
|
|
337
|
+
- opencode
|
|
338
|
+
- qwen-code
|
|
339
|
+
materialisation_strategy:
|
|
340
|
+
claude-code: "register in settings.json; support material under ~/.claude/apothem/hooks/"
|
|
341
|
+
codex: "copy to ~/.codex/hooks/ + register in ~/.codex/hooks.json"
|
|
342
|
+
antigravity: "support cohort under ~/.gemini/antigravity-cli/plugins/apothem/apothem/hooks/; no active hook wiring until schema adapter exists"
|
|
343
|
+
gemini-cli: "support cohort under <project>/.gemini/apothem/hooks/"
|
|
344
|
+
hermes: "support cohort under ~/.hermes/apothem/hooks/"
|
|
345
|
+
open-claw: "support cohort under ~/.openclaw/apothem/hooks/"
|
|
346
|
+
opencode: "support cohort under ~/.config/opencode/apothem/hooks/"
|
|
347
|
+
qwen-code: "register in settings.json; support material under ~/.qwen/apothem/hooks/"
|
|
348
|
+
default: "support cohort under apothem/hooks/"
|
|
349
|
+
|
|
350
|
+
skills:
|
|
351
|
+
description: "Skill definitions from src/apothem/skills/."
|
|
352
|
+
compatible_harnesses:
|
|
353
|
+
- claude-code
|
|
354
|
+
- antigravity
|
|
355
|
+
- codex
|
|
356
|
+
- gemini-cli
|
|
357
|
+
- hermes
|
|
358
|
+
- open-claw
|
|
359
|
+
- opencode
|
|
360
|
+
- qwen-code
|
|
361
|
+
materialisation_strategy:
|
|
362
|
+
claude-code: "copy to ~/.claude/skills/"
|
|
363
|
+
antigravity: "copy to ~/.gemini/antigravity-cli/plugins/apothem/skills/"
|
|
364
|
+
codex: "copy to ~/.agents/skills/"
|
|
365
|
+
gemini-cli: "copy to <project>/.gemini/skills/"
|
|
366
|
+
hermes: "copy to ~/.hermes/apothem/skills/ (support subtree; skills.config is a vendor registry-package list Apothem does not author)"
|
|
367
|
+
open-claw: "copy to ~/.openclaw/apothem/skills/ (support subtree; agents.defaults.skills is a name allowlist Apothem does not author)"
|
|
368
|
+
opencode: "copy to ~/.config/opencode/skills/"
|
|
369
|
+
qwen-code: "copy to ~/.qwen/skills/"
|
|
370
|
+
default: "support cohort under apothem/skills/"
|
|
371
|
+
|
|
372
|
+
commands:
|
|
373
|
+
description: "Custom slash-commands from src/apothem/commands/."
|
|
374
|
+
compatible_harnesses:
|
|
375
|
+
- claude-code
|
|
376
|
+
- antigravity
|
|
377
|
+
- codex
|
|
378
|
+
- gemini-cli
|
|
379
|
+
- hermes
|
|
380
|
+
- open-claw
|
|
381
|
+
- opencode
|
|
382
|
+
- qwen-code
|
|
383
|
+
materialisation_strategy:
|
|
384
|
+
claude-code: "wrap as ~/.claude/skills/<command>/SKILL.md"
|
|
385
|
+
antigravity: "wrap as ~/.gemini/antigravity-cli/plugins/apothem/skills/<command>/SKILL.md"
|
|
386
|
+
codex: "wrap as ~/.agents/skills/<command>/SKILL.md"
|
|
387
|
+
gemini-cli: "convert to <project>/.gemini/commands/*.toml"
|
|
388
|
+
hermes: "wrap as ~/.hermes/apothem/skills/<command>/SKILL.md"
|
|
389
|
+
open-claw: "wrap as ~/.openclaw/apothem/skills/<command>/SKILL.md"
|
|
390
|
+
opencode: "convert to ~/.config/opencode/commands/*.md"
|
|
391
|
+
qwen-code: "convert to ~/.qwen/commands/*.md"
|
|
392
|
+
default: "wrap as skills under the harness support tree"
|
|
393
|
+
|
|
394
|
+
output_styles:
|
|
395
|
+
description: "Output style definitions from src/apothem/output-styles/."
|
|
396
|
+
compatible_harnesses:
|
|
397
|
+
- claude-code
|
|
398
|
+
materialisation_strategy:
|
|
399
|
+
claude-code: "copy to ~/.claude/output-styles/"
|
|
400
|
+
default: "not supported"
|
|
401
|
+
|
|
402
|
+
statuslines:
|
|
403
|
+
description: "Statusline configs from src/apothem/statuslines/."
|
|
404
|
+
compatible_harnesses:
|
|
405
|
+
- claude-code
|
|
406
|
+
materialisation_strategy:
|
|
407
|
+
claude-code: "copy to ~/.claude/statuslines/"
|
|
408
|
+
default: "not supported"
|
|
409
|
+
|
|
410
|
+
templates:
|
|
411
|
+
description: "Prompt templates from src/apothem/templates/."
|
|
412
|
+
compatible_harnesses:
|
|
413
|
+
- claude-code
|
|
414
|
+
- antigravity
|
|
415
|
+
- codex
|
|
416
|
+
- gemini-cli
|
|
417
|
+
- hermes
|
|
418
|
+
- open-claw
|
|
419
|
+
- opencode
|
|
420
|
+
- qwen-code
|
|
421
|
+
materialisation_strategy:
|
|
422
|
+
claude-code: "support cohort under ~/.claude/apothem/templates/"
|
|
423
|
+
antigravity: "support cohort under ~/.gemini/antigravity-cli/plugins/apothem/apothem/templates/"
|
|
424
|
+
default: "support cohort under apothem/templates/"
|
|
425
|
+
|
|
426
|
+
schemas:
|
|
427
|
+
description: "Schema files from src/apothem/schemas/."
|
|
428
|
+
compatible_harnesses:
|
|
429
|
+
- claude-code
|
|
430
|
+
materialisation_strategy:
|
|
431
|
+
claude-code: "copy to ~/.claude/schemas/"
|
|
432
|
+
default: "not applicable"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://apothem.ahmedgad.com/schemas/context-fragment.schema.json",
|
|
4
|
+
"title": "Apothem Context Fragment",
|
|
5
|
+
"description": "One named, injectable prompt or context fragment in the contexts surface. A fragment is dynamic injectable text the operator can enable or disable, with activation metadata describing when it applies. The shape is neutral: it carries no tool-specific or vendor-specific identifier, so the same fragment applies across any installation target.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["id", "name", "body", "enabled"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "Stable fragment identifier, unique within a contexts store."
|
|
14
|
+
},
|
|
15
|
+
"name": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1,
|
|
18
|
+
"description": "Human-readable fragment name."
|
|
19
|
+
},
|
|
20
|
+
"body": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "The injectable prompt or context text."
|
|
23
|
+
},
|
|
24
|
+
"enabled": {
|
|
25
|
+
"type": "boolean",
|
|
26
|
+
"description": "Enable/disable switch. When false, the fragment is retained but never injected."
|
|
27
|
+
},
|
|
28
|
+
"activation": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"description": "Metadata describing when the fragment activates.",
|
|
32
|
+
"properties": {
|
|
33
|
+
"scope": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["global", "session", "task"],
|
|
36
|
+
"description": "Activation breadth. global: every interaction. session: the active session. task: a single task scope."
|
|
37
|
+
},
|
|
38
|
+
"triggers": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"minLength": 1
|
|
43
|
+
},
|
|
44
|
+
"description": "Phrases or signals that activate the fragment.",
|
|
45
|
+
"default": []
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"tags": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"items": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"minLength": 1
|
|
54
|
+
},
|
|
55
|
+
"description": "Discovery tags.",
|
|
56
|
+
"default": []
|
|
57
|
+
},
|
|
58
|
+
"updated": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"format": "date-time",
|
|
61
|
+
"description": "ISO 8601 timestamp the fragment was last amended."
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
#
|
|
3
|
+
# Freshness-token denylist loaded by freshness_token_grep.
|
|
4
|
+
#
|
|
5
|
+
# The freshness-facade mandate (rules/freshness-facade.md) keeps every
|
|
6
|
+
# shipped public surface a current-version-only facade: no backward / legacy
|
|
7
|
+
# replacement narrative, no placeholder / deferral, no fix-and-refinement
|
|
8
|
+
# story-of-becoming. This file enumerates the high-precision narrative PHRASES
|
|
9
|
+
# that mark those classes — never bare common words.
|
|
10
|
+
#
|
|
11
|
+
# Two boundaries keep this set precise:
|
|
12
|
+
#
|
|
13
|
+
# 1. Bare words such as "legacy", "deprecated", "retired", "placeholder",
|
|
14
|
+
# and "backward" have legitimate uses (a Keep-a-Changelog `Deprecated`
|
|
15
|
+
# heading, a documented deprecation policy, a "placeholder identity"
|
|
16
|
+
# product feature, a "future clarity backward" idiom) and are absent.
|
|
17
|
+
# Present-tense facts that are not story-of-becoming — "backward-compatible
|
|
18
|
+
# with v1", "X is no longer supported" — are also absent: a truthful
|
|
19
|
+
# current-version surface may state them.
|
|
20
|
+
# 2. The AI-disclosure token-class (the bare "AI" token in "AI-generated",
|
|
21
|
+
# "generated by AI") is already forbidden on this exact README + site
|
|
22
|
+
# scope by `plain-language-grep`. To stay strictly non-overlapping, this
|
|
23
|
+
# denylist carries none of it; AI-disclosure enforcement is plain-language's.
|
|
24
|
+
#
|
|
25
|
+
# Only unambiguous story-of-becoming / replacement / deferral phrases remain,
|
|
26
|
+
# so the matcher flags the narrative without flagging the dictionary word or
|
|
27
|
+
# double-flagging what plain-language already owns.
|
|
28
|
+
#
|
|
29
|
+
# The matcher (conformity/freshness_token_grep.py) scans README.md plus the
|
|
30
|
+
# site documentation tree, case-insensitively, outside fenced code blocks. Each
|
|
31
|
+
# non-empty, non-comment line below is one forbidden phrase, matched literally.
|
|
32
|
+
#
|
|
33
|
+
# This file carries its SPDX line as a hash comment (the matcher skips comment
|
|
34
|
+
# lines), mirroring schemas/reference-token-denylist.txt; it is not a header
|
|
35
|
+
# exemption.
|
|
36
|
+
|
|
37
|
+
# Backward / legacy replacement narrative.
|
|
38
|
+
replaces the legacy
|
|
39
|
+
legacy v0
|
|
40
|
+
the old behavior
|
|
41
|
+
|
|
42
|
+
# Placeholder / unfinished deferral.
|
|
43
|
+
to be determined
|
|
44
|
+
coming soon
|
|
45
|
+
work in progress
|
|
46
|
+
under construction
|
|
47
|
+
stay tuned
|
|
48
|
+
|
|
49
|
+
# Deferred-to-the-future narrative.
|
|
50
|
+
in a future release
|
|
51
|
+
in a future version
|