Jump to a section
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.
ArchBot
Reviews every pull request against your written architecture rules and comments on the exact lines that break them.
ArchMapApp
Keeps a living ARCHITECTURE.md with a diagram of your codebase, and answers questions about it.
ArchSpec
Turns an issue into an implementation plan grounded in your repository and your rules.
CrocoNile account
One free trial, one subscription and one shared token balance across all three apps.
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.
- 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.
- 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.
- Use it where you already work
- ArchBot: open a (non-draft) pull request.
- ArchMapApp: push a commit, or comment
@archmapand a question on an issue. - ArchSpec: add the
archspeclabel to an issue.
- 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
- 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.
- Choose repositoriesPick Only select repositories and tick the ones you want, or All repositories. You can change this later.
- Review the access and confirmGitHub lists exactly what the app can do (see the table below). Click Install.
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
| App | Reads | Writes | Reacts to |
|---|---|---|---|
| ArchBot | Code, pull request diffs, .architecture-rules.md | Pull request review comments | Pull requests opened or updated |
| ArchMapApp | Source code | Saves ARCHITECTURE.md; posts answers on issues | Pushes; comments mentioning @archmap |
| ArchSpec | Issues, ARCHITECTURE.md, rules file, file list | One plan comment per request | The 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
- 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).
- 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.
- Pick an account if you have severalYou can open your personal account and any organization you administer.
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
| Section | What it shows |
|---|---|
| Plan badge | Free trial (with days left), Subscribed, Payment failed, Trial ended or Cancelled. |
| Token balance | What you can still spend, shared by all your apps. |
| Used this month | Tokens spent across all apps since the 1st. |
| Usage by app | A bar per app for the last 30 days — see which tool uses the most. |
| Plan | Subscribe, or open Manage subscription to update your card, see invoices or cancel. |
| Buy more tokens | One-time token packs you can add any time. |
| Recent activity | Every 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
Free trial
14 days with a starting allowance of 2,000,000 tokens. No card needed.
Subscription
Keeps all your apps running and includes 2,000,000 tokens every month.
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.
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
.architecture-rules.md.- 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.mdin 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
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.
✅ 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().**
- 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.mdup 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
@archmapin 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
- Push to your repositoryAny push triggers an update.
- 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. - 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.
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?
🤖 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.
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.
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
Add a label
Create a label named archspec in your repository (any colour) and add it to the issue.
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.
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
🧭 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
| File | Action | Change |
|---|---|---|
app/main.py | modify | Register the /export route |
app/export.py (new file) | create | Stream report rows as CSV |
app/legacy.py ⚠️ not found in repo — verify path | modify | … |
Steps
- 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.
| Section | Use it to |
|---|---|
| Summary & complexity | Agree on the approach and rough size (S, M, L or XL). No time estimates. |
| Open questions & assumptions | Settle ambiguities before coding starts. |
| Files | See what to change and what to create. Paths it can't find in your repo are flagged with ⚠️ rather than presented as fact. |
| Steps | Work through the change in order. |
| Architecture notes | Spot where the work leans on, or could clash with, your documented architecture and rules. |
| Risks & tests | Plan mitigations and the tests to write. |
- 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
/archspecplus guidance.
8Using them together
Each app is useful alone. Together they cover the loop from idea to merged code.
ARCHITECTURE.md current.archspec to get a plan that fits that architecture.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
- Install ArchMapApp first and let it write your first
ARCHITECTURE.md. - Write 5–10 rules in
.architecture-rules.md, merge them, then install ArchBot. - Install ArchSpec and try it on the next issue that needs a design.
- Check your account page after a few days to see what each app uses.
9Troubleshooting
| What you see | Likely cause and fix |
|---|---|
| ArchBot didn't comment on my pull request | The 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” comment | Your 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 reply | The 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 answer | Make sure the comment contains @archmap, the app is installed on this repository, and your balance isn't empty. |
| “No account found” when signing in | That 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 changed | Updates 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 fast | Open 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 history | That 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. |
| Issue | A GitHub ticket describing a task, bug or idea. |
| GitHub App | An integration you install on an account or organization and grant access to selected repositories. |
| Token | The small unit AI models read and write in. Your balance counts the tokens the apps use for you. |
| Token pack | A one-time purchase of extra tokens. |
| Draft PR | A pull request marked as work in progress. ArchBot skips it until it's ready for review. |
| Default branch | The main branch of a repository, usually main. ArchMapApp saves ARCHITECTURE.md there. |
| C4 diagram | A 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.