answerloom
v0.1.2
Published
Build static, cited answer packs from local docs with no AI bill, server, or database.
Downloads
322
Maintainers
Readme
AnswerLoom
AnswerLoom turns Markdown and text files into static, cited answer packs: no API key, no server, no database, no AI bill.
It is for maintainers, indie hackers, docs teams, teachers, and community projects that answer the same questions again and again. You write normal docs. AnswerLoom builds a portable pack that ranks local evidence, produces an answer card, cites source files and lines, and publishes as plain static files on GitHub Pages or any static host.
Why This Exists
The crowded path is another chat UI. AnswerLoom takes the opposite path.
Most "ask your docs" tools need a model, a vector database, a web server, or a hosted account. Those tools can be powerful, but they still make every reader depend on compute someone has to pay for. AnswerLoom makes repeated answers cheap by turning evidence into a static artifact that can be reviewed, forked, cached, mirrored, and hosted for free.
Quick Start
npx answerloom init
npx answerloom index
npx answerloom ask "How do I install this?"
npx answerloom build --out siteOpen site/index.html through a static server, or publish site/ to GitHub Pages.
This repository also ships a runnable demo:
npm run build:example
node bin/answerloom.js ask "Why is AnswerLoom free to run?" --pack .answerloom/example-pack.jsonWhat You Get
- A cross-platform Node CLI with no runtime dependencies.
- Local indexing for
.md,.markdown,.mdx,.txt, and.textfiles. - BM25-style evidence ranking with title and heading boosts.
- Answer cards with confidence, snippets, paths, line numbers, and scores.
- A polished static web app that runs from HTML, CSS, JavaScript, and JSON.
llms.txtoutput so agents can discover the pack file.- Dockerfile, GitHub Actions CI, Pages deployment, and multi-platform image build checks.
Commands
answerloom init [dir]
answerloom index [paths...] --out .answerloom/pack.json
answerloom ask "your question" --pack .answerloom/pack.json
answerloom build --pack .answerloom/pack.json --out answerloom-site
answerloom verify --pack .answerloom/pack.json --site answerloom-site
answerloom doctorConfig
answerloom.config.json keeps the pack portable:
{
"title": "My Project Answers",
"description": "Cited answers from the project docs.",
"sources": ["docs", "README.md"],
"ignore": ["node_modules", ".git", ".answerloom", "dist"],
"questions": [
"What does this project do?",
"How do I install it?",
"How is it different?"
],
"site": {
"accent": "#0f766e"
}
}Why It Is Different
AnswerLoom is not a chatbot. It does not invent prose from hidden model weights.
AnswerLoom is not only search. It returns a compact answer card, confidence, and ranked evidence.
AnswerLoom is not an LLM cache. It creates a public answer artifact that can live in Git, pass review, and serve unlimited readers without spending tokens.
The market research behind this wedge is in docs/market-research.md.
Quality Bar
Local verification:
npm run verifyThe CI pipeline runs linting, unit tests, CLI round trips, and example-site builds on Linux, macOS, and Windows across Node 20, 22, and 24. A separate Docker workflow builds a multi-platform image for linux/amd64 and linux/arm64.
Docker is optional for users:
docker build -t answerloom .
docker run --rm -v "$PWD:/work" -w /work answerloom indexGitHub Pages
The included Pages workflow builds the demo pack from examples/foss-maintainer and deploys dist/ on pushes to main. On a brand-new repository, enable Pages once with source set to GitHub Actions, or run gh api --method POST repos/OWNER/REPO/pages -f build_type=workflow. For your own project, replace the demo config with your docs config and keep the same workflow shape.
Sponsorship
AnswerLoom is MIT licensed and free to run because the output is static. If it saves support time, AI subscription money, or hosting cost, sponsorship keeps the maintenance loop alive.
License
MIT. See LICENSE.
