ai-kit-python 1.4.2__py3-none-any.whl
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.
- ai_kit_python-1.4.2.dist-info/METADATA +132 -0
- ai_kit_python-1.4.2.dist-info/RECORD +278 -0
- ai_kit_python-1.4.2.dist-info/WHEEL +5 -0
- ai_kit_python-1.4.2.dist-info/entry_points.txt +2 -0
- ai_kit_python-1.4.2.dist-info/licenses/LICENSE +21 -0
- ai_kit_python-1.4.2.dist-info/licenses/template/ai-kit/vendor/security-audit/LICENSE +21 -0
- ai_kit_python-1.4.2.dist-info/licenses/template/ai-kit/vendor/strix/LICENSE +201 -0
- ai_kit_python-1.4.2.dist-info/top_level.txt +1 -0
- aikit/.agents/skills/go-work/SKILL.md +8 -0
- aikit/.agents/skills/laravel-work/SKILL.md +8 -0
- aikit/.agents/skills/moodle-work/SKILL.md +8 -0
- aikit/.agents/skills/project-continuity/SKILL.md +34 -0
- aikit/.agents/skills/python-work/SKILL.md +8 -0
- aikit/.dockerignore +90 -0
- aikit/.gitattributes +3 -0
- aikit/.github/workflows/check-kit.yml +70 -0
- aikit/.github/workflows/publish-pypi.yml +108 -0
- aikit/.gitignore +60 -0
- aikit/BOOTSTRAP_PROMPT.md +18 -0
- aikit/CHANGELOG.md +85 -0
- aikit/CLAUDE.md +3 -0
- aikit/CONTRIBUTING.md +46 -0
- aikit/Dockerfile +44 -0
- aikit/KIMI.md +3 -0
- aikit/LICENSE +21 -0
- aikit/MANIFEST.in +22 -0
- aikit/MANUS.md +3 -0
- aikit/Makefile +70 -0
- aikit/README.md +1161 -0
- aikit/SECURITY.md +8 -0
- aikit/SKILL.md +105 -0
- aikit/VERSION +1 -0
- aikit/__init__.py +1 -0
- aikit/ai-kit/ADAPTERS.md +5 -0
- aikit/ai-kit/CONTAINERS.md +5 -0
- aikit/ai-kit/ENGINEERING.md +5 -0
- aikit/ai-kit/INTENT.md +5 -0
- aikit/ai-kit/MODELS.md +5 -0
- aikit/ai-kit/SKILLS.md +5 -0
- aikit/ai-kit/stacks/GO.md +5 -0
- aikit/ai-kit/stacks/LARAVEL.md +5 -0
- aikit/ai-kit/stacks/MOODLE.md +5 -0
- aikit/ai-kit/stacks/PYTHON.md +5 -0
- aikit/aikit_cli.py +59 -0
- aikit/deploy/k8s/install-preview-job.yaml +56 -0
- aikit/docker/build-requirements.txt +4 -0
- aikit/docker/check_version.py +29 -0
- aikit/docker/pypi-requirements.txt +3 -0
- aikit/docs/ADAPTER_PATH_FIX.md +23 -0
- aikit/docs/BENCHMARK.md +106 -0
- aikit/docs/CONTEXT7.md +33 -0
- aikit/docs/DECISIONS.md +22 -0
- aikit/docs/DEVELOPMENT_PLAN.md +16 -0
- aikit/docs/DIALOGUE_MEMORY.md +70 -0
- aikit/docs/DOCKER.md +74 -0
- aikit/docs/DOCKER_HUB_OVERVIEW.md +311 -0
- aikit/docs/EVALUATION.md +30 -0
- aikit/docs/IMPLEMENTATION.md +134 -0
- aikit/docs/MANUS_REVIEW.md +46 -0
- aikit/docs/PYPI.md +87 -0
- aikit/docs/PYPI_DESCRIPTION.md +103 -0
- aikit/docs/SECURITY_AUDIT.md +26 -0
- aikit/docs/STRIX.md +28 -0
- aikit/docs/V0_5_0.md +27 -0
- aikit/docs/V0_6_4.md +25 -0
- aikit/docs/V1_4_0.md +73 -0
- aikit/docs/V1_4_1.md +55 -0
- aikit/docs/V1_4_2.md +33 -0
- aikit/docs/WEB_DESIGN.md +72 -0
- aikit/docs/WINDOWS_CI_FIX.md +39 -0
- aikit/docs/adr/0000-template.md +24 -0
- aikit/docs/adr/0001-adaptive-model-routing.md +30 -0
- aikit/docs/adr/0002-template-separation.md +24 -0
- aikit/docs/adr/0003-agent-registry-and-router.md +24 -0
- aikit/docs/adr/0004-onboarding-and-project-facts.md +24 -0
- aikit/docs/adr/0005-client-settings-ownership.md +30 -0
- aikit/docs/adr/0006-routing-evidence-and-local-measurements.md +26 -0
- aikit/docs/adr/0007-generated-client-configuration-and-presets.md +34 -0
- aikit/docs/adr/0008-unified-cli-and-fact-drift.md +20 -0
- aikit/docs/adr/0009-provider-review-doctor-fix-and-ci-self-install.md +20 -0
- aikit/docs/adr/0010-metrics-analysis-and-gemini-verification.md +20 -0
- aikit/docs/adr/0011-evidence-lifecycle-and-evaluation.md +20 -0
- aikit/docs/adr/0012-measurement-led-routing.md +31 -0
- aikit/docs/adr/0013-docker-cli-image.md +24 -0
- aikit/docs/adr/0014-local-dialogue-memory.md +22 -0
- aikit/docs/history/original-bundle-checks.md +11 -0
- aikit/docs/history/v0.1-changelog.txt +37 -0
- aikit/docs/history/v0.10-changelog.md +12 -0
- aikit/docs/history/v0.2-changelog.md +35 -0
- aikit/docs/history/v0.3-changelog.md +25 -0
- aikit/docs/history/v0.4-changelog.md +31 -0
- aikit/docs/history/v0.5-changelog.md +14 -0
- aikit/docs/history/v0.6.4-changelog.md +12 -0
- aikit/docs/history/v0.6.5-v0.9-changelog.md +35 -0
- aikit/docs/history/v1.1.0-changelog.md +12 -0
- aikit/docs/history/v1.2.0-changelog.md +11 -0
- aikit/docs/history/verification-before-measurements.md +53 -0
- aikit/integrations/CONVENTIONS.md +3 -0
- aikit/integrations/README.md +7 -0
- aikit/integrations/agents.json +136 -0
- aikit/integrations/ai-kit-check.yml +66 -0
- aikit/integrations/ai-kit-cline.md +4 -0
- aikit/integrations/ai-kit-roo.md +4 -0
- aikit/integrations/ai-kit-windsurf.md +4 -0
- aikit/integrations/ai-kit.mdc +6 -0
- aikit/integrations/claude-settings.data-ask.json +23 -0
- aikit/integrations/claude-settings.git-ask.json +10 -0
- aikit/integrations/copilot-instructions.md +3 -0
- aikit/integrations/security-audit.json +135 -0
- aikit/integrations/strix.json +69 -0
- aikit/pyproject.toml +60 -0
- aikit/scripts/__init__.py +1 -0
- aikit/scripts/adapters.py +184 -0
- aikit/scripts/adaptive.py +167 -0
- aikit/scripts/adr.py +61 -0
- aikit/scripts/benchmark.py +543 -0
- aikit/scripts/changelog.py +55 -0
- aikit/scripts/check_distribution.py +178 -0
- aikit/scripts/check_kit.py +406 -0
- aikit/scripts/context.py +184 -0
- aikit/scripts/docker_test_usage.py +55 -0
- aikit/scripts/doctor.py +313 -0
- aikit/scripts/evaluate.py +125 -0
- aikit/scripts/install.py +1584 -0
- aikit/scripts/learning.py +260 -0
- aikit/scripts/memory.py +344 -0
- aikit/scripts/memory_import.py +177 -0
- aikit/scripts/memory_store.py +125 -0
- aikit/scripts/metrics.py +351 -0
- aikit/scripts/router.py +399 -0
- aikit/template/.agents/hooks/session-start.md +3 -0
- aikit/template/.agents/hooks/session-start.sh +21 -0
- aikit/template/.agents/skills/ai-kit-bootstrap/SKILL.md +14 -0
- aikit/template/.agents/skills/ai-kit-review/SKILL.md +11 -0
- aikit/template/.agents/skills/ai-kit-sync-context/SKILL.md +12 -0
- aikit/template/.agents/skills/context7-docs/SKILL.md +11 -0
- aikit/template/.agents/skills/design-extract/SKILL.md +9 -0
- aikit/template/.agents/skills/dotnet-work/SKILL.md +9 -0
- aikit/template/.agents/skills/filament-work/SKILL.md +9 -0
- aikit/template/.agents/skills/frontend-work/SKILL.md +9 -0
- aikit/template/.agents/skills/go-work/SKILL.md +9 -0
- aikit/template/.agents/skills/infra-work/SKILL.md +9 -0
- aikit/template/.agents/skills/java-work/SKILL.md +9 -0
- aikit/template/.agents/skills/laravel-blade-ui/SKILL.md +9 -0
- aikit/template/.agents/skills/laravel-work/SKILL.md +10 -0
- aikit/template/.agents/skills/library-work/SKILL.md +9 -0
- aikit/template/.agents/skills/moodle-work/SKILL.md +9 -0
- aikit/template/.agents/skills/php-work/SKILL.md +9 -0
- aikit/template/.agents/skills/project-continuity/SKILL.md +21 -0
- aikit/template/.agents/skills/python-work/SKILL.md +9 -0
- aikit/template/.agents/skills/rust-work/SKILL.md +9 -0
- aikit/template/.agents/skills/security-audit/SKILL.md +16 -0
- aikit/template/.agents/skills/security-audit/agents/openai.yaml +2 -0
- aikit/template/.agents/skills/strix/SKILL.md +16 -0
- aikit/template/.agents/skills/strix/agents/openai.yaml +2 -0
- aikit/template/.agents/skills/ui-review/SKILL.md +9 -0
- aikit/template/.agents/skills/web-design/SKILL.md +9 -0
- aikit/template/AGENTS.md +16 -0
- aikit/template/CHANGELOG.md +6 -0
- aikit/template/CLAUDE.md +5 -0
- aikit/template/GEMINI.md +4 -0
- aikit/template/KIMI.md +4 -0
- aikit/template/MANUS.md +4 -0
- aikit/template/PROJECT_CONTEXT.md +35 -0
- aikit/template/README.md +6 -0
- aikit/template/WIKI.md +37 -0
- aikit/template/ai-kit/ADAPTERS.md +100 -0
- aikit/template/ai-kit/BOOTSTRAP.md +15 -0
- aikit/template/ai-kit/CONTAINERS.md +63 -0
- aikit/template/ai-kit/CONTEXT7.md +96 -0
- aikit/template/ai-kit/CORE.md +23 -0
- aikit/template/ai-kit/ENGINEERING.md +34 -0
- aikit/template/ai-kit/MCP.md +17 -0
- aikit/template/ai-kit/METRICS.md +83 -0
- aikit/template/ai-kit/SECURITY-AUDIT.md +21 -0
- aikit/template/ai-kit/SECURITY.md +34 -0
- aikit/template/ai-kit/SKILLS.md +37 -0
- aikit/template/ai-kit/STRIX.md +44 -0
- aikit/template/ai-kit/UPSTREAM.md +38 -0
- aikit/template/ai-kit/WEB-DESIGN.md +37 -0
- aikit/template/ai-kit/profiles/OWNER.md +19 -0
- aikit/template/ai-kit/project.json +14 -0
- aikit/template/ai-kit/router/POLICY.md +79 -0
- aikit/template/ai-kit/router/providers/anthropic.json +44 -0
- aikit/template/ai-kit/router/providers/anthropic.md +14 -0
- aikit/template/ai-kit/router/providers/gemini.json +13 -0
- aikit/template/ai-kit/router/providers/gemini.md +10 -0
- aikit/template/ai-kit/router/providers/kimi.json +26 -0
- aikit/template/ai-kit/router/providers/kimi.md +13 -0
- aikit/template/ai-kit/router/providers/local.json +18 -0
- aikit/template/ai-kit/router/providers/local.md +10 -0
- aikit/template/ai-kit/router/providers/openai.json +48 -0
- aikit/template/ai-kit/router/providers/openai.md +14 -0
- aikit/template/ai-kit/router/routing.json +11 -0
- aikit/template/ai-kit/router/selection.json +14 -0
- aikit/template/ai-kit/settings.json +11 -0
- aikit/template/ai-kit/stacks/DOTNET.md +13 -0
- aikit/template/ai-kit/stacks/FILAMENT.md +18 -0
- aikit/template/ai-kit/stacks/FRONTEND.md +9 -0
- aikit/template/ai-kit/stacks/GO.md +19 -0
- aikit/template/ai-kit/stacks/INFRA.md +12 -0
- aikit/template/ai-kit/stacks/JAVA.md +13 -0
- aikit/template/ai-kit/stacks/LARAVEL.md +15 -0
- aikit/template/ai-kit/stacks/LIBRARY.md +9 -0
- aikit/template/ai-kit/stacks/MOODLE.md +12 -0
- aikit/template/ai-kit/stacks/PHP.md +11 -0
- aikit/template/ai-kit/stacks/PYTHON.md +11 -0
- aikit/template/ai-kit/stacks/RUST.md +18 -0
- aikit/template/ai-kit/vendor/security-audit/AI-AND-LLM.md +83 -0
- aikit/template/ai-kit/vendor/security-audit/ATTACK-CLASSES.md +130 -0
- aikit/template/ai-kit/vendor/security-audit/CLIENT-SIDE.md +83 -0
- aikit/template/ai-kit/vendor/security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
- aikit/template/ai-kit/vendor/security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
- aikit/template/ai-kit/vendor/security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
- aikit/template/ai-kit/vendor/security-audit/HUNTING.md +251 -0
- aikit/template/ai-kit/vendor/security-audit/LICENSE +21 -0
- aikit/template/ai-kit/vendor/security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
- aikit/template/ai-kit/vendor/security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
- aikit/template/ai-kit/vendor/security-audit/RECONNAISSANCE.md +156 -0
- aikit/template/ai-kit/vendor/security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
- aikit/template/ai-kit/vendor/security-audit/SKILL.md +192 -0
- aikit/template/ai-kit/vendor/security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
- aikit/template/ai-kit/vendor/security-audit/VALIDATION-AND-REPORTING.md +186 -0
- aikit/template/ai-kit/vendor/security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
- aikit/template/ai-kit/vendor/security-audit/report-schema.json +461 -0
- aikit/template/ai-kit/vendor/security-audit/validate-coverage-ledger.cjs +872 -0
- aikit/template/ai-kit/vendor/security-audit/validate-coverage-ledger.test.cjs +740 -0
- aikit/template/ai-kit/vendor/security-audit/validate-findings.cjs +773 -0
- aikit/template/ai-kit/vendor/security-audit/validate-findings.test.cjs +652 -0
- aikit/template/ai-kit/vendor/strix/LICENSE +201 -0
- aikit/template/ai-kit/vendor/strix/api-security-testing/SKILL.md +61 -0
- aikit/template/ai-kit/vendor/strix/application-security-testing/SKILL.md +66 -0
- aikit/template/ai-kit/vendor/strix/ci-security-scanning-with-strix/SKILL.md +149 -0
- aikit/template/ai-kit/vendor/strix/find-security-vulnerabilities-in-code/SKILL.md +62 -0
- aikit/template/ai-kit/vendor/strix/fix-security-vulnerabilities-with-strix/SKILL.md +77 -0
- aikit/template/ai-kit/vendor/strix/managed-pentesting-with-strix/SKILL.md +321 -0
- aikit/template/ai-kit/vendor/strix/owasp-top-10-testing/SKILL.md +64 -0
- aikit/template/ai-kit/vendor/strix/penetration-testing-with-strix/SKILL.md +162 -0
- aikit/template/ai-kit/vendor/strix/web-app-penetration-testing/SKILL.md +54 -0
- aikit/template/ai-kit/web-design/LARAVEL.md +51 -0
- aikit/template/ai-kit/web-design/LIBRARIES.md +39 -0
- aikit/template/ai-kit/web-design/REVIEW.md +37 -0
- aikit/template/ai-kit/web-design/TOOLS.md +43 -0
- aikit/template/docs/DECISIONS.md +7 -0
- aikit/template/docs/adr/0000-template.md +20 -0
- aikit/template/docs/design/ACCEPTANCE.md +24 -0
- aikit/template/docs/design/BRIEF.md +26 -0
- aikit/template/docs/design/SYSTEM.md +30 -0
- aikit/templates/agent-secrets.ignore +19 -0
- aikit/templates/gitignore.private +160 -0
- aikit/templates/gitignore.team +139 -0
- aikit/tests/build_distribution.py +73 -0
- aikit/tests/docker_smoke.py +172 -0
- aikit/tests/fixtures/create-junction.ps1 +18 -0
- aikit/tests/fixtures/golden/claude-settings-local.json +58 -0
- aikit/tests/test_adapters.py +105 -0
- aikit/tests/test_aikit.py +79 -0
- aikit/tests/test_benchmark.py +241 -0
- aikit/tests/test_check_kit.py +203 -0
- aikit/tests/test_context.py +76 -0
- aikit/tests/test_context7.py +153 -0
- aikit/tests/test_context_selection.py +70 -0
- aikit/tests/test_distribution.py +181 -0
- aikit/tests/test_docker_image.py +63 -0
- aikit/tests/test_docker_test_usage.py +54 -0
- aikit/tests/test_doctor.py +148 -0
- aikit/tests/test_evaluate.py +66 -0
- aikit/tests/test_install.py +939 -0
- aikit/tests/test_learning.py +247 -0
- aikit/tests/test_memory.py +371 -0
- aikit/tests/test_metrics.py +209 -0
- aikit/tests/test_native.py +342 -0
- aikit/tests/test_onboarding.py +301 -0
- aikit/tests/test_router.py +336 -0
- aikit/tests/test_security_audit.py +237 -0
- aikit/tests/test_strix.py +245 -0
- aikit/tests/test_web_design.py +219 -0
- aikit/tests/wheel_smoke.py +104 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# ADR 0014: Local dialogue import, review and export
|
|
2
|
+
|
|
3
|
+
- Date: 2026-10-15
|
|
4
|
+
- Status: accepted for offline stage one; automatic synchronization remains separate.
|
|
5
|
+
|
|
6
|
+
## Context and decision
|
|
7
|
+
|
|
8
|
+
The owner requested combining two ChatGPT/OpenRouter dialogues with conflict review and client exports, without automatic synchronization. AI-KIT has project facts and instruction selection but no conversation importer or live API adapter. Preserve that offline boundary and existing project documents.
|
|
9
|
+
|
|
10
|
+
Add `aikit memory import|merge|export` with text/Markdown, messages JSON and bounded ChatGPT mapping/branch support. Archive normalized selected messages with roles, timestamps and source hashes. Do not flatten alternative branches, fetch attachments, replay tools or promote imported roles into instructions.
|
|
11
|
+
|
|
12
|
+
Use deterministic keyed candidate extraction plus a human worksheet. All candidates start pending. Keep free prose as notes and explicitly acknowledge semantic limitations; do not simulate an LLM summarizer or independent fact verification. Review assigns keys, accepts/rejects claims and resolves alternatives with a reason. Preserve message references and reject stale worksheets. No provider, author or timestamp automatically settles a conflict.
|
|
13
|
+
|
|
14
|
+
Store immutable imports, content-addressed merges and exports under a marked private workspace. Preview changes, exclusively create files, allow identical reruns and refuse overwrites/linked paths. Scope normal Git/build/package exclusions to ai-kit/.memory; storing elsewhere requires explicit privacy configuration. Keep raw dialogue out of metrics and default instruction selection.
|
|
15
|
+
|
|
16
|
+
Export a quoted Markdown reference for ChatGPT and a user-message fragment for OpenRouter. Block unreviewed normal exports; explicit draft exports retain pending alternatives. Read source hashes and reconstruct the reviewed result before exporting. No API key, network dependency, paid call, model selection, live synchronization or action authorization is introduced.
|
|
17
|
+
|
|
18
|
+
## Consequences and verification
|
|
19
|
+
|
|
20
|
+
The workflow is reproducible without an account connection, and both clients can receive the same reference state. It requires human semantic review; arbitrary prose conflicts cannot be reliably inferred by a deterministic parser. Large or unsupported exports refuse explicitly. Files are not a hardened concurrent sandbox or a transactional multi-file database.
|
|
21
|
+
|
|
22
|
+
[Contract and tests](../DIALOGUE_MEMORY.md) define supported schemas, omissions, privacy, byte limits and recovery. [README](../../README.md#shared-context-from-two-dialogues) gives the import/review/export steps. Native upload/API execution and synchronization need their own implementation and authorization.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Original bundle checks
|
|
2
|
+
|
|
3
|
+
Historical verification record for the first consolidated bundle, recorded 2026-10-08 on Windows with bundled Python 3.12.14.
|
|
4
|
+
|
|
5
|
+
- Behavioral suite: 33 tests executed; 32 passed and 1 skipped. The skipped symlink test requires a Windows privilege unavailable in that session; no claim is made that it ran.
|
|
6
|
+
- Installer scenarios cover absent-target preview, project-owned files, idempotency, unchanged upgrades, local conflicts/semantic merges/future conflicts, backups, private/team transitions, mixed Composer/Go vendoring, Moodle scoping, optional entries, settings preservation, unsafe paths, changed previews, and rollback after an injected write failure.
|
|
7
|
+
- Checker scenarios cover missing anchors, escaping links, invalid JSON, skill/folder and registry mismatch, clean history boundaries, and Git checkout metadata exclusion.
|
|
8
|
+
- Real Git checks passed for reference-source visibility, private/team shared files, secrets/caches, manifests/checksums/locks, intentional vendoring, and executable source.
|
|
9
|
+
- All 8 installable skills plus the maintainer continuity skill passed the skill-creator metadata validator. Relative file/heading links, registry, JSON, English content hygiene, and always-loaded byte budgets passed the kit checker.
|
|
10
|
+
- Docker evidence tests use a fake command adapter: inspection remains read-only, stopped-container references remain protected, exact bytes stay unknown, and a stopped daemon fails rather than producing a success report. No real Docker environment was exercised.
|
|
11
|
+
- Instruction review checked conditional profile loading, unknown project facts, English artifacts/configured chat language, no publication authorization, Docker preflight, and preserved owner conventions. This is source review, not a live client behavior trial.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
After every task with file changes, briefly record what changed and why: features, fixes, internal work, dependencies, documentation, and AI-KIT. Keep new entries under `Unreleased` until a release is confirmed; use verified dates and versions. Tasks without file changes need no entry.
|
|
4
|
+
|
|
5
|
+
## Unreleased
|
|
6
|
+
|
|
7
|
+
### AI-KIT
|
|
8
|
+
|
|
9
|
+
- 2026-10-08: assessed DeepSeek feedback and removed stale first-upload status wording from README, intent, and upstream instructions. These documents now reference the context's current source verification and distinguish published content from the locally applied baseline.
|
|
10
|
+
- 2026-10-08: assessed Kimi's additional feedback; relabeled WIKI stack links as available profiles rather than confirmed facts and removed an unnecessary project-name list from the router. Consolidated the remaining structure, monorepo, security, and provider-mapping recommendations in the external review.
|
|
11
|
+
- 2026-10-08: reviewed the published main revision and external feedback; corrected the Claude Code Core import and Responses create reference, documented native Claude skill discovery limits, and synchronized context/continuity pointers. Broader restructuring and executable automation remain review recommendations.
|
|
12
|
+
- 2026-10-07: clarified separate ignore roles: the reference repository uses a minimal root .gitignore and versions the universal application rules as templates/project.gitignore. Removed unconditional instructions to ignore AI-KIT in every repository, synchronized context/skill/docs, and verified that all reference distribution files remain visible to Git while local settings/secrets/caches stay excluded.
|
|
13
|
+
- 2026-10-07: added /.claude/ to the project ignore template and the GitHub reference repository's ignore policy to exclude local Claude settings/cache. The leading slash limits this folder rule to the repository root.
|
|
14
|
+
- 2026-10-07: added a canonical GitHub source workflow, upstream context fields, revision verification, reconciliation of shared rules, preserved local facts/agreements, and offline fallback. Integrated it into agent instructions, bootstrap, continuity skill, navigation, adapters, and documentation. Configured the user-selected tigusigalpa/ai-kit repository and its default main branch; verified public metadata and an empty branch collection, so no upstream commit/files are recorded as applied.
|
|
15
|
+
- 2026-10-07: prepared a separate GitHub reference distribution whose root ignore policy keeps AI-KIT source versionable, with application exclusions in templates/project.gitignore. The application distribution retains local kit exclusions; no repository creation, commit, push, or scheduled synchronization is performed.
|
|
16
|
+
- 2026-10-07: prohibited creating/amending commits and pushing without an explicit user request for the particular operation, including actions through helpers/integrations/other agents. Tasks finish as reviewable local changes without routine commit/push approval prompts. Synchronized instructions, bootstrap, context, continuity skill, engineering rules, README, intent, wiki, and decision log.
|
|
17
|
+
- 2026-10-06: added post-test Docker volume/cache cleanup when combined project test usage exceeds 10 GB. Requires measured usage, verified disposable/reclaimable resources, preserved diagnostics and protected data, scoped removal, and a before/after check. Synchronized agent/engineering rules, bootstrap, context, continuity skill, navigation, README, intent, and decision log to control test storage growth without deleting persistent or unrelated data.
|
|
18
|
+
- 2026-10-05: separated the language policy: all authored project files and artifacts remain English, while chat with the user uses Russian for questions, plans, progress, explanations, review summaries, and final reports. Project artifacts shown in chat retain English. Synchronized instructions, bootstrap, context, continuity skill, engineering/router rules, README, wiki, and decision log to preserve this distinction.
|
|
19
|
+
- 2026-10-05: replaced the former Terra-based defaults with the user's Adaptive Model Router: Luna for bounded tasks, Sol 6.1 for engineering, and justified Astra escalation. Optimizes total cost to a correct result rather than the price of one call.
|
|
20
|
+
- 2026-10-05: added runtime capability verification, independent reasoning/service-tier/context decisions, standard/pro criteria, the large-input pricing boundary, cache/output budgets, conditional reviewers/delegation, diagnosed retries, and compact JSON router decisions. Distinguished policy fields from supported execution controls.
|
|
21
|
+
- 2026-10-05: synchronized bootstrap, agent/review rules, context and continuity skill, intent, navigation, and README; recorded the routing decision and consequences in a kit ADR. Runtime availability and switching remain explicitly unverified until project adaptation.
|
|
22
|
+
- v0.1: added agent instructions, context, a skill, stack and engineering rules, model routing, and the bootstrap prompt.
|
|
23
|
+
- Summarized the available voice context; added thin adapters, the skill registry, and stack skills; recovered the user's Laravel agreements from the earlier AI-Kit task.
|
|
24
|
+
- Added a Docker daemon check and a request for the user to start it for container-dependent tasks.
|
|
25
|
+
- Added a universal `.gitignore` for PHP/Laravel/Moodle/Go, development artifacts, secrets, and local AI-KIT files.
|
|
26
|
+
- Added local Go cache directories and `*.out` files to `.gitignore`.
|
|
27
|
+
- Clarified the `composer.lock` policy: versioned by default for applications, with an optional exclusion for libraries.
|
|
28
|
+
- Clarified that `go.mod` and `go.sum` remain versioned for Go modules.
|
|
29
|
+
- Added Python script rules and a skill; `.gitignore` excludes virtual environments, caches, coverage output, and build artifacts while keeping configuration and lockfiles versioned.
|
|
30
|
+
- Made `CHANGELOG.md` updates mandatory after every task with file changes to preserve the history of reasons and results, including internal changes and the kit itself.
|
|
31
|
+
- Added a mandatory Kubernetes-ready standard for new Dockerfiles, containers, and microservices: portable images, configuration, security, shutdown, health checks, storage, and minimal manifests. Integrated the rule into instructions, context, the skill, and bootstrap so services are ready for Kubernetes from the start.
|
|
32
|
+
- 2026-10-04: translated all AI-KIT documents, adapters, rules, templates, and the bootstrap prompt into English; established English as the language for future kit updates.
|
|
33
|
+
- 2026-10-04: extended the English language requirement to all authored project content and agent communication, including code, UI text, logs, Git messages, reviews, and reports, so future project work follows one language policy.
|
|
34
|
+
|
|
35
|
+
### Project
|
|
36
|
+
|
|
37
|
+
- No verified project changes yet.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# AI-KIT v0.10.0 changelog archive
|
|
2
|
+
|
|
3
|
+
## v0.10.0 (2026-10-10)
|
|
4
|
+
|
|
5
|
+
- Fixed `metrics.py analyze` task attribution: the identity is now `(experiment, arm, task_id)`, so baseline and kit rows with the same task ID no longer collapse. Added backward-readable measurement schema 2 with required per-attempt `succeeded`/`failed`/`inconclusive` disposition, coverage, and decisive-attempt rate; schema 1 journals remain valid with unknown disposition.
|
|
6
|
+
- Added manifest evidence snapshots in `ai-kit/project.json`, `aikit context snapshot TARGET [--apply]`, and doctor warnings for new/removed modules, profile drift, and changed manifest evidence. The snapshot is preview-first and changes only evidence after explicit apply.
|
|
7
|
+
- Added client documentation metadata in `integrations/agents.json`, `aikit adapters report`, and conservative `aikit adapters retire TARGET --agent NAME [--apply]`. Retirement backs up and removes only unchanged tracked adapter files, then deselects that client; local edits, untracked files, native directories, settings fragments, and ignore blocks remain untouched.
|
|
8
|
+
- Added the private `aikit evaluate scaffold|coverage` harness for opaque baseline/kit task packs and measurement-pair coverage. It reports missing pairs and unexpected records but does not inspect prompts or infer semantic correctness.
|
|
9
|
+
- Added MCP posture and an indirect-instruction boundary: untrusted repository/remote content cannot authorize commands, integrations, credentials, or permission changes; MCP servers remain opt-in, least-privilege, and project-recorded.
|
|
10
|
+
- Packaged the `aikit` console command with bundled templates/resources for a portable wheel and added a six-cell Windows/macOS/Linux, Python 3.10/3.14 CI smoke-install job. The hosted job has not run on this revision.
|
|
11
|
+
- Initial release preparation established no checker, unit, build or wheel-smoke result because the shell did not expose Python. Later bundled-runtime checks cover v0.11.0 preparation; see [current verification](../IMPLEMENTATION.md#measurement-led-development-verification). The hosted job and pristine v0.10.0 reconstruction remain unverified.
|
|
12
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# AI-KIT v0.2 changelog (archived)
|
|
2
|
+
|
|
3
|
+
Verbatim v0.2-v0.2.2 entries and the Windows CI fixture correction, newest first, moved from the root changelog to keep it within its byte budget.
|
|
4
|
+
|
|
5
|
+
- Corrected v0.2.2 installer test fixtures after the Windows/Python 3.13.15 CI log exposed short-versus-long temporary path comparisons. Fixture roots now resolve before child paths are derived; junction guards and rollback fault injection use the same path spelling as the installer.
|
|
6
|
+
- Added permanent regression variants for rollback and junction scenarios using a real equivalent temporary path with a different prefix. Cleanup remains bound to the original owned directories; installer behavior and CI gates were preserved.
|
|
7
|
+
- Recorded source verification and Windows/Linux job outcomes in docs/WINDOWS_CI_FIX.md. This fixture correction is local; no commit, push, tag, or release was made by the agent.
|
|
8
|
+
- Reran the complete local suite for the fixture correction: 44 passed, 3 linked-path checks unavailable. Kit checks returned no errors/warnings; the repackaged source inventory/bytes and Python 3.10 syntax were verified. Corrected hosted Windows jobs remain unverified.
|
|
9
|
+
|
|
10
|
+
- Prepared local patch 0.2.2 after independently reproducing three installer findings from the Manus audit of published v0.2.
|
|
11
|
+
- Addressed conflict candidates by incoming-file SHA-256; preview reports paths/hashes and adjacent first-creation metadata. Exclusive creation preserves edited, concurrent, and legacy candidates.
|
|
12
|
+
- Blocked agent-list replacement while tracked unselected adapters remain; preserved accepted files/state, reported exact retirement paths, and warned about untracked native instructions/skills. No automatic deletion was added.
|
|
13
|
+
- Validated supported state schema, agent/file/hash types, settings, and safe paths before planning; malformed input receives a controlled refusal.
|
|
14
|
+
- Added regression scenarios for candidate preservation, agent retirement, corrupt inputs, previous-version state, installed mixed-project Git visibility, and Windows junctions. Junction detection uses APIs available on Python 3.10.
|
|
15
|
+
- Updated installation/adapter procedures and recorded audit evidence and deferred publication work in docs/MANUS_REVIEW.md.
|
|
16
|
+
- Verified the local v0.2.2 clean and patched-public-tree suites: 43 passed, 2 linked-path checks unavailable; kit checks returned no errors/warnings. Verified a genuine v0.2.1 installation upgrade and the 85-file archive's inventory/bytes and Python 3.10 syntax. Successful hosted CI remains unverified.
|
|
17
|
+
|
|
18
|
+
- Rewrote the English README as a practical onboarding guide with Windows/Linux examples, defaults, project memory, workflow, profiles, clients, sharing, upgrades, and reference-layout guidance.
|
|
19
|
+
|
|
20
|
+
- Prepared local patch bundle 0.2.1 after reproducing the published v0.2 overlay's five missing-heading failures.
|
|
21
|
+
- Replaced known v0.1 rule paths with compact compatibility pointers to canonical template resources, preserving old inbound links without restoring duplicated policies.
|
|
22
|
+
- Documented reference-repository overlays and obsolete .gitignore_real; validated the real mixed-layout snapshot as well as the clean bundle. No checker exclusions or synthetic headings were added.
|
|
23
|
+
- Made upgrade-test fixtures derive versions from VERSION; reran the patched public snapshot's suite with 32 passed tests and 1 unavailable Windows symlink test.
|
|
24
|
+
|
|
25
|
+
- Prepared the working distribution identified by VERSION with clean project templates and separate maintainer context/history.
|
|
26
|
+
- Consolidated language/Git/fact rules in Core, project-specific Laravel choices in the owner profile, container policy in CONTAINERS, and active model IDs in the OpenAI provider configuration.
|
|
27
|
+
- Added a conservative Python installer with preview, private/team modes, managed ignore blocks, backups, conflict candidates, and unchanged-file upgrades.
|
|
28
|
+
- Added explicit semantic acceptance that preserves local adaptations across future upstream revisions.
|
|
29
|
+
- Added internal-link/anchor, frontmatter, registry, ownership, JSON, and source-visibility validation plus behavioral tests and a CI workflow.
|
|
30
|
+
- Expanded PHP, Laravel, Go, Python, Moodle, frontend, and library profiles; added a compact security baseline and monorepo context routing.
|
|
31
|
+
- Added selective Claude skills copying and optional adapters; supplied a read-only Docker resource report, with deletion governed by the existing container policy.
|
|
32
|
+
- Retained Docker client/daemon preflight, a startup request for a stopped daemon, and honest unavailable check outcomes.
|
|
33
|
+
- Added MIT after the owner's explicit selection. No commit, push, tag, release, metadata update, or runtime model switch was performed.
|
|
34
|
+
- Verified 32 passing behavioral tests, 1 unavailable Windows symlink test, internal checks, 9 skill metadata checks, and real Git ignore visibility; recorded runtime/hosted-CI limits.
|
|
35
|
+
- Preserved same-task context/continuity synchronization and the owner's configured Codecov gate during the policy consolidation.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# AI-KIT v0.3 changelog (archived)
|
|
2
|
+
|
|
3
|
+
Verbatim v0.3.3-v0.3.8 entries, newest first, moved from the root changelog to keep it within its byte budget.
|
|
4
|
+
|
|
5
|
+
## v0.3.8 (2026-10-10)
|
|
6
|
+
|
|
7
|
+
- Added Gemini CLI, Windsurf, Cline, and Roo adapters: a GEMINI.md project entry plus optional .windsurf/rules/, .clinerules/, and .roo/rules/ pointer rules; private-mode ignores cover the new entries. Client rule formats were checked against current documentation on 2026-10-10 and still require activation verification in the actual clients.
|
|
8
|
+
- Filled in the Anthropic and Kimi router mappings as machine-readable provider configurations with roles, defaults, supported efforts, verified documentation dates, and sources. Anthropic IDs, effort levels, and request-field boundaries were verified against primary documentation (models overview and the Haiku 5.5 migration guide); Kimi facts were cross-checked against current online documentation.
|
|
9
|
+
- Generalized checker provider validation to every providers/*.json (required verified date, effort/support consistency) and extended the model-ID duplication guard to all configured IDs; the project doctor now handles roles without an effort control.
|
|
10
|
+
- Reran the full local suite: 73 tests, 72 passed, 1 unavailable Windows symlink check; kit validation returned no errors or warnings; Python 3.10 grammar verified. Live API calls, native client activation, and hosted CI remain unverified.
|
|
11
|
+
|
|
12
|
+
## v0.3.6 (2026-10-10)
|
|
13
|
+
|
|
14
|
+
- Added opt-in install extras selected with --with-session-start, --with-guards, and --with-ci; accepted choices persist in ai-kit/settings.json. Session start installs .agents/hooks/session-start.md and, for claude, .claude/settings.json SessionStart wiring; guards merges the reference deny-Git permissions into the same client settings file; the ci extra installs a self-contained .github/workflows/ai-kit.yml health check intended for team mode.
|
|
15
|
+
- Documented extras in ADAPTERS/BOOTSTRAP/README with activation boundaries: hook output, deny enforcement, and workflow behavior require verification in the actual client and hosted runner; MCP servers are declared manually per project and none is installed by default.
|
|
16
|
+
- Reran the full local suite: 69 tests, 68 passed, 1 unavailable Windows symlink check; kit validation returned no errors or warnings; Python 3.10 grammar was verified for all scripts. Hosted CI and real application trials remain unverified.
|
|
17
|
+
|
|
18
|
+
## v0.3.3 (2026-10-10)
|
|
19
|
+
|
|
20
|
+
- Added installer-suggested stack profiles: the plan detects GO, PYTHON, FRONTEND, PHP, LARAVEL, and MOODLE evidence from module manifests, reports it in the preview, and drafts module-map rows in a fresh PROJECT_CONTEXT.md marked unverified until bootstrap confirms them. Existing context documents remain preserved untouched.
|
|
21
|
+
- Added scripts/doctor.py, an offline health check for installed projects: state/settings validation, missing or modified managed files, missing owned documents, pending conflict candidates, always-loaded budget overflows, broken Markdown links/anchors, and stale provider verifications. Exit code 0 means no errors.
|
|
22
|
+
- Scoped Node and Python generated-path exclusions to modules with verified manifests (package.json, pyproject.toml, requirements.txt, setup.py, setup.cfg), matching the existing Composer/Moodle scoping; both ignore policies keep only generic output directories statically.
|
|
23
|
+
- Extended the checker visibility fixture to compose each policy with installer-detected module rules, as apply does.
|
|
24
|
+
- Moved maintainer-only reference-update guidance to CONTRIBUTING.md and the original-bundle verification record to docs/history to keep conditional documents within byte budgets; removed the external hero-image hotlink from the README.
|
|
25
|
+
- Reran the full local suite for these changes: 62 tests, 61 passed, 1 unavailable Windows symlink check; kit validation returned no errors or warnings; Python 3.10 grammar was verified for install, checker, and doctor sources. Hosted CI and real application trials remain unverified.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# AI-KIT v0.4.x changelog (archived)
|
|
2
|
+
|
|
3
|
+
Moved verbatim from the root changelog on 2026-10-10 to keep that file within its byte budget.
|
|
4
|
+
|
|
5
|
+
## v0.4.7 (2026-10-10)
|
|
6
|
+
|
|
7
|
+
- Guards now use Claude Code `permissions.ask` for Git commit/push (source renamed to [claude-settings.git-ask.json](../../integrations/claude-settings.git-ask.json)). Core allows an explicitly requested commit, which the previous deny rules blocked; bare `git commit`/`git push` forms are now covered too.
|
|
8
|
+
- The installer owns only its own entries in `.claude/settings.json` instead of the whole file: other keys, rules, and hooks survive, owned entries are recorded under `managed_json` in installer state, and disabling an extra removes only its entries. A file that is not a JSON object becomes a reviewed conflict whose candidate holds the AI-KIT fragment. Whole-file installations from earlier versions migrate on the next run. The doctor reports missing owned entries instead of flagging user edits.
|
|
9
|
+
- The session-start hook runs a managed `.agents/hooks/session-start.sh` via `$CLAUDE_PROJECT_DIR` and adds the instructions, current PROJECT_CONTEXT (first 8000 bytes, with a truncation notice), and Git status to the session, saving a file read per session. The script is piped through `tr` so CRLF checkouts (Git autocrlf on Windows, team clones) still run. Private mode now hides the hook files.
|
|
10
|
+
- The preview reports `detected_agents` from existing native files (detect markers in [agents.json](../../integrations/agents.json)) and `suggested_agents`, with a ready `--agent` command when no explicit selection is given; `--interactive` uses the detected clients as its default. Detection never changes the selection by itself.
|
|
11
|
+
- Command suggestions follow evidence: Node uses `packageManager` or a lockfile, searched up to the workspace root, and runs Bun scripts with `bun run test`; Python suggests pytest/ruff only when manifests or config files reference them, prefixed with `uv run`/`poetry run` when their lockfile exists.
|
|
12
|
+
- Moved the v0.2.x changelog entries verbatim to [docs/history](v0.2-changelog.md) to keep this changelog within its byte budget.
|
|
13
|
+
- Upgraded a real v0.4.6 installation (claude, guards, session-start, user-edited settings): no conflicts, user settings kept, legacy entries migrated, rerun stable, doctor clean. A v0.4.6 preview against the upgraded project reports `.claude/settings.json` as a conflict without writing.
|
|
14
|
+
- Recorded the decision in [ADR 0005](../adr/0005-client-settings-ownership.md). Reran the full local suite: 128 tests, 127 passed, 1 skipped (Windows symlink privilege); kit validation returned no errors; the hook script was executed through Git Bash. Native Claude Code hook delivery, ask enforcement, and hosted CI remain unverified.
|
|
15
|
+
|
|
16
|
+
## v0.4.6 (2026-10-10)
|
|
17
|
+
|
|
18
|
+
- Added one-step onboarding: `--interactive` prompts for mode, language, conventions, agents, and extras; `--check` runs the doctor after `--apply`.
|
|
19
|
+
- Added [ai-kit/project.json](../../template/ai-kit/project.json): the installer detects per-module manifests, language, version, and suggested test/lint/build commands and drafts `PROJECT_CONTEXT.md` and `project.json`, marked suggested until bootstrap confirms them.
|
|
20
|
+
- Added `scripts/adr.py new` and `scripts/changelog.py add` helpers plus a [Makefile](../../Makefile) front-door (`make install`, `make doctor`, `make check`, `make test`, `make router`, `make adr`, `make changelog`).
|
|
21
|
+
- Extended the checker and doctor for `project.json` and the helper scripts.
|
|
22
|
+
- Reran the full local suite: 109 tests, 108 passed, 1 skipped; kit validation returned no errors. PyPI publication stays deferred (remote changes are not authorized).
|
|
23
|
+
|
|
24
|
+
## v0.4.5 (2026-10-10)
|
|
25
|
+
|
|
26
|
+
- Added a data-driven agent registry ([integrations/agents.json](../../integrations/agents.json)) replacing hardcoded client/entry constants; installer, checker, and doctor now share one source for agent wiring.
|
|
27
|
+
- Added [scripts/router.py](../../scripts/router.py): `route "task"` returns a deterministic capability recommendation, and `configure PROJECT --apply` writes `ai-kit/router/resolved.json` plus a native Aider model file. Classification is a transparent rule; no credentials or switching runtime.
|
|
28
|
+
- Added [selection.json](../../template/ai-kit/router/selection.json) for provider choice with per-role overrides and self-hosted model IDs.
|
|
29
|
+
- Added provider tiers: a [local provider](../../template/ai-kit/router/providers/local.json) (user-supplied Ollama IDs) and a [pending Gemini scaffold](../../template/ai-kit/router/providers/gemini.json) (no fabricated IDs). Schema adds `tier`, `user_supplied_models`, `verification_status`.
|
|
30
|
+
- Extended the checker and doctor for the registry, provider schema, and selection/resolved validation.
|
|
31
|
+
- Reran the full local suite: 92 tests, 91 passed, 1 skipped; kit validation returned no errors. Gemini IDs remain pending; no live API or hosted CI.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Archived AI-KIT release history
|
|
2
|
+
|
|
3
|
+
## v0.5.0 (2026-10-10)
|
|
4
|
+
|
|
5
|
+
- Aligned the offline router with the canonical capability ladder (level 0 cheap/none when supported, level 5 work/max, level 6 diagnosed escalation with a separate effort choice). Added English/Russian operation/risk rules, word boundaries, structured evidence flags, explanation signals, and per-call provider/model overrides. Explicit selection/CLI effort wins; unknown or unsupported model controls are not fabricated.
|
|
6
|
+
- Added a conditional [Filament profile](../../template/ai-kit/stacks/FILAMENT.md) and source/native Claude skill copies. Composer requirements/locks suggest FILAMENT per module; bootstrap still verifies actual use, versions, and application commands. Existing personal conventions remain in OWNER.
|
|
7
|
+
- Added opt-in [local measurements](../../template/ai-kit/METRICS.md) with validated task/attempt records, coverage-aware totals, failure/recovery accounting, duplicate/lock/path guards, and private journals in both sharing modes. No automatic telemetry, API execution, or inferred prices.
|
|
8
|
+
- Prepared a [real-project evaluation protocol](../EVALUATION.md): fixed-model instruction comparisons first, context selection/fresh-session continuation checks, routing as a separate experiment. The owner deferred application trials; no savings or application activation is claimed.
|
|
9
|
+
|
|
10
|
+
- Fixed the Linux client-detection regression when `.clinerules` is a regular file: unselected directory adapters are probed without treating a file parent as a fatal error. Existing rules and agent selections remain intact.
|
|
11
|
+
- Selected installation paths now reject non-directory parents during planning on every platform, before any write. Permission failures and linked-path refusal remain enforced; regressions cover POSIX errors, preservation, CLI refusal, and rerun stability.
|
|
12
|
+
- Earlier adapter-only verification: Windows/Python 3.12.14 ran 133 tests, 129 passed, four environment-dependent skips; Python 3.10 grammar passed. [Verification](../ADAPTER_PATH_FIX.md) distinguishes portable POSIX regression coverage from unverified native Linux and corrected hosted CI.
|
|
13
|
+
- v0.5.0 verification: 161 tests ran, 157 passed, four environment-dependent skips; post-review targeted checks passed. Kit validation returned zero errors and one expected pending-Gemini warning; all scripts/tests passed Python 3.10 grammar. Synthetic upgrade preserves project facts, model selection, and measurement bytes while adding Filament source/native skills. [Results and runtime limits](../V0_5_0.md).
|
|
14
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Archived AI-KIT release history
|
|
2
|
+
|
|
3
|
+
## v0.6.4 (2026-10-10)
|
|
4
|
+
|
|
5
|
+
- Added `--with-native-settings`: Claude Code allow rules for recorded single-command checks, Read deny rules for secrets from [one list](../../templates/agent-secrets.ignore) plus detected Laravel/Moodle/Composer/Python secrets, and a marked secret block in `.cursorignore`, `.aiderignore`, and `.geminiignore` for selected clients. Private mode now keeps all AI-KIT Claude entries in `.claude/settings.local.json`, team mode in `.claude/settings.json`; owned entries move with the mode and user entries stay.
|
|
6
|
+
- Added `--with-scoped-rules`: one managed rule per module with stack profiles for Claude Code (`paths`), Cursor (`globs`), Copilot (`applyTo`), Windsurf (`trigger: glob`), and Cline (`paths`), generated from `ai-kit/project.json`. Codex gets no nested AGENTS.md (it reads only root-to-working-directory files) and no config.toml.
|
|
7
|
+
- Added `--with-data-guards`: ask rules before `rm -rf`, `git reset --hard`, `git clean`, Docker prune/volume removal, and detected Laravel/Moodle migrations.
|
|
8
|
+
- Added `--preset minimal|solo|team|strict` (also in `--interactive`); explicit flags win and the preview names extras a preset turns off.
|
|
9
|
+
- Added user-invoked workflow skills `ai-kit-bootstrap`, `ai-kit-review`, and `ai-kit-sync-context`, so the first session starts with `/ai-kit-bootstrap` instead of a pasted prompt.
|
|
10
|
+
- Gave the root README its own 16000-byte budget; other documents keep 12000. Moved v0.3.x entries to [docs/history](../history/v0.3-changelog.md).
|
|
11
|
+
- Verification: 185 tests ran, 184 passed, one Windows symlink skip; kit validation returned zero errors and one pending-Gemini warning; a real v0.5.0 installation upgraded without conflicts. Client activation remains unverified. [Results](../V0_6_4.md), [ADR 0007](../adr/0007-generated-client-configuration-and-presets.md).
|
|
12
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# AI-KIT v0.6.5-v0.9 history
|
|
2
|
+
|
|
3
|
+
Historical local release entries; current changes remain in the [root changelog](../../CHANGELOG.md).
|
|
4
|
+
|
|
5
|
+
## v0.9.0 (2026-10-10)
|
|
6
|
+
|
|
7
|
+
- Added `metrics.py analyze`, a per-provider aggregation (attempts, reviewed tasks, success rate, cost coverage, cost per correct result, models/efforts) that closes the loop between local measurements and routing: use it to inform `ai-kit/router/selection.json`, never to rewrite it automatically. It writes nothing and performs no API calls or price lookup.
|
|
8
|
+
- Verified the Gemini provider: active cheap/work/escalation model IDs were read from the current [Gemini API models](../../template/ai-kit/router/providers/gemini.md) documentation and recorded in [gemini.json](../../template/ai-kit/router/providers/gemini.json). Reasoning goes through Gemini's thinking control, so effort stays unknown until its exact levels are confirmed against the thinking documentation.
|
|
9
|
+
- Kit validation now returns zero errors and zero warnings (the previous pending-Gemini note is resolved); Gemini route/configure now resolve real model IDs.
|
|
10
|
+
- Synchronized the unified-CLI documentation with the released `providers` proxy and added provider-review/analyze coverage to the maintenance continuity procedure.
|
|
11
|
+
- Verification: 199 tests ran, 197 passed, two skipped (Windows symlink privilege and POSIX sh unavailable); kit validation returned zero errors and zero warnings.
|
|
12
|
+
|
|
13
|
+
## v0.8.0 (2026-10-10)
|
|
14
|
+
|
|
15
|
+
- Added `router.py providers` (and `aikit providers`) to list each provider's tier, verification status, date, and primary-doc sources, so pending or stale model mappings are visible for review instead of buried in JSON. Gemini stays pending until a maintainer verifies IDs against current primary documentation.
|
|
16
|
+
- Added `doctor.py --fix`, which re-runs the installer to restore missing managed files and missing owned documents; local edits and conflicts are preserved and reported (exit 2), never overwritten.
|
|
17
|
+
- The CI extra now installs AI-KIT itself from a reviewed revision when installer state is absent, so private-mode projects get CI validation instead of a "missing state" failure. Pin the clone to a tag or SHA before relying on it.
|
|
18
|
+
- Added a golden snapshot test that pins the exact generated `.claude/settings.local.json` (strict preset, Laravel+Go fixture) to catch silent drift in the native-settings/guards/data-guards merge.
|
|
19
|
+
- Verification: 197 tests ran, 195 passed, two skipped (Windows symlink privilege and POSIX sh unavailable); kit validation returned zero errors and one pending-Gemini warning. Hosted CI and the portable wheel remain unverified.
|
|
20
|
+
|
|
21
|
+
## v0.7.0 (2026-10-10)
|
|
22
|
+
|
|
23
|
+
- Added a unified `aikit` command line ([aikit_cli.py](../../aikit_cli.py)) that dispatches `install`, `doctor`, `route`, `configure`, `metrics`, `adr`, `changelog`, `check`, and `docker` to their scripts, plus a [pyproject.toml](../../pyproject.toml) console script (`pip install -e .` exposes `aikit`). The version is derived from VERSION; a portable wheel still needs the package-data packaging step, which stays deferred.
|
|
24
|
+
- Expanded the CI matrix to macOS and Python 3.14 and added a `route` smoke step through the unified CLI.
|
|
25
|
+
- The doctor now reports when `ai-kit/project.json` and `PROJECT_CONTEXT.md` module maps disagree, so machine and human project facts cannot silently drift apart.
|
|
26
|
+
- Relaxed `chat_language` to accept non-Latin language names (for example Ukrainian or Chinese); it remains a nonempty, control-character-free name up to 60 characters.
|
|
27
|
+
- Verification: 191 tests ran, 189 passed, two skipped (Windows symlink privilege and POSIX sh unavailable); kit validation returned zero errors and one pending-Gemini warning. Hosted CI on the expanded matrix remains unverified until the next push; a portable wheel is deferred.
|
|
28
|
+
|
|
29
|
+
## v0.6.5 (2026-10-10)
|
|
30
|
+
|
|
31
|
+
- Added a root [SKILL.md](../../SKILL.md) that makes the repository itself a skill: cloned into a skills directory it carries the installer and teaches any assistant to install, configure, upgrade, explain, and maintain the kit; the checker requires it and validates its frontmatter.
|
|
32
|
+
- Revised ignore rules. The reference repository now ignores IDE, editor, and OS files; `.idea/` was removed from the Git index (local files kept). Application policies gain the useful `.gitignore_real` rules: private mode keeps AI client configuration folders out of Git, and both modes ignore extracted AI-KIT bundles, `.netrc`, `.pypirc`, Aider history, PHP-CS-Fixer and Homestead files, Zed/Nova folders, and Delve binaries. Node modules also ignore Next, Nuxt, SvelteKit, Turbo, and Parcel output. Rules that would hide project source (global `vendor/`, `SKILL.md`, `/bin/`, `/config.php`) stay scoped or excluded. The bundle pattern uses a hyphen because `/AI-KIT*/` matched `ai-kit/` itself on case-insensitive systems and would hide AI-KIT files in team mode.
|
|
33
|
+
- Rewrote the root README as a feature showcase: a features-at-a-glance table, a feature tour (project memory, stack profiles for Go/PHP/Laravel/Filament 5/Moodle/Python, the Kubernetes-ready container contract, adaptive model routing, 11 AI clients, native configuration, guardrails, workflows), a three-step quick start, and an honest-boundaries section. Claims were checked against the canonical template documents. The root README budget rises to 20000 bytes; other documents keep 12000.
|
|
34
|
+
- Verification: 185 tests ran, 184 passed, one Windows symlink skip; kit validation returned zero errors and one pending-Gemini warning, including the new private/team visibility checks. Client activation and hosted CI remain unverified.
|
|
35
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Archived AI-KIT release history
|
|
2
|
+
|
|
3
|
+
## v1.1.0 (2026-10-12)
|
|
4
|
+
|
|
5
|
+
- Prepared v1.1.0 for security-audit and Strix. Expanded README capabilities/examples, pins, lifecycle and execution prerequisites; behavioral results below preceded release labeling.
|
|
6
|
+
- Release labeling verified on Windows/Python 3.12.14: eight CLI tests, 1.1.0 wheel metadata/install/rerun, preserved 0.13.0 upgrade and clean kit checks.
|
|
7
|
+
- Added --with-strix: one explicit-only entry point and nine original Strix skills plus Apache-2.0 license pinned at f7a32ae62d94872631bc8415073868d02a6ffdaf. Offline installation verifies bounded nested trees, Git blobs/SHA-256 and newline bytes; choices persist independently outside presets. Documented external runtime setup, writable target copies, explicit scope/budget, findings and separate cloud/CI/fix authorization. Added preservation/conflict/path/client/checker/wheel tests; [contract and results](../STRIX.md).
|
|
8
|
+
- Strix verification on Windows/Python 3.12.14: 285 tests (281 passed, four runtime skips), clean kit validation, original-byte/skill checks, installed private/team visibility and offline fresh-environment wheel smoke with both optional skills and stable rerun. External Strix runtime and real scans remain unverified.
|
|
9
|
+
- Added opt-in --with-security-audit: a short explicit-only Codex/Claude entry point and the complete Cloudflare skill pinned at c1c8a8c1471069fb0e188eeaff69b8e8db6564a8, with MIT license, Git blob/SHA-256 integrity checks and preserved newline bytes. Offline installation persists the choice outside presets, preserves local adaptations/conflicts, and runs no audit or upstream code. Added installation/checker/wheel coverage and documented native Windows validator limitations; [contract and results](../SECURITY_AUDIT.md).
|
|
10
|
+
- Prior security-audit verification: 271 Windows/Python tests (267 passed/four skips), clean kit/skill/wheel checks. Cloudflare's native Windows suite had seven CLI platform failures; 44 in-memory checks passed separately. [Details](../SECURITY_AUDIT.md); full audits/native activation remain deferred.
|
|
11
|
+
- Enabled main protection through gh: pull requests, 15 GitHub Actions checks, current branches and resolved conversations; blocked force pushes/deletion, including for admins. Zero mandatory approvals permit solo maintenance. Verified by API read-back; updated maintainer guidance.
|
|
12
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Archived AI-KIT release history
|
|
2
|
+
|
|
3
|
+
## v1.2.0 (2026-10-12)
|
|
4
|
+
|
|
5
|
+
- Prepared v1.2.0 for optional Context7 documentation lookup and the OpenRouter integration guide. Version labeling is local; the full behavioral results below preceded labeling. Publication/tagging remain separate.
|
|
6
|
+
- After labeling: eight CLI tests, CLI/wheel version 1.2.0, clean kit validation and offline fresh-environment wheel smoke passed. Synthetic pre-label 1.1.0 upgrade preserved facts, settings values/choices, local Context7 edits, MCP configuration and both security pins; rerun stayed stable. [Release checks](../CONTEXT7.md#release-labeling).
|
|
7
|
+
- Added optional --with-context7: persistent documentation lookup skill with source/Claude copies, version-aware sanitized queries, and separate Codex/Claude/Cursor MCP setup examples. Installation remains offline and preserves native MCP configuration. Recorded upstream documentation revision; no hosted runtime pin or live connection is implied. Added lifecycle/preservation tests and wheel smoke coverage; [contract and verification](../CONTEXT7.md).
|
|
8
|
+
- Context7 verification on Windows/Python 3.12.14: 293 tests in 1239.036 seconds (289 passed/four runtime skips), clean kit/config/skill checks, all-client private/team visibility and offline fresh-environment wheel smoke. Live client activation and documentation retrieval remain unverified.
|
|
9
|
+
- Added a dedicated README OpenRouter section: reusable rules/context, current offline helpers versus a proposed API adapter, request layout, prompt/response caching, provider/session behavior, actual usage accounting and execution boundaries. Raised only the root README budget from 22000 to 32000 bytes at the owner's request; retained all existing feature content. Archived v0.5.0 release history with adjusted relative links to keep the changelog within its budget.
|
|
10
|
+
- Verified on Windows/Python 3.12.14: kit validation without errors/warnings, both README JSON examples, Python 3.10 grammar, exact preservation of prior README content and archived release text, and 285 tests in 970.706 seconds (281 passed, four runtime skips). No live OpenRouter call, cache experiment or savings measurement was run.
|
|
11
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Verification before measurement-led development
|
|
2
|
+
|
|
3
|
+
Historical results; current checks are in [implementation](../IMPLEMENTATION.md#measurement-led-development-verification).
|
|
4
|
+
|
|
5
|
+
### Early distribution verification
|
|
6
|
+
|
|
7
|
+
Pre-v0.4.7 detection, adapter/provider, and extras verification (62/73/69-test runs) is preserved in the [v0.3 changelog](../history/v0.3-changelog.md).
|
|
8
|
+
|
|
9
|
+
### Router and agent-registry verification
|
|
10
|
+
|
|
11
|
+
2026-10-10, Windows/Python 3.14.6: 92 tests ran, 91 passed, 1 skipped (Windows symlink privilege); kit validation returned no errors. Covers registry, route classification/resolution, local and pending providers, and configure preview/apply/conflict. Gemini IDs remain pending; no live API or hosted CI ran.
|
|
12
|
+
|
|
13
|
+
### Client settings and detection verification
|
|
14
|
+
|
|
15
|
+
2026-10-10, Windows/Python 3.14.6: 128 tests ran, 127 passed, 1 skipped (Windows symlink privilege); kit validation returned no errors; Python 3.10 grammar was verified. Regressions cover key-level settings merges with backups, user-edit survival, disabled-extra removal, legacy whole-file migration, the invalid-JSON conflict, managed_json validation, doctor reports, client detection, and lockfile/evidence-based commands. The hook ran through Git Bash sh with a CRLF script and a spaced Windows path; an end-to-end CLI run was stable on rerun. A real v0.4.6 installation upgraded cleanly; a v0.4.6 downgrade preview reports a settings conflict. Native Claude Code hook delivery, ask enforcement, and hosted CI remain unverified.
|
|
16
|
+
|
|
17
|
+
### Onboarding and project-facts verification
|
|
18
|
+
|
|
19
|
+
2026-10-10, Windows/Python 3.14.6: 109 tests ran, 108 passed, 1 skipped (Windows symlink privilege); kit validation returned no errors; Python 3.10 grammar was verified. Regressions cover interactive selections, the post-apply doctor check, per-manifest language/version/command detection, project.json drafting and preservation, and the adr/changelog scaffolding helpers. The Makefile targets were exercised locally; hosted CI and PyPI publication remain unverified.
|
|
20
|
+
|
|
21
|
+
### Unified CLI and fact-drift verification
|
|
22
|
+
|
|
23
|
+
2026-10-10, Windows/Python 3.14.6: 191 tests ran, 189 passed, two skipped; kit validation returned zero errors. Covers the `aikit` dispatcher, the module-map drift warning, and non-Latin chat language names. Hosted CI and a portable wheel remain unverified.
|
|
24
|
+
|
|
25
|
+
### Provider review and doctor-fix verification
|
|
26
|
+
|
|
27
|
+
2026-10-10, Windows/Python 3.14.6: 197 tests ran, 195 passed, two skipped; kit validation returned zero errors. Covers `router.py providers` status/sources, `doctor.py --fix` restore/no-op behavior, CI self-install wiring, and the golden `.claude/settings.local.json` snapshot. Hosted CI, Gemini verification, and a portable wheel remain unverified.
|
|
28
|
+
|
|
29
|
+
### Measurement analysis and Gemini verification
|
|
30
|
+
|
|
31
|
+
2026-10-10, Windows/Python 3.14.6: 199 tests ran, 197 passed, two skipped; kit validation returned zero errors and zero warnings. Covers `metrics.py analyze` and verified Gemini IDs; thinking/effort levels remain to be confirmed. Hosted CI and a portable wheel remain unverified.
|
|
32
|
+
|
|
33
|
+
### Windows CI fixture verification
|
|
34
|
+
|
|
35
|
+
2026-10-08, Windows/Python 3.12.14: 47 tests executed, 44 passed, 3 skipped (symlink privilege and two junction variants). Equivalent-path reproductions exposed both failures before the fix; the corrected fixture restores rollback injection and reaches the junction permission check. See [source/job evidence and limits](../WINDOWS_CI_FIX.md). Corrected hosted Windows results remain unverified.
|
|
36
|
+
|
|
37
|
+
### Manus patch verification
|
|
38
|
+
|
|
39
|
+
The detailed v0.2.2 record lives in [MANUS_REVIEW.md](../MANUS_REVIEW.md): candidate preservation, adapter-retirement review, junction detection, and the synthetic/upgrade smoke checks. Local result: 45 tests, 43 passed, 2 skipped. These are synthetic project/file tests, not application runtime trials; hosted CI remains unverified.
|
|
40
|
+
|
|
41
|
+
### Overlay regression
|
|
42
|
+
|
|
43
|
+
The supplied Linux/Python 3.13.16 CI failure exposed old v0.1 documents remaining beside the new v0.2 layout.
|
|
44
|
+
All 91 tracked source blobs at the published revision were reconstructed with matching Git object hashes. The original checker reproduced all five missing-heading errors and the large MODELS warning.
|
|
45
|
+
Patch 0.2.1 replaces known old rule documents with small canonical-resource pointers. It preserves the checker's full validation scope and does not reintroduce language/Git policy into maintainer AGENTS.
|
|
46
|
+
The clean bundle and patched public snapshot both passed the unchanged checker with zero errors/warnings and real Git visibility checks on Windows/Python 3.12.14.
|
|
47
|
+
The behavioral suite was rerun on the patched public snapshot: 33 tests, 32 passed, 1 Windows symlink-privilege skip. Upgrade fixtures now derive their versions from VERSION rather than pinning an old bundle number.
|
|
48
|
+
Archive inventory/exact bytes and Python 3.10 syntax were verified. Successful hosted CI after publication remains unverified.
|
|
49
|
+
|
|
50
|
+
### Original bundle checks
|
|
51
|
+
|
|
52
|
+
The original-bundle verification record is archived in [docs/history](../history/original-bundle-checks.md).
|
|
53
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Optional runtime guards
|
|
2
|
+
|
|
3
|
+
The installer applies these client rules only for the opt-in --with-guards and --with-data-guards extras, and only for entries it owns inside the client settings file.
|
|
4
|
+
claude-settings.git-ask.json makes Claude Code ask before Git commit/push commands. Core allows these operations only on an explicit user request, so ask matches the policy: an authorized commit stays possible and an unrequested one needs your confirmation.
|
|
5
|
+
claude-settings.data-ask.json asks before destructive file, Git, and Docker commands; its stacks section adds migration commands for detected Laravel and Moodle modules.
|
|
6
|
+
These are command-prefix rules, not a complete prohibition: aliases, git -C, wrappers, SDKs, and other tools require separate controls.
|
|
7
|
+
Core remains the instruction owner; do not claim a guard active without testing the actual client.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"agents": {
|
|
4
|
+
"codex": {
|
|
5
|
+
"documentation": {
|
|
6
|
+
"status": "verified",
|
|
7
|
+
"verified_documentation_date": "2026-10-10",
|
|
8
|
+
"sources": ["https://learn.chatgpt.com/docs/agent-configuration/agents-md", "https://learn.chatgpt.com/docs/build-skills"],
|
|
9
|
+
"activation": "unverified"
|
|
10
|
+
},
|
|
11
|
+
"entries": [],
|
|
12
|
+
"detect": [".codex/"]
|
|
13
|
+
},
|
|
14
|
+
"claude": {
|
|
15
|
+
"documentation": {
|
|
16
|
+
"status": "verified",
|
|
17
|
+
"verified_documentation_date": "2026-10-10",
|
|
18
|
+
"sources": ["https://code.claude.com/docs/en/memory", "https://code.claude.com/docs/en/skills", "https://code.claude.com/docs/en/hooks"],
|
|
19
|
+
"activation": "unverified"
|
|
20
|
+
},
|
|
21
|
+
"entries": ["CLAUDE.md"],
|
|
22
|
+
"skills_copy": ".claude/skills/",
|
|
23
|
+
"scoped_rules": {"directory": ".claude/rules/", "format": "claude-paths"},
|
|
24
|
+
"detect": ["CLAUDE.md", "CLAUDE.local.md", ".claude/"]
|
|
25
|
+
},
|
|
26
|
+
"kimi": {
|
|
27
|
+
"documentation": {
|
|
28
|
+
"status": "unverified",
|
|
29
|
+
"verified_documentation_date": null,
|
|
30
|
+
"sources": [],
|
|
31
|
+
"activation": "unverified"
|
|
32
|
+
},
|
|
33
|
+
"entries": ["KIMI.md"],
|
|
34
|
+
"detect": ["KIMI.md"]
|
|
35
|
+
},
|
|
36
|
+
"manus": {
|
|
37
|
+
"documentation": {
|
|
38
|
+
"status": "unverified",
|
|
39
|
+
"verified_documentation_date": null,
|
|
40
|
+
"sources": [],
|
|
41
|
+
"activation": "unverified"
|
|
42
|
+
},
|
|
43
|
+
"entries": ["MANUS.md"],
|
|
44
|
+
"detect": ["MANUS.md"]
|
|
45
|
+
},
|
|
46
|
+
"gemini": {
|
|
47
|
+
"documentation": {
|
|
48
|
+
"status": "verified",
|
|
49
|
+
"verified_documentation_date": "2026-10-10",
|
|
50
|
+
"sources": ["https://geminicli.com/docs/get-started/configuration"],
|
|
51
|
+
"activation": "unverified"
|
|
52
|
+
},
|
|
53
|
+
"entries": ["GEMINI.md"],
|
|
54
|
+
"ignore_file": ".geminiignore",
|
|
55
|
+
"detect": ["GEMINI.md", ".gemini/"]
|
|
56
|
+
},
|
|
57
|
+
"copilot": {
|
|
58
|
+
"documentation": {
|
|
59
|
+
"status": "verified",
|
|
60
|
+
"verified_documentation_date": "2026-10-10",
|
|
61
|
+
"sources": ["https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions"],
|
|
62
|
+
"activation": "unverified"
|
|
63
|
+
},
|
|
64
|
+
"optional": [
|
|
65
|
+
{"source": "copilot-instructions.md", "destination": ".github/copilot-instructions.md"}
|
|
66
|
+
],
|
|
67
|
+
"scoped_rules": {"directory": ".github/instructions/", "format": "copilot-applyto"},
|
|
68
|
+
"detect": [".github/copilot-instructions.md", ".github/instructions/"]
|
|
69
|
+
},
|
|
70
|
+
"cursor": {
|
|
71
|
+
"documentation": {
|
|
72
|
+
"status": "verified",
|
|
73
|
+
"verified_documentation_date": "2026-10-10",
|
|
74
|
+
"sources": ["https://cursor.com/docs/context/rules", "https://cursor.com/docs/reference/ignore-file"],
|
|
75
|
+
"activation": "unverified"
|
|
76
|
+
},
|
|
77
|
+
"optional": [
|
|
78
|
+
{"source": "ai-kit.mdc", "destination": ".cursor/rules/ai-kit.mdc"}
|
|
79
|
+
],
|
|
80
|
+
"scoped_rules": {"directory": ".cursor/rules/", "format": "cursor-globs"},
|
|
81
|
+
"ignore_file": ".cursorignore",
|
|
82
|
+
"detect": [".cursor/", ".cursorrules", ".cursorignore"]
|
|
83
|
+
},
|
|
84
|
+
"aider": {
|
|
85
|
+
"documentation": {
|
|
86
|
+
"status": "verified",
|
|
87
|
+
"verified_documentation_date": "2026-10-10",
|
|
88
|
+
"sources": ["https://aider.chat/docs/usage/conventions.html", "https://aider.chat/docs/config/options.html"],
|
|
89
|
+
"activation": "unverified"
|
|
90
|
+
},
|
|
91
|
+
"optional": [
|
|
92
|
+
{"source": "CONVENTIONS.md", "destination": "CONVENTIONS.md"}
|
|
93
|
+
],
|
|
94
|
+
"ignore_file": ".aiderignore",
|
|
95
|
+
"detect": [".aider.conf.yml", ".aiderignore"]
|
|
96
|
+
},
|
|
97
|
+
"windsurf": {
|
|
98
|
+
"documentation": {
|
|
99
|
+
"status": "verified",
|
|
100
|
+
"verified_documentation_date": "2026-10-10",
|
|
101
|
+
"sources": ["https://docs.devin.ai/desktop/cascade/memories"],
|
|
102
|
+
"activation": "unverified"
|
|
103
|
+
},
|
|
104
|
+
"optional": [
|
|
105
|
+
{"source": "ai-kit-windsurf.md", "destination": ".windsurf/rules/ai-kit.md"}
|
|
106
|
+
],
|
|
107
|
+
"scoped_rules": {"directory": ".windsurf/rules/", "format": "windsurf-trigger"},
|
|
108
|
+
"detect": [".windsurf/", ".windsurfrules"]
|
|
109
|
+
},
|
|
110
|
+
"cline": {
|
|
111
|
+
"documentation": {
|
|
112
|
+
"status": "verified",
|
|
113
|
+
"verified_documentation_date": "2026-10-10",
|
|
114
|
+
"sources": ["https://docs.cline.bot/customization/cline-rules"],
|
|
115
|
+
"activation": "unverified"
|
|
116
|
+
},
|
|
117
|
+
"optional": [
|
|
118
|
+
{"source": "ai-kit-cline.md", "destination": ".clinerules/ai-kit.md"}
|
|
119
|
+
],
|
|
120
|
+
"scoped_rules": {"directory": ".clinerules/", "format": "cline-paths"},
|
|
121
|
+
"detect": [".clinerules"]
|
|
122
|
+
},
|
|
123
|
+
"roo": {
|
|
124
|
+
"documentation": {
|
|
125
|
+
"status": "verified",
|
|
126
|
+
"verified_documentation_date": "2026-10-10",
|
|
127
|
+
"sources": ["https://docs.roocode.com/features/custom-instructions"],
|
|
128
|
+
"activation": "unverified"
|
|
129
|
+
},
|
|
130
|
+
"optional": [
|
|
131
|
+
{"source": "ai-kit-roo.md", "destination": ".roo/rules/ai-kit.md"}
|
|
132
|
+
],
|
|
133
|
+
"detect": [".roo/", ".roorules", ".roomodes"]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: AI-KIT project check
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
permissions:
|
|
6
|
+
contents: read
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
ai-kit:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
# Pin these actions to a reviewed SHA for stronger supply-chain control.
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: '3.10'
|
|
17
|
+
- name: Install AI-KIT when not already installed (private mode)
|
|
18
|
+
run: |
|
|
19
|
+
if [ -f ai-kit/.install-state.json ]; then
|
|
20
|
+
echo "AI-KIT already installed; validating the committed installation."
|
|
21
|
+
else
|
|
22
|
+
# Pin this clone to a reviewed revision (tag or SHA) before relying on the workflow.
|
|
23
|
+
git clone --depth 1 https://github.com/tigusigalpa/ai-kit.git /tmp/ai-kit-ref
|
|
24
|
+
python /tmp/ai-kit-ref/scripts/install.py . --apply
|
|
25
|
+
fi
|
|
26
|
+
- name: Check installed AI-KIT health
|
|
27
|
+
run: |
|
|
28
|
+
python3 - <<'PY'
|
|
29
|
+
import json
|
|
30
|
+
from pathlib import Path
|
|
31
|
+
|
|
32
|
+
root = Path.cwd()
|
|
33
|
+
failures = []
|
|
34
|
+
|
|
35
|
+
state_path = root / "ai-kit" / ".install-state.json"
|
|
36
|
+
if not state_path.is_file():
|
|
37
|
+
failures.append("missing ai-kit/.install-state.json")
|
|
38
|
+
state = {"files": {}}
|
|
39
|
+
else:
|
|
40
|
+
try:
|
|
41
|
+
state = json.loads(state_path.read_text(encoding="utf-8"))
|
|
42
|
+
except ValueError as exc:
|
|
43
|
+
failures.append(f"invalid installer state: {exc}")
|
|
44
|
+
state = {"files": {}}
|
|
45
|
+
|
|
46
|
+
for relative in sorted(state.get("files", {})):
|
|
47
|
+
if not (root / relative).is_file():
|
|
48
|
+
failures.append(f"missing managed file: {relative}")
|
|
49
|
+
|
|
50
|
+
agents = root / "AGENTS.md"
|
|
51
|
+
if not agents.is_file():
|
|
52
|
+
failures.append("missing AGENTS.md")
|
|
53
|
+
elif len(agents.read_bytes()) > 2500:
|
|
54
|
+
failures.append("AGENTS.md exceeds the 2500-byte always-loaded budget")
|
|
55
|
+
|
|
56
|
+
for relative in ("PROJECT_CONTEXT.md", "WIKI.md", "CHANGELOG.md", "docs/DECISIONS.md"):
|
|
57
|
+
if not (root / relative).is_file():
|
|
58
|
+
failures.append(f"missing owned document: {relative}")
|
|
59
|
+
|
|
60
|
+
if failures:
|
|
61
|
+
print("AI-KIT project check failed:")
|
|
62
|
+
for failure in failures:
|
|
63
|
+
print(" -", failure)
|
|
64
|
+
raise SystemExit(1)
|
|
65
|
+
print("AI-KIT project check passed")
|
|
66
|
+
PY
|