User manual

Get the most out of your CrocoNile tools.

How to install and use ArchBot, ArchMapApp and ArchSpec, and how your account, free trial, tokens and billing work. Everything happens inside GitHub — there is nothing else to set up.

Jump to a section
  1. Overview
  2. Quick start
  3. Installing an app
  4. Your account & tokens
  5. ArchBot
  6. ArchMapApp
  7. ArchSpec
  8. Using them together
  9. Troubleshooting
  10. Data & access
  11. Glossary
  12. Support

1Overview

CrocoNile Software builds AI tools that live in GitHub and work on your pull requests, repositories and issues. You install them like any GitHub App, choose the repositories they may use, and they respond right where your team already works.

Pull requests

ArchBot

Reviews every pull request against your written architecture rules and comments on the exact lines that break them.

Documentation

ArchMapApp

Keeps a living ARCHITECTURE.md with a diagram of your codebase, and answers questions about it.

Planning

ArchSpec

Turns an issue into an implementation plan grounded in your repository and your rules.

One account

CrocoNile account

One free trial, one subscription and one shared token balance across all three apps.

How the CrocoNile apps fit together Three apps — ArchBot, ArchMapApp and ArchSpec — all work inside your GitHub repositories and all draw on one shared CrocoNile account with a trial, subscription and token balance. YOUR GITHUB REPOSITORIES ArchBotreviews pull requests ArchMapAppmaps & explains the code ArchSpecplans issues Your CrocoNile account free trial · subscription · one shared token balance · usage per app
Every app draws on the same account, so you manage billing in one place.

What you need

  • A GitHub account, or a GitHub organization where you are an owner or administrator.
  • At least one repository you want the apps to work on.
  • That's all. There is nothing to download, host or configure.

2Quick start

From zero to your first result in about five minutes.

  1. Install an appOpen the app's GitHub page, click Install, choose your account or organization, and select the repositories it may use. See Installing an app.
  2. Your free trial starts automaticallyThere is no sign-up form. Installing creates your CrocoNile account with a 14-day free trial and a starting token allowance.
  3. Use it where you already work
    • ArchBot: open a (non-draft) pull request.
    • ArchMapApp: push a commit, or comment @archmap and a question on an issue.
    • ArchSpec: add the archspec label to an issue.
  4. Check your balance any timeSign in at your CrocoNile account page with GitHub to see tokens, usage and billing. See Your account & tokens.

3Installing an app

  1. Open the app's GitHub page and click InstallIf you belong to several accounts, GitHub asks where to install it. Choose a personal account or an organization.
  2. Choose repositoriesPick Only select repositories and tick the ones you want, or All repositories. You can change this later.
  3. Review the access and confirmGitHub lists exactly what the app can do (see the table below). Click Install.
Organizations

Installing on an organization needs an owner. If you are not one, GitHub sends the owner a request — nothing is installed until they approve it.

What each app can access

AppReadsWritesReacts to
ArchBotCode, pull request diffs, .architecture-rules.mdPull request review commentsPull requests opened or updated
ArchMapAppSource codeSaves ARCHITECTURE.md; posts answers on issuesPushes; comments mentioning @archmap
ArchSpecIssues, ARCHITECTURE.md, rules file, file listOne plan comment per requestThe archspec label; /archspec comments

Changing or removing access

You stay in control. On GitHub open Settings → Applications → Installed GitHub Apps (for an organization: Organization settings → Installed GitHub Apps), click Configure next to the app, then add or remove repositories, or Uninstall. Uninstalling stops the app immediately.

4Your account & tokens

One account covers every CrocoNile app you install — one trial, one subscription, one balance.

How to sign in

  1. Open your account pageGo to the CrocoNile account page (the link in any app comment that says Manage your account goes to the same place).
  2. Click “Sign in with GitHub”Approve the request. We only read your GitHub username and the organizations you administer, so we can show you the right account.
  3. Pick an account if you have severalYou can open your personal account and any organization you administer.
Organizations

An organization's account is visible only to its administrators. If the organization restricts third-party apps, an owner must approve the CrocoNile sign-in once under Organization settings → Third-party access.

What you will see

