alumnium
CLAUDE.md1k starsChanged 7 months agoMITView on GitHub
AI-powered test automation framework using natural language commands. Wraps Appium, Playwright, and Selenium. Experimental/early development. Monorepo structure: Alumni Class: Main entry point with API: do(), check(), get(), find() Key directories (inside packages/typescript/<package>/src/ for TypeScript): Each package (java, python, typescript) has development commands:
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 74
Match existing patterns: Keep architecture consistent
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Alumnium
Overview
AI-powered test automation framework using natural language commands. Wraps Appium, Playwright, and Selenium. Experimental/early development.
Monorepo structure:
packages/java/- Java client implementationpackages/python/- Python client implementationpackages/typescript/- TypeScript workspace: shared scripts, tests and tooling, plus npm packages in subdirectories:core/(@alumnium/core) -Alumni,Area, clients, AI agents, prompts, caches, Env, telemetry, storage, accessibility trees, tools and theBaseDrivercontract. No drivers or LLM provider SDKs;aiis an optional peer loaded lazily viallm/loadAi.tswhen agents run. The main entry (src/index.ts) exports only the public API (Alumni,Area,Cache,Model, tools, etc.); everything other packages need (Env,Logger,BaseDriver, utils) comes from@alumnium/core/internal, which the main entry re-exports from. Agent internals are exposed to private packages via@alumnium/core/agents, which isn't publishedplaywright/,selenium/,appium/,maestro/,xcode/(@alumnium/<driver>) - Drivers, each exporting anAlumnibound to its native driveropenai/,anthropic/,google/,azure/,aws/,deepseek/,mistral/,xai/,openrouter/,ollama/,codex/,cursor/(@alumnium/<provider>) - One package per LLM provider, depending onai. Each exports model builders made withModel.builder()(e.g.openai()), returning aModel.WithProviderthat creates its LLM; there is no global provider registry.Model.resolver(...providerModules)maps providers to the builders the given packages export;alumnium(alumnium/src/models.ts) andserveruse it with all provider packages to resolveALUMNIUM_MODELand models of HTTP sessions. Shared helpers live incore/src/llm/providerUtils.tstelemetry/(@alumnium/telemetry) - OpenTelemetry SDK and OTLP trace/log exporters, an optional peer of core loaded lazily viacore/src/telemetry/loadTelemetry.tswhenALUMNIUM_TRACEis enabledtest/(@alumnium/test) - Record & replay for host agents: agent-neutralRecordingschema,Masker,Recordersink andTestCache/FileTestCacheserver/,mcp/,cli/- HTTP server, MCP server and CLI, only shipped inside the compiledalumniumbinary (private)alumnium/(alumnium) - Batteries-included package: all drivers and providers,Alumniaccepting any native driver, and thealumniumbin
Key Architecture
Alumni Class: Main entry point with API: do(), check(), get(), find()
Core flow:
- User calls
al.do("click login button") - PlannerAgent breaks goal into steps
- ActorAgent converts steps to tool calls
- Tools execute actions via Drivers
- Drivers abstract platform differences (Selenium/Playwright/Appium)
- Accessibility Trees provide platform-agnostic UI representation
Key directories (inside packages/typescript/<package>/src/ for TypeScript):
accessibility/- Platform-specific tree implementations (Chromium, XCUITest, UIAutomator2)drivers/- Driver wrappers (SeleniumDriver,PlaywrightDriver,AppiumDriver)clients/-HttpClient(communicates with server),NativeClient(Python only, runs agents locally)server/agents/- AI agents with provider-specific prompts (Python only)tools/- Available actions (ClickTool,TypeTool, etc.)
Development
Package commands
Each package (java, python, typescript) has development commands:
mise //packages/{package-name}:build # Build
mise //packages/{package-name}:format # Format code
mise //packages/{package-name}:types # Check types
mise //packages/{package-name}:lint # Run linter
mise //packages/{package-name}:test/unit # Run unit tests
mise //packages/{package-name}:test/system:appium-ios # Run Appium iOS system tests
mise //packages/{package-name}:test/system:appium-android # Run Appium Android system tests
mise //packages/{package-name}:test/system:maestro-ios # Run Maestro iOS system tests
mise //packages/{package-name}:test/system:maestro-android # Run Maestro Android system tests
mise //packages/{package-name}:test/system:playwright # Run Playwright system tests
mise //packages/{package-name}:test/system:selenium # Run Selenium system testsCore Commands
TypeScript core provides extra commands:
mise //packages/typescript:eval # Run agent evaluations
mise //packages/typescript:dev/mcp # Start Alumnium MCP
mise //packages/typescript:dev/server # Start Alumnium serverBest Practices
- Read files before editing: Understand current implementation
- Match existing patterns: Keep architecture consistent
- Update both languages: Maintain API parity between Python/TypeScript
- Respect TypeScript package boundaries: Import other packages by name through their entries (
@alumnium/corefor public API,@alumnium/core/internalfor everything else), never by relative path. Add new core modules tocore/src/internal.ts, and tocore/src/index.tsonly if users need them.scripts/build/npmPackages.tsenforces forbidden imports and declared dependencies per package
Trending
Quiet since June.thin dataabout the whole repository
Who's talking about alumnium-hq/alumnium
- A Hacker News story“Show HN: Open-source LLM-powered test automation library for mobile and web”Hacker News · May 30, 2025 · 10 points
- NickalasLight/VibeHarness“Analysis: Alumnium harness reverse-engineering — page representation, agent loop, tool interface & system …”GitHub · Jun 25, 2026
The biggest 2 of 2 mentions linking to the repository that our crawl found. Each line is their own headline.
In this repositoryOne other file it gives its agents.
- AGENTS.mdAGENTS.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

