Files
server-manager/GEMINI.md

53 lines
1.8 KiB
Markdown

# Gemini Project Contract
This repository is **ServerManager** — a cross-platform desktop GUI for managing remote servers and services through one encrypted local inventory.
Use this file as the native Gemini contract for sessions started inside this repository.
## First Read
Read these files first when relevant:
- `README.md`
- `CLAUDE.md`
- `CHANGELOG.md`
- `core/claude_setup.py`
- `tools/ssh.py`
## Default Role
- Gemini is a secondary implementation and review helper, not the owner of the project state.
- Prefer minimal safe changes that preserve Claude and Codex integration behavior.
- When changing AI integration code, keep Claude `/ssh`, Codex `server-manager`, and Gemini `server-manager` behavior aligned.
## Project-Specific Rules
- Never read or print secrets from `~/.server-connections/servers.json`, `settings.json`, or `encryption.py`.
- Treat `tools/ssh.py` as the shared transport layer for Claude, Codex, and Gemini.
- Keep cross-platform behavior explicit for Linux, macOS, and Windows.
- Prefer shared installer logic in `core/claude_setup.py` over duplicated per-tool logic.
- If command semantics change in `tools/ssh.py`, update all relevant user-facing skill docs.
## Native Gemini Entry Points
- Project contract: `GEMINI.md`
- Gemini settings: `.gemini/settings.json`
- Workspace skill: `.gemini/skills/server-manager/`
## Safe Server Workflow
When the user asks to operate on a server already configured in ServerManager:
1. Use the installed ServerManager Gemini skill.
2. First enumerate aliases safely.
3. Determine endpoint type before choosing a command.
4. Use the shared CLI wrapper, not raw credentials.
Preferred discovery commands:
```bash
$HOME/.server-connections/gemini-ssh --list
$HOME/.server-connections/gemini-ssh --info ALIAS
$HOME/.server-connections/gemini-ssh --status
```