Reusable knowledge for research sprints.
Instead of starting every sprint from scratch, pull in battle-tested constraint sets, risk patterns, and decision templates. Grab a starter pack in one command:
npx @grainulation/silo pull compliance --into ./claims.jsonnpm install -g @grainulation/silo24 knowledge packs with 268 curated claims. Run silo packs for the
current list with descriptions. The core domain packs:
| Pack | Claims | What's inside |
|---|---|---|
api-design |
13 | REST conventions, versioning, pagination, error formats, GraphQL tradeoffs |
architecture |
12 | Monolith vs micro, build vs buy, SQL vs NoSQL decision claims |
ci-cd |
12 | CI/CD pipeline patterns, caching, rollback strategies |
compliance |
14 | HIPAA, SOC 2, GDPR constraint sets with regulatory citations |
data-engineering |
12 | ETL patterns, data quality, warehouse design |
frontend |
12 | Frontend architecture, performance, accessibility patterns |
migration |
10 | Database/cloud/framework migration risks and patterns |
observability |
12 | Logging, metrics, tracing, alerting patterns |
security |
12 | Security constraints, threat models, authentication patterns |
team-process |
12 | Team workflow, code review, incident response patterns |
testing |
10 | Testing strategies, coverage, test architecture |
Also includes: adr, architecture-decision, coverage-ramp,
incident-postmortem, qa-simulation, vendor-eval, 5 hackathon
packs. The full list is silo packs.
# See available packs
silo packs
# Pull compliance constraints into your sprint
silo pull compliance --into ./claims.json
# Pull only GDPR constraints
silo pull compliance --into ./claims.json --type constraint
# Search across stored claims
silo search "encryption at rest"
# Store your sprint's findings for reuse
silo store "q4-migration-findings" --from ./claims.json
# List everything in your silo
silo list| Command | Description |
|---|---|
silo list |
List all stored collections |
silo pull <pack> --into <file> |
Pull claims into a claims file |
silo store <name> --from <file> |
Store claims from a sprint |
silo search <query> |
Full-text search across claims |
silo packs |
List available knowledge packs |
silo publish <name> --collections <ids> |
Bundle collections into a pack |
silo install <file> |
Install a pack from a JSON file |
| `silo fetch [--mode auto | concise |
| `silo cache stats | clear |
npm test # unit + extraction tests (no network)
npm run test:live # includes live regression fixtures (FETCH_LIVE=1)Silo uses your filesystem for storage (~/.silo by default). No database, no network calls, no accounts.
When you pull, Silo re-prefixes claim IDs to avoid collisions, deduplicates against existing claims, and merges into your claims.json.
When you store, Silo hashes the content for versioning, saves to ~/.silo/claims/, and updates the search index.
const { Store } = require("@grainulation/silo/lib/store");
const { Search } = require("@grainulation/silo/lib/search");
const { ImportExport } = require("@grainulation/silo/lib/import-export");
const store = new Store().init();
const search = new Search(store);
const io = new ImportExport(store);
const results = search.query("encryption", { type: "constraint" });
io.pull("compliance", "./claims.json");
io.push("./claims.json", "my-sprint-findings");Depends only on @grainulation/barn (internal ecosystem utilities); no third-party runtime deps. Node built-ins otherwise. Filesystem-based storage. Works offline.
| Tool | Role |
|---|---|
| wheat | Research engine -- grow structured evidence |
| farmer | Permission dashboard -- approve AI actions in real time |
| barn | Shared tools -- templates, validators, sprint detection |
| mill | Format conversion -- export to PDF, CSV, slides, 26 formats |
| silo | Knowledge storage -- reusable claim libraries and packs |
| harvest | Analytics -- cross-sprint patterns and prediction scoring |
| orchard | Orchestration -- multi-sprint coordination and dependencies |
| grainulation | Unified CLI -- single entry point to the ecosystem |
See CHANGELOG.md for release history.
MIT