Before: A refactor quietly breaks an interface used by another language.
The contract travels with the file
The TypeScript renderer reads the exact shape declared by the Python compressor instead of guessing field names.
HINT for Software Engineers
HINT keeps plain-text engineering decisions beside the code they govern. Your agent reads only the relevant notes before it changes a file, so old constraints survive new sessions and new tools.
Where it helps
Before: A refactor quietly breaks an interface used by another language.
The TypeScript renderer reads the exact shape declared by the Python compressor instead of guessing field names.
Before: A familiar pattern is applied where the repository deliberately forbids it.
Architecture choices and rejected alternatives appear before implementation, while they can still change the approach.
Before: A happy-path patch ships without the errors and checks the system expects.
Error contracts, required flows and verification criteria arrive in the same scoped context as the code.
See it
The Pied Piper demo connects a Python compression stage to a TypeScript report renderer.
demo-pied-piper/renderer-ts/app.ts.hint ↗
# read ../compression-py/compressor.py
The incoming message is the `CompressionResult` emitted by the compression engine.
# func renderReport {#render_report}
## arg result
A validated `CompressionResult` mirroring the compressor output.It mirrors the upstream field names, follows the declared score formula, and reports any missing decision instead of inventing an interface.
<function_contract name="renderReport">
Read the upstream CompressionResult exactly.
Compute the score with the declared formula.
Return the specified report layout.
</function_contract>Your boundaries stay visible
FAQ
No. It keeps the durable decisions an agent needs next to the paths they govern and links to longer sources when needed.
Yes. Add small .hint files gradually; hint extract can draft structural starting points where a language adapter exists.
No. Scoped lookup and local search are deterministic and run without a network call.
A hintbook is a vocabulary for your profession—installed, not written by you.
decisioninvariantentityfieldfuncflowerrortestBootstrap is read-only: it prints instructions for the assistant. The assistant performs the installation.
npm install -g @openhint/cli
hint config
hint add @openhint/hintbook-software-engineer
hint apply
hint verify renderer-ts/app.ts
hint emit renderer-ts/app.ts