# featkpr > featkpr reads a web app's code and screens, drafts the paths people take, and tests each one as > the right user and the wrong one, so a pass means the permission check exists. It reads a product's repository, walks the running product on a throwaway copy, names its features, drafts every path a person takes with the real screens, writes tests from that map, runs them, and re-sends each one as a user who may not. The public figures are from open-source products we don't own (BookStack first), each with its source and date. ## How agents should use featkpr - Every page on this site answers `Accept: text/markdown` on its canonical URL. The landing route answers with a routing card under 1 KB rather than a mirror of the page. - Each page also has a `.md` twin at `.md`, served as `text/markdown`. ## Pages - [Home](https://featkpr.com/index.md): BookStack, tested as the right user and the wrong one - [The BookStack report](https://featkpr.com/library/bookstack/reports/2026-09-26-v26-05-5.md): every stage with its numbers, the flip, what it missed - [Library](https://featkpr.com/library.md): every product featkpr has touched, and how far it got - [BookStack](https://featkpr.com/library/bookstack.md) and [Shlink](https://featkpr.com/library/shlink.md): one page tree per product - [Services](https://featkpr.com/services.md): what featkpr does for your app, one page each - [Blog](https://featkpr.com/blog.md): findings from real products - [Roadmap](https://featkpr.com/roadmap.md): what shipped, what is next in order, every idea raised - [Private demo](https://featkpr.com/demo.md): how to see it on a real product - [The Shlink map](https://featkpr.com/map/shlink.md): a second product, read from code alone - [For agents](https://featkpr.com/agents.md): this behaviour, explained for the human evaluating it ## Not yet live A read-only MCP server, a public demo, and read-only invites. Nothing here claims a capability that does not exist.