docs/GETTING-STARTED.md

Bring your own RS-SDK and agent

The app is a localhost research service. It can run without a game login and without an AI account. Each installation starts with its own empty private state.

Install the source preview

Clone the community source preview from main:

sh
1git clone https://git.cafe/rs-sdk/palanti-rs-sdk.git
2cd palanti-rs-sdk
3pnpm install --frozen-lockfile
4pnpm run viewer:build
5pnpm run check
6python3 scripts/doctor.py
7pnpm run start

Open http://127.0.0.1:5197. Run commands from this package directory. Do not expose its port through a public tunnel. The doctor is offline and does not read credentials, log into agents or connect game accounts.

Use your Mac mini from another device

Run one service on the mini and open it from your laptop through a private SSH tunnel. Settings selects folders on the host, while each browser keeps its own camera layout. Follow the cross-device setup guide; a direct LAN URL does not work with the current loopback-only server.

What is included?

LayerIncluded or obtained during setup
FrontendReact 19, Frosted/Whop, Tailwind 4, motion, Recharts, OpenUI, local dither source
Agent plumbingMastra core/ACP/client/LibSQL/QuickJS, AI SDK, MCP SDK
ServerBun code and its SQLite APIs; Python market worker uses the standard library
Browser automationPlaywright package; optional gameplay also needs a compatible Chromium installation
ViewerBuild script downloads a pinned upstream renderer, applies our maintained patch and downloads public cache files
Static inputsItem catalog, death/mining/multi-combat definitions, sprites/atlas and source notices
You install separatelyGit, Node, pnpm (packageManager version), Bun, Python 3; optional agent CLI/login, Tincan/Tailscale and Chromium
Never shippedYour .env, login tokens, bot passwords, personal rosters, runtime databases, saved conversations or account grants

Dependencies live in local node_modules; Git contains declarations and lockfiles. An installed package does not prove provider login, external network availability or gameplay compatibility. The viewer has its own upstream dependency tree; app advisory checks do not certify it. macOS is the validated platform; Windows and non-macOS scoped execution need acceptance work.

Add your players

Use the friendly identity guide. Open Settings to connect your RS-SDK folder and preview usernames from bots/*/bot.env. Alternatively set RS_SDK_ROOT as a startup fallback in an ignored .env. Passwords never enter the fleet projection.

Friendly, owned, online and controllable are different states. Manually classify ownership in Players & fleet / Teams & data when needed. Configuring an SDK directory does not start farming scripts or connect accounts. Public bank previews are partial and are not full private inventories.

Choose how your agent connects

User workflowActual support
In-app research chatInstalled, signed-in Codex through app-server. Main chat is not currently a provider selector for Claude/Hermes.
Existing Codex/Claude/Hermes clientIf the client supports MCP stdio, register bun with the absolute path to scripts/mcp.ts, connecting to the running local app. This is an external agent using the app's tools, not replacing in-app inference.
Coordinator Codex workerSeparate owned sessions; research, and scoped reads/edits after device certification. Tests have additional macOS confinement.
Claude/OpenCode or other ACP providerRegister an actual ACP-compatible executable/arguments in Assistant → Connections → Agents. A regular claude executable alone is not proof of ACP support. Currently research-only.
Hermes or other network agentRegister its actual A2A card/execution origin, or a configured Tincan profile and peer. Brand name alone does not identify a compatible endpoint. Currently research-only.
TailscaleOptional private connectivity for peers; neither installed nor joined automatically. It is not an agent protocol.

For an MCP-capable client, use its own configuration format with these values:

json
1{
2 "command": "bun",
3 "args": ["/absolute/path/to/palanti-rs-sdk/scripts/mcp.ts"],
4 "env": {"RS_WATCH_URL": "http://127.0.0.1:5197"}
5}

Do not put account credentials in that client config. Discover/inspect providers before drafting a job. Review each job plan; cancellation support varies by provider. See adapter contracts. Gameplay uses the separate Command enrollment/grant flow; research and tool registration do not authorize it.

Prompt for your coding agent

Read AGENTS.md, README.md and docs/GETTING-STARTED.md. Set up this standalone app on localhost using its locked dependencies and maintained viewer build. Run scripts/doctor.py. Help me select my own RS-SDK checkout in Settings. Keep credentials and runtime data local and ignored. Detect my installed agent client, explain which MCP/ACP/A2A/Tincan capabilities it actually supports, and configure only the connection I choose. Verify an empty/fresh fleet has no preset accounts. Do not start bots, connect game accounts or dispatch jobs during setup. Report what is verified and what still needs my login or provider endpoint.

Connect without editing configuration

Click Settings in the top bar from either home mode. In Project & fleet, browse your computer's home folders or paste an absolute RS-SDK root path. Preview the accounts, then choose Connect this project. New bots are discovered from BOT_USERNAME in bots/*/bot.env within 60 seconds on use; Refresh accounts checks immediately. Folder labels are not treated as player names.

The API / CLI / MCP settings tab supplies copyable discovery commands and a stdio configuration using the actual app path and local port. It links to the existing Agent API, research tools and Command connection screens. Connecting the folder does not start an agent, runtime or game account.