grimoire-kit 3.4.0__tar.gz → 3.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/.gitignore +1 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/CHANGELOG.md +10 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/PKG-INFO +33 -44
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/README.md +32 -43
- grimoire_kit-3.4.2/framework/copilot/instructions/grimoire-project.instructions.md +104 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-changelog.prompt.md +57 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-dream.prompt.md +63 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-health-check.prompt.md +62 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-pre-push.prompt.md +56 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-self-heal.prompt.md +64 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-session-bootstrap.prompt.md +38 -0
- grimoire_kit-3.4.2/framework/copilot/prompts/grimoire-status.prompt.md +52 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/backends/__init__.py +5 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/preflight-check.py +214 -0
- grimoire_kit-3.4.2/framework/tools/skill-validator.py +556 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/pyproject.toml +1 -1
- grimoire_kit-3.4.2/src/grimoire/__version__.py +1 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/app.py +506 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/scaffold.py +97 -27
- grimoire_kit-3.4.0/src/grimoire/__version__.py +0 -1
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/LICENSE +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/_grimoire/_config/custom/prompt-templates/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/creative-studio/agents/blender-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/creative-studio/agents/brand-designer.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/creative-studio/agents/content-creator.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/creative-studio/agents/illustration-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/creative-studio/archetype.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/creative-studio/shared-context.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/features/vector-memory/vectus.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/fix-loop/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/fix-loop/agents/fix-loop-orchestrator.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/fix-loop/archetype.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/fix-loop/workflows/workflow-closed-loop-fix.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/backup-dr-specialist.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/k8s-navigator.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/monitoring-specialist.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/ops-engineer.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/pipeline-architect.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/security-hardener.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/agents/systems-debugger.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/archetype.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/infra-ops/shared-context.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/meta/agents/agent-optimizer.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/meta/agents/art-director.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/meta/agents/concierge.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/meta/agents/creative-toolsmith.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/meta/agents/memory-keeper.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/meta/agents/project-navigator.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/minimal/agents/custom-agent.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/minimal/archetype.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/agents/backend-engineer.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/agents/deploy-orchestrator.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/agents/platform-architect.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/agents/reliability-engineer.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/archetype.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/shared-context.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/platform-engineering/templates/architecture.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/ansible-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/ansible-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/docker-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/docker-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/go-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/go-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/k8s-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/k8s-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/python-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/python-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/terraform-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/terraform-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/typescript-expert.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/stack/agents/typescript-expert.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/web-app/agents/frontend-specialist.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/web-app/agents/fullstack-dev.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/web-app/archetype.dna.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/archetypes/web-app/shared-context.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/examples/terraform-houseserver/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/examples/web-app-todo/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/agent-base-compact.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/agent-base.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/agent-mesh-network.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/agent-relationship-graph.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/agent-rules.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/agent2agent.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/archetype-dna.schema.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/cc-reference.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/cc-verify.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/context-router.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/copilot-extension/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/cross-validation-trust.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/delivery-contract.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/event-log-shared-state.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/grimoire-trace.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/honest-uncertainty-protocol.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/.pre-commit-config.tpl.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/commit-msg.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/mnemo-consolidate.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/post-checkout.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/post-commit.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/pre-commit-cc.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/pre-push.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hooks/prepare-commit-msg.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/hybrid-parallelism-engine.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/mcp/grimoire-mcp-server.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/backends/backend_local.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/backends/backend_ollama.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/backends/backend_qdrant_local.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/backends/backend_qdrant_server.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/contradiction-log.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/docker-compose.memory.tpl.yml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/failure-museum.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/k8s-qdrant.tpl.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/maintenance.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/mem0-bridge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/requirements/requirements-minimal.txt +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/requirements/requirements-ollama.txt +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/requirements/requirements-qdrant.txt +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/requirements.txt +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/memory/session-save.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/orchestrator-gateway.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/productive-conflict-engine.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/audit-report.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/capacity-planning.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/compliance-check.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/dependency-updates.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/design-tokens.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/network-troubleshoot.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/operational-mode.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/periodic-report.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/secret-rotation.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/strategic-plan.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/prompt-templates/troubleshoot.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/question-escalation-chain.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/registry/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/selective-huddle-protocol.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/sessions/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/sil-collect.sh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/team-manifest.schema.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/teams/team-build.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/teams/team-ops.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/teams/team-vision.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/README.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/adversarial-consensus.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-bench.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-build.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-caller.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-darwinism.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-debugger.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-forge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-integrity.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-lint.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-task-system.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-test.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-watch.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/agent-worker.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/antifragile-score.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/auto-doc.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/auto-index.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/background-tasks.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/bias-toolkit.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/bug-finder.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/cc-feedback.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/code-review.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/cognitive-flywheel.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/concierge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/context-guard.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/context-merge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/context-router.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/context-summarizer.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/conversation-branch.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/conversation-history.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/crescendo.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/crispr.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/cross-migrate.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/dark-matter.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/dashboard.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/decision-log.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/delivery-contracts.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/dep-check.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/desire-paths.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/digital-twin.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/distill.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/dna-evolve.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/doc-fetcher.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/docs-fetcher.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/dream.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/early-warning.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/expert-tool-chain.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/failure-museum.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/fitness-tracker.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/gen-tests.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/grimoire-completion.zsh +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/grimoire-daemon.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/grimoire-log.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/grimoire-mcp-tools.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/grimoire-setup.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/harmony-check.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/hpe-executors.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/hpe-monitor.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/hpe-runner.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/image-prompt.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/immune-system.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/incubator.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/llm-router.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/mcp-proxy.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/mcp-web-search.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/memory-lint.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/memory-sync.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/message-bus.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/mirror-agent.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/mycelium.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/new-game-plus.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/nso.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/nudge-engine.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/observatory.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/oracle.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/orchestrator.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/procedural-memory.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/project-graph.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/quality-score.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/quantum-branch.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/r-and-d.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rag-auto-inject.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rag-indexer.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rag-retriever.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/reasoning-stream.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rnd_core.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rnd_engine.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rnd_harvest.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/rosetta.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/schema-validator.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/self-healing.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/semantic-cache.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/semantic-chain.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/sensory-buffer.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/session-lifecycle.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/stigmergy.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/swarm-consensus.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/synapse-config.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/synapse-dashboard.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/synapse-trace.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/time-travel.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/token-budget.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/tool-advisor.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/tool-registry.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/tool-resolver.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/vision-judge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/web-browser.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/tools/workflow-adapt.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/boomerang-orchestration.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/github-cc-check.yml.tpl +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/incident-response.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/repo-map-generator.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/state-checkpoint.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/subagent-orchestration.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/workflow-graph.tpl.yaml +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/framework/workflows/workflow-status.tpl.md +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/__main__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/archetypes/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/cmd_debugger.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/cmd_init.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/cmd_memory.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/cmd_merge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/cmd_setup.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/cli/cmd_upgrade.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/archetype_resolver.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/config.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/deprecation.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/error_codes.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/exceptions.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/log.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/merge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/project.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/resolver.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/retry.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/scanner.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/schema.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/core/validator.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/data/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/mcp/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/mcp/server.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/backends/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/backends/_qdrant_mixin.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/backends/base.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/backends/local.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/backends/ollama.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/backends/qdrant.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/memory/manager.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/py.typed +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/registry/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/registry/agents.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/registry/discovery.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/registry/local.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/__init__.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/_common.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/agent_forge.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/context_guard.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/context_router.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/harmony_check.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/memory_lint.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/preflight_check.py +0 -0
- {grimoire_kit-3.4.0 → grimoire_kit-3.4.2}/src/grimoire/tools/stigmergy.py +0 -0
|
@@ -7,6 +7,16 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.4.2] - 2026-03-30
|
|
11
|
+
|
|
12
|
+
### Corrigé
|
|
13
|
+
|
|
14
|
+
- **Init mémoire: durcissement non-interactif** — la réutilisation auto d'un setup détecté valide désormais la reachability (Qdrant/Ollama) avant sélection backend.
|
|
15
|
+
- **Secrets: non persistance dans project-context.yaml** — `qdrant_api_key` détectée n'est plus écrite automatiquement dans la configuration projet; usage recommandé via variable d'environnement.
|
|
16
|
+
- **Init YAML: échappement des remplacements sed** — les URLs injectées sont échappées pour éviter la corruption YAML quand des caractères spéciaux sont présents.
|
|
17
|
+
- **Backend Qdrant: compat env vars** — prise en charge de `GRIMOIRE_QDRANT_API_KEY` en plus de `Grimoire_QDRANT_API_KEY`.
|
|
18
|
+
- **README: rendu architecture GitHub** — suppression du wrapper HTML autour du diagramme Mermaid pour un rendu fiable sur GitHub.
|
|
19
|
+
|
|
10
20
|
### Ajouté
|
|
11
21
|
|
|
12
22
|
- **CLI: A1 — `--debug` / `-D` flag global** — Expose GRIMOIRE_DEBUG en flag CLI (à la ruff/uv). Fonctionne aussi via `GRIMOIRE_DEBUG=1` env var. Active les tracebacks complets via Rich. Message d'erreur mis à jour : « Use --debug or set GRIMOIRE_DEBUG=1 » (Round 37)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: grimoire-kit
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.2
|
|
4
4
|
Summary: Composable AI agent platform — personas, memory, workflows, and quality automation for any project.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Guilhem-Bonnet/Grimoire-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/Guilhem-Bonnet/Grimoire-kit
|
|
@@ -190,52 +190,41 @@ pip install -e ".[dev]"
|
|
|
190
190
|
|
|
191
191
|
## <img src="docs/assets/icons/temple.svg" width="28" height="28" alt=""> Architecture
|
|
192
192
|
|
|
193
|
-
<table>
|
|
194
|
-
<tr><td>
|
|
195
|
-
|
|
196
193
|
```mermaid
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
style VISION fill:#1a1040,stroke:#a371f7,color:#c9d1d9
|
|
231
|
-
style BUILD fill:#0d2818,stroke:#3fb950,color:#c9d1d9
|
|
232
|
-
style OPS fill:#2d1a02,stroke:#d29922,color:#c9d1d9
|
|
233
|
-
style ENGINE fill:#0d1117,stroke:#58a6ff,color:#c9d1d9
|
|
194
|
+
flowchart TB
|
|
195
|
+
subgraph VISION[TEAM VISION]
|
|
196
|
+
PM[PM]
|
|
197
|
+
AN[Analyst]
|
|
198
|
+
UX[UX Designer]
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
subgraph BUILD[TEAM BUILD]
|
|
202
|
+
DEV[Dev]
|
|
203
|
+
ARCH[Architect]
|
|
204
|
+
QA[QA]
|
|
205
|
+
SM[Scrum Master]
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
subgraph OPS[TEAM OPS]
|
|
209
|
+
INFRA[Infra]
|
|
210
|
+
SEC[Security]
|
|
211
|
+
MON[Monitoring]
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
subgraph ENGINE[GRIMOIRE ENGINE]
|
|
215
|
+
MEM[Semantic Memory]
|
|
216
|
+
TOOLS[93+ Tools]
|
|
217
|
+
PROTO[Protocols]
|
|
218
|
+
HEAL[Self-Healing]
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
VISION -- Delivery Contract --> BUILD
|
|
222
|
+
BUILD -- Delivery Contract --> OPS
|
|
223
|
+
ENGINE -. support .-> VISION
|
|
224
|
+
ENGINE -. support .-> BUILD
|
|
225
|
+
ENGINE -. support .-> OPS
|
|
234
226
|
```
|
|
235
227
|
|
|
236
|
-
</td></tr>
|
|
237
|
-
</table>
|
|
238
|
-
|
|
239
228
|
**Règle fondamentale** : aucune team ne commence sans un **Delivery Contract** signé de la team précédente. Zéro handoff informel.
|
|
240
229
|
|
|
241
230
|
<br>
|
|
@@ -135,52 +135,41 @@ pip install -e ".[dev]"
|
|
|
135
135
|
|
|
136
136
|
## <img src="docs/assets/icons/temple.svg" width="28" height="28" alt=""> Architecture
|
|
137
137
|
|
|
138
|
-
<table>
|
|
139
|
-
<tr><td>
|
|
140
|
-
|
|
141
138
|
```mermaid
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
style VISION fill:#1a1040,stroke:#a371f7,color:#c9d1d9
|
|
176
|
-
style BUILD fill:#0d2818,stroke:#3fb950,color:#c9d1d9
|
|
177
|
-
style OPS fill:#2d1a02,stroke:#d29922,color:#c9d1d9
|
|
178
|
-
style ENGINE fill:#0d1117,stroke:#58a6ff,color:#c9d1d9
|
|
139
|
+
flowchart TB
|
|
140
|
+
subgraph VISION[TEAM VISION]
|
|
141
|
+
PM[PM]
|
|
142
|
+
AN[Analyst]
|
|
143
|
+
UX[UX Designer]
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
subgraph BUILD[TEAM BUILD]
|
|
147
|
+
DEV[Dev]
|
|
148
|
+
ARCH[Architect]
|
|
149
|
+
QA[QA]
|
|
150
|
+
SM[Scrum Master]
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
subgraph OPS[TEAM OPS]
|
|
154
|
+
INFRA[Infra]
|
|
155
|
+
SEC[Security]
|
|
156
|
+
MON[Monitoring]
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
subgraph ENGINE[GRIMOIRE ENGINE]
|
|
160
|
+
MEM[Semantic Memory]
|
|
161
|
+
TOOLS[93+ Tools]
|
|
162
|
+
PROTO[Protocols]
|
|
163
|
+
HEAL[Self-Healing]
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
VISION -- Delivery Contract --> BUILD
|
|
167
|
+
BUILD -- Delivery Contract --> OPS
|
|
168
|
+
ENGINE -. support .-> VISION
|
|
169
|
+
ENGINE -. support .-> BUILD
|
|
170
|
+
ENGINE -. support .-> OPS
|
|
179
171
|
```
|
|
180
172
|
|
|
181
|
-
</td></tr>
|
|
182
|
-
</table>
|
|
183
|
-
|
|
184
173
|
**Règle fondamentale** : aucune team ne commence sans un **Delivery Contract** signé de la team précédente. Zéro handoff informel.
|
|
185
174
|
|
|
186
175
|
<br>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Conventions du projet Grimoire. Chargé automatiquement pour tous les fichiers. Apply when: agent activation, memory files, project context, grimoire workflows, any project file."
|
|
3
|
+
applyTo: "**"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Conventions Grimoire — {{project_name}}
|
|
7
|
+
|
|
8
|
+
## Contexte Projet
|
|
9
|
+
|
|
10
|
+
Ce projet utilise **Grimoire Kit** — une plateforme d'agents IA composables.
|
|
11
|
+
|
|
12
|
+
### Règle fondamentale
|
|
13
|
+
|
|
14
|
+
Avant toute action, charger :
|
|
15
|
+
- `{project-root}/_grimoire/_memory/shared-context.md` — contexte du projet
|
|
16
|
+
- `{project-root}/_grimoire/_memory/config.yaml` — `user_name` et `communication_language`
|
|
17
|
+
|
|
18
|
+
### Structure clé
|
|
19
|
+
|
|
20
|
+
| Dossier | Rôle |
|
|
21
|
+
|---------|------|
|
|
22
|
+
| `_grimoire/_config/custom/agents/` | Agents IA internes (persona + instructions) |
|
|
23
|
+
| `.github/agents/` | Wrappers VS Code Copilot (auto-générés) |
|
|
24
|
+
| `.github/prompts/` | Workflows disponibles via `/` dans Copilot Chat |
|
|
25
|
+
| `_grimoire/_memory/` | Mémoire persistante inter-sessions |
|
|
26
|
+
| `_grimoire-output/` | Outputs des agents (lecture seule) |
|
|
27
|
+
|
|
28
|
+
## Conventions de Communication
|
|
29
|
+
|
|
30
|
+
- Toujours répondre en {{language}} (configuré dans `_grimoire/_memory/config.yaml`)
|
|
31
|
+
- S'adresser à l'utilisateur par son prénom (`user_name` dans config)
|
|
32
|
+
- Éviter le jargon technique non nécessaire
|
|
33
|
+
|
|
34
|
+
## Mémoire Partagée
|
|
35
|
+
|
|
36
|
+
- **decisions-log.md** — logguer toute décision architecturale significative
|
|
37
|
+
- **failure-museum.md** — documenter les erreurs résolues pour éviter la récidive
|
|
38
|
+
- **shared-context.md** — source de vérité sur le projet (toujours à jour)
|
|
39
|
+
|
|
40
|
+
## Agents et Routing
|
|
41
|
+
|
|
42
|
+
- L'agent `concierge` est le point d'entrée unique — il route vers les spécialistes
|
|
43
|
+
- Les agents communiquent via `_grimoire/_memory/handoff-log.md`
|
|
44
|
+
- Chaque agent doit charger `_grimoire/_config/custom/agent-base.md` au démarrage
|
|
45
|
+
|
|
46
|
+
## Anti-patterns
|
|
47
|
+
|
|
48
|
+
- ❌ Ne jamais deviner des informations non présentes dans `shared-context.md`
|
|
49
|
+
- ❌ Ne jamais modifier les fichiers dans `.github/agents/` manuellement
|
|
50
|
+
- ❌ Ne jamais supposer le stack technique — le lire depuis `project-context.yaml`
|
|
51
|
+
- ❌ Ne jamais commiter des secrets ou tokens
|
|
52
|
+
|
|
53
|
+
## Workflows Rapides
|
|
54
|
+
|
|
55
|
+
| Prompt | Usage |
|
|
56
|
+
|--------|-------|
|
|
57
|
+
| `/grimoire-session-bootstrap` | Reprendre le travail après une pause |
|
|
58
|
+
| `/grimoire-health-check` | Vérifier la santé du projet |
|
|
59
|
+
| `/grimoire-dream` | Consolidation et insights hors-session |
|
|
60
|
+
| `/grimoire-pre-push` | Validation avant push |
|
|
61
|
+
| `/grimoire-changelog` | Générer les notes de version |
|
|
62
|
+
| `/grimoire-status` | Tableau de bord rapide |
|
|
63
|
+
| `/grimoire-self-heal` | Réparer les problèmes courants |
|
|
64
|
+
|
|
65
|
+
## Guide des Workflows
|
|
66
|
+
|
|
67
|
+
### Pour bien démarrer
|
|
68
|
+
|
|
69
|
+
1. **Premier accès** → `/grimoire-session-bootstrap` (charge contexte)
|
|
70
|
+
2. **Vérification rapide** → `/grimoire-health-check` (diagnostique)
|
|
71
|
+
3. **Pendant le travail** → `/grimoire-status` (vue d'ensemble)
|
|
72
|
+
4. **Avant commit** → `/grimoire-pre-push` (validation)
|
|
73
|
+
5. **Fin de journée** → `/grimoire-dream` (insights)
|
|
74
|
+
|
|
75
|
+
### En cas de problème
|
|
76
|
+
|
|
77
|
+
- Erreur pas claire → `/grimoire-health-check`
|
|
78
|
+
- Système cassé → `/grimoire-self-heal`
|
|
79
|
+
- Besoin de contexte → charger `_grimoire/_memory/shared-context.md`
|
|
80
|
+
|
|
81
|
+
## Activation d'un Agent
|
|
82
|
+
|
|
83
|
+
Quand un agent est activé, il doit suivre ce protocole :
|
|
84
|
+
|
|
85
|
+
1. ✅ **Charger le contexte** : `_grimoire/_memory/shared-context.md`
|
|
86
|
+
2. ✅ **Charger la config** : `_grimoire/_memory/config.yaml`
|
|
87
|
+
3. ✅ **Charger agent-base** : `_grimoire/_config/custom/agent-base.md`
|
|
88
|
+
4. ✅ **Suivre les instructions** : de ce fichier exactement
|
|
89
|
+
5. ✅ **Appliquer la persona** : jamais sortir de rôle
|
|
90
|
+
|
|
91
|
+
## Complétion Contract
|
|
92
|
+
|
|
93
|
+
Avant chaque commit, valider :
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
bash _grimoire/_config/custom/cc-verify.sh
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Cela vérifie :
|
|
100
|
+
- ✅ Contexte à jour
|
|
101
|
+
- ✅ Memory cohérente
|
|
102
|
+
- ✅ Pas de secrets
|
|
103
|
+
- ✅ Decisions loggées
|
|
104
|
+
- ✅ Failures documentées
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Génère un CHANGELOG structuré depuis git history et les décisions Grimoire'
|
|
3
|
+
agent: 'agent'
|
|
4
|
+
tools: ['read', 'execute']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Génère un CHANGELOG structuré pour le projet Grimoire :
|
|
8
|
+
|
|
9
|
+
## 1. Collecte git
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
cd {project-root} && git log --oneline --no-merges -30 --pretty=format:"%h %ad %s" --date=short
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 2. Décisions Grimoire
|
|
16
|
+
|
|
17
|
+
Lis `{project-root}/_grimoire/_memory/decisions-log.md` pour les décisions architecturales récentes.
|
|
18
|
+
|
|
19
|
+
## 3. Version actuelle
|
|
20
|
+
|
|
21
|
+
Lis `{project-root}/project-context.yaml` pour récupérer le nom du projet.
|
|
22
|
+
Si un fichier `version.txt` ou `pyproject.toml` existe, extraire la version actuelle.
|
|
23
|
+
|
|
24
|
+
## 4. CHANGELOG existant
|
|
25
|
+
|
|
26
|
+
Si `{project-root}/CHANGELOG.md` existe, lis les 30 premières lignes pour comprendre le format utilisé.
|
|
27
|
+
|
|
28
|
+
## 5. Génération
|
|
29
|
+
|
|
30
|
+
Génère un CHANGELOG au format **Keep a Changelog** (https://keepachangelog.com) :
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Changelog
|
|
34
|
+
|
|
35
|
+
## [Unreleased]
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
- ...
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- ...
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
- ...
|
|
45
|
+
|
|
46
|
+
### Security
|
|
47
|
+
- ...
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Règles de formatage :
|
|
51
|
+
- Regroupe les commits par type (feat, fix, chore, etc.)
|
|
52
|
+
- Traduis les messages Conventional Commits en langue naturelle (français)
|
|
53
|
+
- Inclus les décisions architecturales importantes de `decisions-log.md`
|
|
54
|
+
- Ne mets que les changements significatifs (pas les chores de style)
|
|
55
|
+
- Formate les références de commits en `[abc1234]`
|
|
56
|
+
|
|
57
|
+
Propose la mise à jour de `{project-root}/CHANGELOG.md` avec le contenu généré.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Dream Mode — consolidation hors-session, patterns cross-domaine, insights émergents'
|
|
3
|
+
agent: 'agent'
|
|
4
|
+
tools: ['read', 'search']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Lance un cycle de Dream Mode — consolidation et analyse hors-session.
|
|
8
|
+
|
|
9
|
+
## 1. Collecte des sources
|
|
10
|
+
|
|
11
|
+
Lis les fichiers suivants :
|
|
12
|
+
- `{project-root}/_grimoire/_memory/decisions-log.md` — décisions architecturales
|
|
13
|
+
- `{project-root}/_grimoire/_memory/failure-museum.md` — erreurs et résolutions
|
|
14
|
+
- `{project-root}/_grimoire/_memory/shared-context.md` — contexte global
|
|
15
|
+
- Les 5 derniers fichiers de `{project-root}/_grimoire/_memory/agent-learnings/` (si le dossier existe)
|
|
16
|
+
|
|
17
|
+
## 2. Analyse des patterns
|
|
18
|
+
|
|
19
|
+
Identifie :
|
|
20
|
+
- **Patterns récurrents** : quelles erreurs ou décisions se répètent ?
|
|
21
|
+
- **Dette technique** : quels problèmes sont contournés plutôt que résolus ?
|
|
22
|
+
- **Opportunités d'amélioration** : où le projet pourrait être simplifié ?
|
|
23
|
+
- **Connaissances émergentes** : quelles leçons nouvelles se dégagent ?
|
|
24
|
+
|
|
25
|
+
## 3. Cross-domaine
|
|
26
|
+
|
|
27
|
+
Cherche des connexions non évidentes entre :
|
|
28
|
+
- Les patterns de code et les patterns d'organisation
|
|
29
|
+
- Les décisions techniques et les objectifs business
|
|
30
|
+
- Les erreurs passées et les risques futurs
|
|
31
|
+
|
|
32
|
+
## 4. Rapport de Dream
|
|
33
|
+
|
|
34
|
+
Produis un rapport structuré :
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
🌙 DREAM REPORT — [date]
|
|
38
|
+
════════════════════════════════
|
|
39
|
+
|
|
40
|
+
📊 PATTERNS DÉTECTÉS
|
|
41
|
+
---
|
|
42
|
+
[liste des patterns récurrents]
|
|
43
|
+
|
|
44
|
+
💡 INSIGHTS
|
|
45
|
+
---
|
|
46
|
+
[insights cross-domaine non évidents]
|
|
47
|
+
|
|
48
|
+
🌱 SEEDS (idées à incuber)
|
|
49
|
+
---
|
|
50
|
+
[idées prometteuses à explorer]
|
|
51
|
+
|
|
52
|
+
⚠️ ALERTES
|
|
53
|
+
---
|
|
54
|
+
[risques ou dettes techniques à adresser]
|
|
55
|
+
|
|
56
|
+
📝 RECOMMANDATIONS PRIORITAIRES
|
|
57
|
+
---
|
|
58
|
+
1. [action 1]
|
|
59
|
+
2. [action 2]
|
|
60
|
+
3. [action 3]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Sauvegarde le rapport dans `{project-root}/_grimoire-output/dream-journal.md` (crée ou append).
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Health check complet du projet Grimoire — agents, mémoire, config, intégrité'
|
|
3
|
+
agent: 'agent'
|
|
4
|
+
tools: ['read', 'search', 'execute']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Health check complet du projet Grimoire en 5 points :
|
|
8
|
+
|
|
9
|
+
## 1. Configuration
|
|
10
|
+
|
|
11
|
+
Vérifie `{project-root}/project-context.yaml` :
|
|
12
|
+
- Le fichier existe et est valide YAML
|
|
13
|
+
- Il contient `project.name`, `user.name`, `memory.backend`
|
|
14
|
+
|
|
15
|
+
## 2. Agents
|
|
16
|
+
|
|
17
|
+
Vérifie `{project-root}/.github/agents/` :
|
|
18
|
+
- Compte les fichiers `.agent.md` présents
|
|
19
|
+
- Vérifie que chaque fichier a un frontmatter YAML avec `description:`
|
|
20
|
+
- Signale les agents sans description ou avec frontmatter invalide
|
|
21
|
+
|
|
22
|
+
## 3. Mémoire
|
|
23
|
+
|
|
24
|
+
Vérifie les fichiers dans `{project-root}/_grimoire/_memory/` :
|
|
25
|
+
- `shared-context.md` — présent et non vide ?
|
|
26
|
+
- `decisions-log.md` — présent ?
|
|
27
|
+
- `failure-museum.md` — messages d'erreurs récurrents à résoudre ?
|
|
28
|
+
- `config.yaml` — `user_name` et `communication_language` configurés ?
|
|
29
|
+
|
|
30
|
+
Lis les 20 premières lignes de `failure-museum.md` pour identifier des erreurs non résolues.
|
|
31
|
+
|
|
32
|
+
## 4. Structure
|
|
33
|
+
|
|
34
|
+
Vérifie que les dossiers essentiels existent :
|
|
35
|
+
- `.github/agents/` — agents VS Code Copilot
|
|
36
|
+
- `.github/prompts/` — prompts VS Code Copilot
|
|
37
|
+
- `_grimoire/_config/custom/agents/` — agents Grimoire internes
|
|
38
|
+
- `_grimoire-output/` — outputs de travail
|
|
39
|
+
|
|
40
|
+
## 5. Git
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cd {project-root} && git status --short && git log --oneline -5
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Présente un **rapport de santé** :
|
|
47
|
+
```
|
|
48
|
+
╔══════════════════════════════╗
|
|
49
|
+
║ Grimoire Health Check ║
|
|
50
|
+
╚══════════════════════════════╝
|
|
51
|
+
|
|
52
|
+
✅/⚠️/❌ Configuration ...
|
|
53
|
+
✅/⚠️/❌ Agents X agents actifs
|
|
54
|
+
✅/⚠️/❌ Mémoire ...
|
|
55
|
+
✅/⚠️/❌ Structure ...
|
|
56
|
+
✅/⚠️/❌ Git ...
|
|
57
|
+
|
|
58
|
+
Score global : X/5
|
|
59
|
+
|
|
60
|
+
Actions prioritaires :
|
|
61
|
+
1. ...
|
|
62
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Validation pre-push — intégrité agents, qualité code, mémoire, tests si disponibles'
|
|
3
|
+
agent: 'agent'
|
|
4
|
+
tools: ['read', 'search', 'execute']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Checklist de validation avant push Grimoire :
|
|
8
|
+
|
|
9
|
+
## 1. Intégrité des agents
|
|
10
|
+
|
|
11
|
+
Vérifie que les fichiers agents sont cohérents :
|
|
12
|
+
```bash
|
|
13
|
+
cd {project-root} && for f in .github/agents/*.agent.md; do echo "--- $f ---"; head -5 "$f"; done
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Chaque agent doit avoir :
|
|
17
|
+
- Un frontmatter YAML avec `description:`
|
|
18
|
+
- Au moins une instruction de chargement du fichier interne
|
|
19
|
+
|
|
20
|
+
## 2. Configuration projet
|
|
21
|
+
|
|
22
|
+
Vérifie que `project-context.yaml` est valide :
|
|
23
|
+
```bash
|
|
24
|
+
cd {project-root} && python3 -c "import yaml; yaml.safe_load(open('project-context.yaml'))" && echo "YAML OK" || echo "YAML INVALIDE"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 3. Mémoire cohérente
|
|
28
|
+
|
|
29
|
+
Vérifie que la mémoire n'a pas de données corrompues :
|
|
30
|
+
- `_grimoire/_memory/config.yaml` — YAML valide ?
|
|
31
|
+
- `_grimoire/_memory/shared-context.md` — non vide ?
|
|
32
|
+
|
|
33
|
+
## 4. Tests (si présents)
|
|
34
|
+
|
|
35
|
+
Si un dossier `tests/` existe :
|
|
36
|
+
```bash
|
|
37
|
+
cd {project-root} && python3 -m pytest tests/ -q --tb=line -x 2>/dev/null || echo "Tests non disponibles"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 5. Lint (si configuré)
|
|
41
|
+
|
|
42
|
+
Si `pyproject.toml` ou `ruff.toml` existe :
|
|
43
|
+
```bash
|
|
44
|
+
cd {project-root} && python3 -m ruff check . --statistics -q 2>/dev/null || echo "Ruff non configuré"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 6. Git diff
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
cd {project-root} && git diff --stat HEAD 2>/dev/null | head -20
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Présente un résumé :
|
|
54
|
+
- ✅ **Prêt à push** — tous les checks passent
|
|
55
|
+
- ❌ **Bloquant** — liste des problèmes critiques à corriger
|
|
56
|
+
- ⚠️ **Avertissements** — points d'attention non bloquants
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Auto-diagnostic et réparation Grimoire — identifie et corrige les problèmes courants'
|
|
3
|
+
agent: 'agent'
|
|
4
|
+
tools: ['read', 'search', 'execute', 'edit']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Diagnostique et tente de réparer les problèmes du projet Grimoire.
|
|
8
|
+
|
|
9
|
+
## 1. Scan des problèmes
|
|
10
|
+
|
|
11
|
+
Vérifie les points suivants et liste les problèmes trouvés :
|
|
12
|
+
|
|
13
|
+
### Configuration
|
|
14
|
+
- `project-context.yaml` existe et est un YAML valide ?
|
|
15
|
+
- `_grimoire/_memory/config.yaml` contient `user_name` et `communication_language` ?
|
|
16
|
+
|
|
17
|
+
### Agents
|
|
18
|
+
- `.github/agents/` existe et contient des `.agent.md` ?
|
|
19
|
+
- Les fichiers agents ont tous un frontmatter YAML avec `description:` ?
|
|
20
|
+
- Les agents dans `.github/agents/` pointent vers des fichiers existants dans `_grimoire/_config/custom/agents/` ?
|
|
21
|
+
|
|
22
|
+
### Mémoire
|
|
23
|
+
- `_grimoire/_memory/shared-context.md` existe et n'est pas vide ?
|
|
24
|
+
- Pas de fichiers JSON malformés dans `_grimoire/_memory/` ?
|
|
25
|
+
|
|
26
|
+
### Structure
|
|
27
|
+
- `_grimoire/_config/custom/agents/` contient des agents ?
|
|
28
|
+
- `_grimoire-output/` existe ?
|
|
29
|
+
|
|
30
|
+
## 2. Triage des problèmes
|
|
31
|
+
|
|
32
|
+
Pour chaque problème trouvé, classifie-le :
|
|
33
|
+
- 🔴 **CRITIQUE** — bloque le fonctionnement des agents
|
|
34
|
+
- 🟡 **AVERTISSEMENT** — dégrade l'expérience mais ne bloque pas
|
|
35
|
+
- 🔵 **INFO** — amélioration possible
|
|
36
|
+
|
|
37
|
+
## 3. Réparations automatiques
|
|
38
|
+
|
|
39
|
+
Pour les problèmes **critiques** simples, propose et applique :
|
|
40
|
+
- Créer un `shared-context.md` vide si manquant
|
|
41
|
+
- Ajouter un frontmatter YAML minimal à un agent sans description
|
|
42
|
+
- Créer les dossiers manquants
|
|
43
|
+
|
|
44
|
+
Pour les problèmes complexes, fournis des instructions précises à l'utilisateur.
|
|
45
|
+
|
|
46
|
+
## 4. Rapport
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
🔧 GRIMOIRE SELF-HEAL REPORT
|
|
50
|
+
════════════════════════════
|
|
51
|
+
|
|
52
|
+
Problèmes trouvés : [n]
|
|
53
|
+
🔴 Critiques : [n]
|
|
54
|
+
🟡 Avertissements : [n]
|
|
55
|
+
🔵 Infos : [n]
|
|
56
|
+
|
|
57
|
+
Réparations appliquées : [n]
|
|
58
|
+
✅ [action appliquée]
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
Actions manuelles requises :
|
|
62
|
+
1. [instruction précise]
|
|
63
|
+
...
|
|
64
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Bootstrap une nouvelle session Grimoire — contexte projet, historique, état git, santé'
|
|
3
|
+
agent: 'agent'
|
|
4
|
+
tools: ['read', 'search', 'execute']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Bootstrap une nouvelle session de travail Grimoire en 4 étapes :
|
|
8
|
+
|
|
9
|
+
## 1. Contexte projet
|
|
10
|
+
|
|
11
|
+
Lis `{project-root}/_grimoire/_memory/shared-context.md` pour comprendre le projet (nom, stack, conventions). Si absent, signale-le.
|
|
12
|
+
|
|
13
|
+
## 2. Historique récent
|
|
14
|
+
|
|
15
|
+
Lis `{project-root}/_grimoire/_memory/decisions-log.md` (section "Décisions récentes") et `{project-root}/_grimoire/_memory/session-state.md`. Identifie :
|
|
16
|
+
- Ce qui a été accompli récemment
|
|
17
|
+
- Ce qui était prévu mais non terminé
|
|
18
|
+
- Les décisions architecturales majeures
|
|
19
|
+
|
|
20
|
+
## 3. État git
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
cd {project-root} && git log --oneline -10 && git status --short
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 4. Santé du projet
|
|
27
|
+
|
|
28
|
+
Vérifie que les fichiers clés existent :
|
|
29
|
+
- `{project-root}/project-context.yaml`
|
|
30
|
+
- `{project-root}/_grimoire/_config/agent-manifest.csv`
|
|
31
|
+
- `{project-root}/.github/agents/` (au moins un fichier `.agent.md`)
|
|
32
|
+
|
|
33
|
+
Présente un résumé concis en français :
|
|
34
|
+
- **Projet** : nom, type, stack
|
|
35
|
+
- **Dernières actions** : 3-5 décisions/changements récents
|
|
36
|
+
- **État git** : commits récents, fichiers modifiés
|
|
37
|
+
- **Santé** : ✅ tout OK ou ⚠️ problèmes détectés
|
|
38
|
+
- **Prochaine étape suggérée** : action prioritaire basée sur le contexte
|