SectionWhat it shows
Plan badgeFree trial (with days left), Subscribed, Payment failed, Trial ended or Cancelled.
Token balanceWhat you can still spend, shared by all your apps.
Used this monthTokens spent across all apps since the 1st.
Usage by appA bar per app for the last 30 days — see which tool uses the most.
PlanSubscribe, or open Manage subscription to update your card, see invoices or cancel.
Buy more tokensOne-time token packs you can add any time.
Recent activityEvery deduction and credit, with the app and a short description.

Tokens, in plain words

AI tools “read” and “write” in small units called tokens. Each time an app does work for you — reviewing a pull request, updating your architecture map, answering a question, writing a plan — the AI model uses some tokens, and exactly that amount is taken from your balance. Bigger changes and longer answers use more. Work that fails isn't deducted from your balance.

Free trial, subscription and top-ups

Starts on install

Free trial

14 days with a starting allowance of 2,000,000 tokens. No card needed.

Monthly

Subscription

Keeps all your apps running and includes 2,000,000 tokens every month.

As needed

Token packs

One-time packs for busy months. Available during the trial too. Purchased tokens are added to your balance.

When apps pause

An app pauses — without using any tokens — when your trial has ended with no subscription, a payment has failed, you cancelled, or your balance has reached zero.

  • ArchBot and ArchSpec post a short “subscription required” note on the pull request or issue, with a link to your account page.
  • ArchMapApp posts the same note when you ask it a question. A paused push simply doesn't update ARCHITECTURE.md.

Subscribe or buy a pack and the apps resume on the next pull request, push or request. Nothing is lost; the paused work just isn't done retroactively.

Tip

You can top up before the trial ends. Tokens you buy are added to your balance and are not lost when the trial finishes.

5ArchBot

Your architecture rules, enforced on every pull request — before a human reviewer has to say it.

What it does

When a pull request is opened or updated, ArchBot reads the changes, compares them with the rules in your repository, and leaves an inline comment on each line that breaks a rule. If nothing breaks, it says so. It comments only; by default it never blocks a merge.

How it works, step by step

You open a PROr push new commits to one.
ArchBot reads the changesOnly lines you added are reviewed.
Checks your rulesFrom .architecture-rules.md.
Comments inlineOn the exact line, naming the rule.
  • Runs on: a pull request being opened, and every new push to it.
  • Skips: draft pull requests. Mark the PR Ready for review and push a commit (or reopen it) to get a review.
  • Rules come from the file .architecture-rules.md in the root of the branch the PR targets. If there isn't one, ArchBot falls back to a sensible default rule set.
  • Very large changes: the first part of an extremely large diff is reviewed; the rest is skipped.

What you will see

archbotbot reviewed on src/db.py

⚠️ Database calls must be wrapped in try/except

This query runs without error handling. Wrap the call so a failure is handled explicitly instead of crashing the request.

An inline comment, shown on the line that breaks the rule.

archbotbot commented

✅ Architecture Check Passed: No rule violations detected.


🎁 Free trial: 9 days remaining. Manage your account.

When everything is fine. During the trial, a footer shows your days left.

Writing your rules

Create a file named .architecture-rules.md in the root of your repository (the dot at the start is part of the name). Write your rules in plain English, one per item. ArchBot treats the file as the standard to hold the code to.

# Architecture rules

1. **Database access lives in the repository layer.** Route handlers must not
   run queries directly; they call a function in `app/repositories/`.
2. **Every database call is wrapped in try/except** and handles the failure
   explicitly (log it and return a controlled error).
3. **No raw SQL built with string concatenation or f-strings.** Use
   parameterized queries.
4. **No secrets in source code.** Read them from environment variables.
5. **Public functions and classes have docstrings.**
6. **Use the logging module, not print().**
Tips for good rules
  • Be specific and checkable: “wrap database calls in try/except” works better than “handle errors well”.
  • Start with 5–10 rules that matter most. Add more when you see the same review comment twice.
  • Name the folder or layer a rule applies to when it isn't global.
  • Rules apply to newly added lines, so you can introduce them in an existing project without a clean-up first.

Your rules take effect for pull requests that target a branch containing the file. Commit and merge it first.

Questions

Will ArchBot block my merge?

