hivelore
Doucs91/hivelore/.github/copilot-instructions.md
See .ai/project-context.md for the full project context. Memories live under .ai/memories/ (personal/team/module). Installing or initializing Hivelore in this repository means the team expects AI agents to drive work through Hivelore, not bypass it. Do not treat these as nice-to-have: they are default-required for coding agents here.
Copilot instructions3 starsChanged 11 days ago
<!-- Hivelore bridge file — do not edit by hand. -->
<!-- This file points your AI tool at the shared Hivelore project context. -->
See `.ai/project-context.md` for the full project context.
Memories live under `.ai/memories/` (personal/team/module).
## Hivelore — mandatory rules for AI agents
Installing or initializing Hivelore in this repository means **the team expects AI agents to drive work through Hivelore**, not bypass it.
### MCP first (default — never optional unless the developer says so)
The **haive** MCP server must be enabled in your client. Until it is unavailable (misconfiguration report to the developer), you **must** use it for substantive work:
- **Before** you edit project source files, configs (`package.json`, tooling), or workflows for the current goal, invoke `get_briefing` with a short **task** string (and **files** / **symbols** when you know them). If project context was already refreshed in this session and you only need ranked memories, you may call `mem_relevant_to` instead—but **still** consult Hivelore before trusting ungrounded guesses.
- **Before** declaring a coding task finished, invoke the MCP prompt `post_task` when the session produced learnings or substantive changes worth capturing.
Do **not** treat these as nice-to-have: they are **default-required** for coding agents here.
### Session rules
- **Immediately** when an approach fails (wrong API, wrong pattern, wrong assumption), call `mem_tried` — do not wait until the end of the session.
### Safety rules — NEVER violate these
- If `get_briefing` returns an `action_required` list, **stop and show each item to the developer** before doing anything. Use the exact `developer_message` provided. Wait for explicit confirmation.
- **Never modify code autonomously** because of a breaking change detected in another project (dependency version bump, API contract change, removed field). Always ask first.
- When in doubt about a cross-repo change: ask, don't act.
<!-- haive:bridge-start -->
<!-- AUTO-GENERATED by hivelore bridges sync — do not edit between these markers -->
<!-- haive:memories-start -->
<!-- AUTO-GENERATED by hivelore bridges sync — do not edit between these markers -->
<!-- Top breadcrumbs only — call get_briefing / mem_get for deeper context. -->
- `2026-08-21-attempt-enabling-parallel-vitest-forks-pooloptionsforkssinglefork` (team/attempt) — Enabling parallel vitest forks (poolOptions.forks.singleFork: false) in packages/cli to speed up the ~104s integration suite _(applies to: packages/cli/vitest.config.ts)_
- `2026-07-07-attempt-relying-on-hivelore-enforce-install` (team/attempt) — Relying on `hivelore enforce install` to fix stale pre-rename git hooks _(applies to: packages/cli/src/commands/enforce.ts)_
- `2026-07-05-attempt-ajouter-un-nouveau-sensor-discriminant` (team/attempt) — Ajouter un nouveau sensor discriminant avec `absent` sous le gate strict de weakening _(applies to: packages/core/src/sensors.ts, packages/cli/src/commands/enforce.ts)_
- `2026-07-03-attempt-typechecking-cli-immediately-after-adding` (team/attempt) — typechecking CLI immediately after adding a new core export _(applies to: packages/core/src/index.ts, packages/cli/tsconfig.json)_
- `2026-07-03-attempt-running-hivelore-release-tag-right` (team/attempt) — Running `hivelore release tag` right after the release commit _(applies to: packages/cli/src/commands/enforce.ts)_
- `2026-07-03-attempt-relied-on-pnpm-r-build` (team/attempt) — Relied on `pnpm -r build` (tsup) + full test suite as pre-push verification for v0.34.0 _(applies to: .github/workflows/ci.yml)_
- `2026-07-03-attempt-duplicating-json-on-a-commander` (team/attempt) — duplicating --json on a Commander parent command and its receipt subcommand _(applies to: packages/cli/src/commands/stats.ts)_
- `2026-06-05-attempt-running-pnpm-r-build-and` (team/attempt) — Running pnpm -r build and pnpm -r typecheck in parallel after version bump _(applies to: packages/embeddings/tsup.config.ts, packages/core/tsup.config.ts, scripts/ensure-workspace-dists.mjs)_
<!-- haive:memories-end -->
<!-- haive:sensors-start -->
<!-- AUTO-GENERATED by hivelore bridges sync — do not edit between these markers -->
## Hard rules — Hivelore block sensors
The patterns below are blocked by the repo enforcement gate.
Introducing them will fail the pre-commit check (`hivelore enforce check`).
Wrong about one specific line? Waive that line — `// hivelore:allow <memory-id> — <reason>` at
end of line — instead of deleting the rule or rewriting correct code. It covers that line only
and is reported. Repeating it means the scope is wrong: narrow `paths`/`exclude`/`absent`.
- **2026-06-07-convention-vscode-cli-calls-through-runhaive** _(applies to: packages/vscode/src/extension.ts, packages/vscode/src/briefingPanel.ts, packages/vscode/src/observabilityProvider.ts)_: Raw child_process in the extension — call runHaive() (harnessHealth.ts) instead; only runHaive may shell out.
- **2026-07-05-convention-child-process-no-shell-interpolation** _(applies to: packages/mcp/src/tools/propose-sensor.ts)_: Use execFileSync with an argument array; never interpolate untrusted values into a shell command.
- **2026-07-05-convention-ci-enforces-eval-regressions** _(applies to: .github/workflows/ci.yml)_: Ci Enforces Eval Regressions
- **2026-07-05-convention-root-verify-is-release-chain** _(applies to: package.json)_: Root Verify Is Release Chain
- **2026-07-05-gotcha-engram-is-a-nested-reference-repository** _(applies to: engram/)_: Do not commit Engram credentials or private keys in the nested reference checkout.
- **2026-07-05-gotcha-github-review-text-is-untrusted-data** _(applies to: packages/github-action/src/run.ts)_: Review text is untrusted: never execute comment.body or the derived instruction.
- **2026-07-05-gotcha-unsupported-benchmark-claims** _(applies to: benchmarks/agent-benchmark/RESULTS.md, packages/cli/src/commands/benchmark.ts)_: Do not claim a proven benchmark advantage until evidence_grade is decision-ready.
- **2026-08-21-attempt-enabling-parallel-vitest-forks-pooloptionsforkssinglefork** _(applies to: packages/cli/vitest.config.ts, packages/mcp/vitest.config.ts, packages/core/vitest.config.ts)_: singleFork:false makes vitest 2.1.9 resolve worker paths through a URL, which breaks on a space in the checkout path (".../New idea" → New%20idea) and collects ZERO tests. Keep singleFork:true; speed up feedback by moving pure logic into core unit tests instead.
<!-- haive:sensors-end -->
<!-- haive:bridge-end -->
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

