# Writulos > Writulos is a company that builds small, focused tools for the work people > put off. Its first tool, **Writulos Scribe**, is an AI code documentation generator: paste any > code, or push it via GitHub Actions, an API key, or a coding agent, and get > clean, structured documentation in seconds, function by function, with > parameters, return types, and plain-English descriptions laid out consistently > every time. Scribe also tracks **doc drift**: it remembers the commit each doc > was generated from and tells you when the docs have fallen behind the code. Company: https://writulos.com Writulos Scribe: https://scribe.writulos.com App: https://scribe.writulos.com/app Pricing: https://scribe.writulos.com/pricing Contact: info@writulos.com Founded by: Neville Mathew (https://www.linkedin.com/in/neville-mathew-9b7244415/) Every page on writulos.com and scribe.writulos.com answers a request sent with `Accept: text/markdown` in Markdown, at the page's own address; the files listed below are the same Markdown at their own `.md` addresses. **When to use Writulos Scribe** Reach for Scribe when the job is one of these: - Writing documentation for source code: one file, a handful, or every file a push changes. It returns Markdown with an overview, how the code works, and a section per function or class (description, parameters with types, return value, a usage example), plus dependencies and notes. - Writing about code for people who will not read it: User-Facing mode turns the same file into plain-English README, onboarding or changelog copy. - Keeping documentation true after it is written: the GitHub Action stamps each doc with the commit it was generated from, counts the commits that touched the source since, warns on pull requests, and on Pro and Business can fail the check until the docs catch up. - Finding out how far a public GitHub repository's README or docs have fallen behind its code, with no account: the free docs freshness check. Scribe documents code and never edits it. It is not the tool for answering questions about a codebase in conversation, for prose that is not about code, or for documenting a private repository by URL (send the file contents instead). **How an agent should call it** - Over MCP, remote: connect to https://scribe.writulos.com/mcp (Streamable HTTP, protocol versions 2025-06-18, 2025-11-25 and 2026-07-28) with the header `Authorization: Bearer writ_...`. Listing the tools needs no key. - Over MCP, local: run `npx -y writulos-mcp` with `WRITULOS_API_KEY` set, in Cursor, Claude Code, Claude Desktop or any MCP client (setup: https://scribe.writulos.com/integrations/mcp). - Both offer two tools: `generate_docs` (one file: `code`, optional `filename` and `context`) and `generate_docs_batch` (`files`: 1 to 20 of those). - Over HTTP: `POST https://scribe.writulos.com/api/generate` with the header `x-api-key: writ_...` and the JSON body `{"code": "...", "filename": "auth.js"}`; the Markdown comes back in the `documentation` field. `POST https://scribe.writulos.com/api/agent-generate-batch` takes `{"files": [{"code": "...", "filename": "..."}]}`, up to 20 files, and returns a `docs` array. - Each documented file spends one generation from the account's monthly allowance, so send the files the user asked about, not a whole repository. A spent allowance answers 429 with the days until it resets; a failed generation is not charged. - A key comes from https://scribe.writulos.com/dashboard/api-keys after a free sign-in. Without one, a person can try Scribe at https://scribe.writulos.com/app. **Pricing** Every plan tracks doc drift, free included. What separates the tiers is what drift is allowed to do when it finds something. - Paid plans are priced per developer, because the drift gate is a check on developers' pull requests. - Free plan, $0/month, one developer: 20 documentation generations a month across the web app, the GitHub Action, agents and the API (one shared pool); drift tracking on every repo; doc history and activity log; public shareable doc links; Markdown and PDF export. Generated docs carry a small "Generated by Writulos" footer, and drift cannot fail a build. No credit card required. - Pro plan, $5.99 per developer a month ($59.90 per developer a year), from 1 developer to 25: the first plan where stale docs can fail a build. Set fail_on_drift: true on a repo and a pull request whose docs are behind stops passing its check. 200 generations a month per developer, pooled across the team, and no footer on your docs. On a team, every developer sees one drift dashboard across every connected repo. - Business plan, $9.99 per developer a month ($99.90 per developer a year), from 10 developers: the same gate as one organisation-wide switch instead of one per repo, on by default and off in a click. 500 generations a month per developer in one shared pool, and a shared library and activity log attributed per person. - Yearly billing is ten months for twelve: two months free. - Cancel from Settings with a code emailed to you. The plan keeps running until the end of the period you have paid for, and nothing more is charged. - One generation = one file documented. A generation that fails is not charged. Free credits reset at the start of each month; paid plans reset on the billing date. - You can try it with no account at https://scribe.writulos.com/app. **Key facts** - Language-agnostic: the paste box, GitHub URL import, REST API and MCP server accept any text file up to 100 KB. File upload accepts JavaScript, TypeScript, Python, Go, Rust, Java, Kotlin, Scala, C, C++, C#, Ruby, PHP, Swift, Objective-C, Dart, R, Lua, Elixir, Erlang, Haskell, Clojure, Lisp, OCaml, Fortran, Julia, Groovy, Shell, PowerShell, SQL, Vue, Svelte, Astro, HTML, CSS and common config/schema/data files. - Generates docs in seconds - Output includes an overview, how it works, per-function parameters, return types and examples, dependencies and notes, all in plain English - Two output modes: Technical (developer reference) and User-Facing (README, onboarding and changelog copy) - Asks up to three clarification questions when intent cannot be inferred from the code, then rewrites the doc with your answers - Copy as Markdown, download .md, or export a print-ready PDF; publish any saved doc to a public share link and unpublish whenever you like - Input modes: paste, multi-file upload (up to 10 files per batch on Free, 20 on paid plans), or a public GitHub file URL - CI integration: a native GitHub Action documents changed files on every push and pull request (modes: commit, review PR, or zero-cost dry-run comment), with a one-time full-repo scan guarded by a max_files spend cap. Any other CI system can call the same REST API with an API key. - Doc drift detection: docs are stamped with their generating commit; the dashboard shows how far each doc is behind ("up to date", "3 commits ago", "100+ commits ago", or "unknown"), pull requests get inline drift warnings on every plan, and on Pro and Business fail_on_drift turns that warning into a failed check - AI agent integrations: the official MCP server, both as a remote endpoint (https://scribe.writulos.com/mcp) and as a local connector (npx writulos-mcp) for Cursor, Claude Code and Claude Desktop, listed in the MCP Registry as com.writulos/scribe, and Claude tool use with the published skill schema - REST API with per-user API keys (only key hashes are stored server-side); batch endpoint documents up to 20 files per request - Works on any device with a browser; light and dark themes **What makes Writulos Scribe different** Most developers either skip documentation entirely or spend 20-30 minutes writing it manually. A general chat assistant can help, but it requires you to know how to prompt it, format the output yourself, and repeat that process every time. Scribe does all of that automatically in one click, with the same structure, depth and clarity on every run, whether you paste 10 lines or 300. And unlike a chat assistant, Scribe keeps score after the doc is written: it knows which commit each doc came from and flags the ones the code has moved past. **Frequently asked questions** **Is Writulos Scribe free?** Yes. The free plan gives one developer 20 documentation generations a month with no credit card. Pro is $5.99 per developer a month, with 200 generations each, and is the first plan where stale docs can fail a build. Business is $9.99 per developer a month from ten developers, with the gate as one switch across the organisation. **Do I need to create an account?** No account is needed to try it: go to https://scribe.writulos.com/app, paste your code, and click Generate. A free account unlocks doc history, API keys, and CI/agent integrations. There are no passwords: you sign in with a six-digit code emailed to you, or with Google. **What programming languages does Writulos Scribe support?** It is language-agnostic: it reads structure, not just syntax, and returns the same sections whatever the language. The paste box, GitHub URL import, API and MCP server take any text file; file upload and the GitHub Action filter by file extension (see Key facts above). **How long does it take to generate docs?** Usually seconds. The AI processes your code and returns structured documentation almost immediately. **What does the output look like?** An overview of what the code does, how it works, then a section for each function or class (a plain-English description, parameters with types, the return value, and a usage example), plus dependencies and notes. Copy it as Markdown, download a .md file, export a PDF, or publish it to a public link. **How is this different from just asking a chat assistant?** A chat assistant requires you to write a prompt, paste your code, ask the right question, and then format the output yourself. Scribe does all of that automatically, the same way every time, and tells you later when the docs go stale. It's a tool, not a conversation. **Can Writulos Scribe run in my CI pipeline?** Yes. The native GitHub Action documents changed files on every push and pull request and flags docs that have fallen behind the code. Any other CI system can call the same REST API with an API key. **What does "fail on drift" do?** Each doc is stamped with the commit it was generated from, and the GitHub Action counts the commits that have touched the source file since. That count is the drift, and every plan shows it. On Pro and Business, with the gate switched on, a pull request that changes a file whose docs are behind gets a failed check until the docs are regenerated. It never edits your code, and it cannot block a push, only a merge. **Does it work with private repositories?** Yes. Paste or upload a file, or run the GitHub Action in your own CI, which sends only the files being documented. The GitHub URL import works for public repositories only. **What does Business add over Pro?** The same gate as one organisation-wide switch instead of one per repo, on by default; 500 generations a month per developer in one shared pool; and a shared docs library and activity log attributed per person. Business starts at ten developers. **Who is Writulos Scribe built for?** Developers and teams who want documentation that stays true to the code. A solo developer, student or indie maker gets structured docs in seconds, and a team gets a CI check that stops a pull request whose docs are behind from merging. Freelancers handing a project to a client get docs that make the handoff look professional. Pricing is per developer: free for one developer, Pro from one to 25, Business from ten. **Is my code stored or used for training?** Your code is sent to the AI to generate documentation and is never used for training. Guest submissions are not stored; generations made while signed in are saved to your private account history until you delete them. ## Developer resources - [Remote MCP server](https://scribe.writulos.com/mcp): Streamable HTTP endpoint for any MCP client; send `Authorization: Bearer writ_...` to call a tool - [MCP server card](https://scribe.writulos.com/mcp/server-card): the server's name, version, endpoint and auth, as a Server Card (application/mcp-server-card+json) - [MCP connector on npm](https://www.npmjs.com/package/writulos-mcp): `npx -y writulos-mcp`, the same tools over stdio, listed in the MCP Registry as com.writulos/scribe - [MCP setup guide](https://scribe.writulos.com/integrations/mcp.md): adding Scribe to Cursor, Claude Code or Claude Desktop - [REST API guide](https://scribe.writulos.com/integrations/rest-api.md): the two endpoints, the request body and what comes back - [API keys](https://scribe.writulos.com/integrations/api-keys.md): creating, using and revoking a `writ_` key - [GitHub Actions guide](https://scribe.writulos.com/integrations/github-actions.md): the workflow file, its inputs, and the drift gate - [Claude tool use guide](https://scribe.writulos.com/integrations/claude.md): a script of your own that hands Scribe to your agent through Claude tool use - [Tool schema](https://writulos.com/writulos.skill.json): both tools with their endpoints and JSON inputs, for tool-use integrations ## Writulos Scribe - [Scribe overview](https://scribe.writulos.com/scribe.md): what Scribe does, doc drift, the integrations, plans and common questions - [The app](https://scribe.writulos.com/app.md): paste, upload or link a file and get docs, no sign-up - [Pricing](https://scribe.writulos.com/pricing.md): Free, Pro and Business, per developer, in dollars and rupees - [Documentation drift](https://scribe.writulos.com/documentation-drift.md): what drift is, how it is measured in commits, and how to stop it in CI - [Docs freshness check](https://scribe.writulos.com/docs-freshness.md): a free estimate of how far a public repo's docs are behind, with a README badge ## Company - [Writulos](https://writulos.com/index.md): the company and its first tool - [About](https://writulos.com/about.md): who builds Writulos and why - [Contact](https://writulos.com/contact.md): support, billing, privacy and security reports, by email - [Privacy policy](https://writulos.com/privacy.md): what is collected, why, and your rights - [Terms of service](https://writulos.com/terms.md): the terms for using Writulos and Scribe ## Optional - [Blog](https://writulos.com/blog.md): every post, with a line on each - [What is documentation drift?](https://writulos.com/blog/what-is-documentation-drift.md) - [How to fail a pull request when the docs are out of date](https://writulos.com/blog/fail-pull-request-when-docs-are-stale.md) - [How to document Python code](https://writulos.com/blog/how-to-document-python-code.md) - [How to document TypeScript and JavaScript code](https://writulos.com/blog/how-to-document-typescript-code.md) - [How to write good code documentation](https://writulos.com/blog/how-to-write-good-code-documentation.md) - [How to automate code documentation in CI/CD](https://writulos.com/blog/automate-documentation-in-ci-cd.md) - [A chat assistant vs. a dedicated documentation tool](https://writulos.com/blog/chat-assistant-vs-dedicated-documentation-tool.md)