No. It leaves comments. You decide what to fix. (Your team can still make a human review required through GitHub's branch protection.)

It says a line broke a rule, but I disagree.

Reply on the comment and resolve it as your team normally would. If it keeps happening, tighten the wording of that rule in .architecture-rules.md, or add an exception to it.

Why didn't it review my pull request?

The usual causes: the PR is a draft, the app isn't installed on that repository, or your trial or balance has run out. See Troubleshooting.

6ArchMapApp

A map of your codebase that updates itself, and a teammate that can answer questions about it.

What it does

  • Keeps ARCHITECTURE.md up to date. After you push, ArchMapApp reads your source files, works out how the pieces depend on each other, and writes a document with a C4-style diagram and a plain-English summary of the system.
  • Answers questions. Mention @archmap in an issue or pull request comment and ask anything about the codebase.

Languages understood: Python, JavaScript / JSX, TypeScript / TSX, Go, Rust, Java, C#, C++ and C. Folders such as node_modules, vendor, dist and build are ignored.

The architecture document

  1. Push to your repositoryAny push triggers an update.
  2. ArchMapApp commits ARCHITECTURE.mdIt is saved to your default branch with a commit message ending in [ArchMap AI]. That commit does not trigger another update, so there is no loop.
  3. Open the file on GitHubGitHub draws the diagram right in the page. It contains the detected tech stack, the architecture diagram and a three-paragraph summary.
Good to know

The commits it makes show up in your history by design. If you'd rather it doesn't write to your repository, uninstall it from that repository.

Asking questions

Write a comment on any issue (or pull request conversation) that includes @archmap followed by your question:

@archmap where is user authentication handled, and which modules depend on it?
archmapappbot commented

🤖 ArchMap AI Answer:

Authentication is handled in app/auth/session.py. It is imported by app/routes/login.py and app/middleware.py …


🎁 Free trial: 9 days remaining. Manage your account.

Tip

Ask about structure and relationships — “what calls this?”, “where does X live?”, “what would break if I rename Y?”. Answers come from the dependency map of your code, so they are strongest on how files, classes and functions connect.

Heads up

Anyone who can comment on the issue can ask a question, and each answer uses tokens from your balance. On public repositories, keep an eye on your usage.

Questions

My ARCHITECTURE.md didn't change after a push.

The push may have touched only ARCHITECTURE.md itself (ignored on purpose), the repository may contain no supported source files, or your trial or balance has run out. Pushes that are paused don't post a comment, so check your account page.

Can I edit ARCHITECTURE.md by hand?

Yes, but the next push regenerates it. Put notes you want to keep in a different file and link to it.

7ArchSpec

From “we should build this” to a concrete plan, written right on the issue.

What it does

ArchSpec reads an issue together with your repository — the file list, your ARCHITECTURE.md and your .architecture-rules.md — and posts one comment with an implementation plan the developer can start from.

How to ask for a plan

Option 1

Add a label

Create a label named archspec in your repository (any colour) and add it to the issue.

Option 2

Comment a command

Comment /archspec on its own line. Add guidance after it to steer the plan.

/archspec focus on backwards compatibility and keep the change behind a feature flag

To regenerate a plan after the issue changes, comment /archspec again. A plan usually appears within seconds.

Who can ask

Labeling needs triage access to the repository. Commands are accepted only from the repository's owner, members and collaborators, so outsiders on a public repository can't use up your tokens. ArchSpec works on issues, not pull requests.

What the plan contains

archspecbot commented
🧭 ArchSpec — implementation plan for #12

Add CSV export of reports through a new endpoint, reusing the existing report service.

Complexity: M

❓ Open questions

  • Is there a maximum number of rows to export?

Files

FileActionChange
app/main.pymodifyRegister the /export route
app/export.py (new file)createStream report rows as CSV
app/legacy.py ⚠️ not found in repo — verify pathmodify…

Steps

  1. Add the route — stream rows instead of loading them all

Architecture notes · Risks · Tests to add


Generated by ArchSpec from the issue and repository context. Review before implementing.

SectionUse it to
Summary & complexityAgree on the approach and rough size (S, M, L or XL). No time estimates.
Open questions & assumptionsSettle ambiguities before coding starts.
FilesSee what to change and what to create. Paths it can't find in your repo are flagged with ⚠️ rather than presented as fact.
StepsWork through the change in order.
Architecture notesSpot where the work leans on, or could clash with, your documented architecture and rules.
Risks & testsPlan mitigations and the tests to write.
Get better plans
  • Write the issue with a clear goal and acceptance criteria. Vague issues produce questions rather than plans.
  • Keep ARCHITECTURE.md (ArchMapApp) and .architecture-rules.md (ArchBot) in the repository — ArchSpec uses both.
  • Treat the plan as a first draft from a colleague: read it, correct it in the thread, and regenerate with /archspec plus guidance.

8Using them together

Each app is useful alone. Together they cover the loop from idea to merged code.

DocumentArchMapApp keeps ARCHITECTURE.md current.
PlanLabel an issue archspec to get a plan that fits that architecture.
BuildOpen a pull request as usual.
ReviewArchBot checks it against your rules.
Merge & refreshThe push updates the architecture map.

One shared token balance powers all of it, so the Usage-by-app chart on your account page shows where your tokens go.

A good first week

  1. Install ArchMapApp first and let it write your first ARCHITECTURE.md.
  2. Write 5–10 rules in .architecture-rules.md, merge them, then install ArchBot.
  3. Install ArchSpec and try it on the next issue that needs a design.
  4. Check your account page after a few days to see what each app uses.

9Troubleshooting

What you seeLikely cause and fix
ArchBot didn't comment on my pull requestThe PR is a draft (mark it ready and push a commit); the app isn't installed on that repository (check Configure on GitHub); or your trial/balance ended (check your account page).
“Subscription required” commentYour trial ended, a payment failed, or your tokens are used up. Open your account page and subscribe or buy a token pack. Apps resume on the next pull request, push or request.
ArchSpec didn't replyThe label must be named exactly archspec, and a /archspec command must be on its own line from a member, collaborator or owner. It also ignores repeated requests for the same issue within about two minutes — wait a moment and try again. It doesn't work on pull requests.
ArchSpec flags a file with ⚠️The plan names a path that doesn't exist in your repository. Check the path yourself before relying on it.
@archmap got no answerMake sure the comment contains @archmap, the app is installed on this repository, and your balance isn't empty.
“No account found” when signing inThat GitHub user or organization hasn't installed or used an app yet. Install one first. For organizations, you must be an administrator, and an owner may need to approve the sign-in under Third-party access.
I paid but nothing changedUpdates take a few seconds. Refresh your account page. If it still shows the old status after a few minutes, contact support with your GitHub username.
The apps use my tokens too fastOpen Usage by app on your account page to see which app is responsible. Large pull requests, frequent pushes to big repositories, and public repositories where many people can ask @archmap are the usual reasons.
A commit by ArchMapApp appeared in my historyThat is expected: it is the updated ARCHITECTURE.md. Uninstall ArchMapApp from the repository if you don't want it.

10Data & access

  • You choose what an app can see. It only works on the repositories you select, and you can change that or uninstall at any time from GitHub.
  • Your code is used to produce your result. To review a change, map a repository or write a plan, the relevant code and text are sent to an AI model provider for processing.
  • Billing is handled by Stripe. We never see or store your card number.
  • Signing in uses GitHub. We read only your username and the organizations you administer.
  • Secrets. Don't commit secrets to your repositories — the apps read code, and ArchBot is happy to remind you of that rule.

For questions about data handling or for a data-processing agreement, contact hello@croconilesoftware.com.

11Glossary

Pull request (PR)A proposal to merge changes from one branch into another, where teammates review the code.
IssueA GitHub ticket describing a task, bug or idea.
GitHub AppAn integration you install on an account or organization and grant access to selected repositories.
TokenThe small unit AI models read and write in. Your balance counts the tokens the apps use for you.
Token packA one-time purchase of extra tokens.
Draft PRA pull request marked as work in progress. ArchBot skips it until it's ready for review.
Default branchThe main branch of a repository, usually main. ArchMapApp saves ARCHITECTURE.md there.
C4 diagramA way of drawing software at several levels of detail. ArchMapApp draws the overview level.

12Support

We're happy to help with installation, billing and anything that doesn't behave as described here.

To help us answer quickly, include your GitHub username or organization, the app involved, and a link to the pull request or issue where you saw the problem.