shellgate-legacy AGENTS.md

Project instructions for Shellgate, a SvelteKit monolith—a web dashboard, API, and gateway combined in one application. They describe its layers, services, routes, credentials, permissions, and data flow.

In plain words
What is it for?
Use them when working on target records, access tokens, permissions, authentication methods, API proxying, SSH commands, email, discovery, or session-start data.
Why use it?
They give an agent the repository's rules for locating business logic and changing the right part of the application. This avoids putting logic in thin API routes or making the application call its own HTTP endpoints unnecessarily.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/matthiastjong/shellgate-legacy/agents-md
Clone the repo
git clone --depth 1 https://github.com/matthiastjong/shellgate-legacy

Made for: Codex, OpenCode.

Per session 2,790 This file is loaded in full into every session.
When invoked 2,790 The same file — it is already loaded in full.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02790 $0.02790
Opus 5 $0.01395 $0.01395
Sonnet 5 $0.00558 $0.00558
Haiku 4.5 $0.00279 $0.00279

Measured 3d ago against content hash 44b04c85a89e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

shellgate-legacy AGENTS.md scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

Shellgate exposes all agent-facing functionality as an MCP server at `POST /mcp` using Streamable HTTP transport. Claude Code connects via `mcpServers` config in `~/.claude/settings.json`.
AGENTS.md · 233 lines

How it starts

The opening of the file, as written. The whole thing — 233 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Development Guidelines

Architecture

Shellgate is a SvelteKit monolith — dashboard + API + gateway in one process.

Layers

src/lib/server/services/   ← All business logic lives here
src/lib/server/utils/       ← Pure helpers (CIDR, URL validation, etc.)
src/routes/api/             ← Admin API (thin wrappers calling services)
src/routes/(app)/           ← Dashboard pages (call services directly, no HTTP to self)
src/routes/gateway/         ← Agent-facing: HTTP proxy to upstream APIs
src/routes/ssh/             ← Agent-facing: SSH command execution
src/routes/discovery/       ← Agent-facing: list accessible targets
src/routes/bootstrap/       ← Agent-facing: full session-start context (REST)

Key services

Service Purpose
targets CRUD for API, SSH, and email targets
tokens API key generation, hashing, revocation
permissions Token ↔ target access control
auth-methods Credentials stored per target (bearer, basic, custom_header, ssh_key, imap_smtp)
gateway Proxy logic: resolve target, inject auth, forward request
ssh SSH command execution via ssh2
mail Email operations via ImapFlow (IMAP) + Nodemailer (SMTP)
audit Request logging to audit_logs table
users Dashboard user management (email + password)
webhook-endpoints CRUD for incoming webhook endpoint registrations
webhook-events Event creation, polling, ACK, cleanup
connected-accounts OAuth account linking, managed target provisioning, token refresh

Data model

tokens ──┐
         ├── token_permissions (unique: token + target)
targets ──┘
  │
  └── target_auth_methods (one default per target)

tokens ──── webhook_endpoints (one token can have multiple endpoints)
              │
              └── webhook_events (pending/delivered/expired)

connected_accounts ──── targets (via connected_account_id FK, cascade delete)

users (dashboard login)
audit_logs (every gateway + SSH + mail request)

Read the full file on GitHub · 233 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 233 lines · 2,790 tokens per session scan B 44b04c85a89e

Subscribe to this mod's changes

shellgate-legacy AGENTS.md is an instructions file published in the GitHub repository matthiastjong/shellgate-legacy (15 stars, last pushed 2mo ago), licensed MIT. It adds 2,790 tokens to every session, about $0.0140 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.