{"schema_version":"easy-terminal.ai-manifest.v1","updated_at":"2026-05-29","manifest_purpose":"This file is intended for AI agents and developer tools that need to understand how to use Easy Terminal safely.","product":{"name":"Easy Terminal","tagline":"Rule-based. Reproducible. Built for agents.","short_description":"Easy Terminal is a deterministic, non-AI terminal state layer that converts terminal output into structured state for AI agents.","base_url":"https://easyterminal.dev","human_url":"https://easyterminal.dev/","console_url":"https://easyterminal.dev/console"},"positioning":{"deterministic":true,"non_ai_core":true,"rule_based":true,"structured_state":true,"agent_handoff":true,"reproducible_output":true},"what_it_does":["Accepts terminal output.","Analyzes known patterns using deterministic rules.","Returns structured state for AI agents.","Provides the first concrete action when available.","Supports safer agent handoff."],"what_it_does_not_do":["Does not use LLMs in the core.","Does not create embeddings.","Does not use semantic search.","Does not use vector databases.","Does not guess when no direct action is clear.","Does not store raw terminal output in local ledger files."],"api":{"base_url":"https://easyterminal.dev","endpoint":"/api/v1/analyze","absolute_endpoint":"https://easyterminal.dev/api/v1/analyze","method":"POST","auth":"Authorization: Bearer <api_key>","content_type":"application/json","required_fields":["terminalOutput"],"optional_fields":["command","stdout","stderr","exitCode","locale"]},"authentication":{"required":true,"type":"bearer_api_key","header":"Authorization: Bearer <api_key>","api_key_source":"Generate an API key from the Easy Terminal Console."},"locale":{"default":"en","supported_values":["en","ja"]},"request_example":{"method":"POST","url":"https://easyterminal.dev/api/v1/analyze","headers":{"authorization":"Bearer <api_key>","content_type":"application/json"},"body":{"terminalOutput":"$ npm run build\nError: Cannot find module 'next'","command":"npm run build","locale":"en"}},"response_shape":{"input":"Normalized terminal input derived from the request.","assumptions":"Explicit assumptions made while interpreting the terminal output.","analysis":"Rule-based analysis of the terminal state and likely next steps.","agentState":"Compact state intended for AI agents before they suggest commands."},"local_ledger_workflow":{"directory":".easy-terminal/","description":"The local assist workflow writes structured ledger files. These files are local user-managed artifacts, not cloud raw-log storage.","files":{"latest.json":"latest sanitized Analyze handoff snapshot","activity.jsonl":"append-only local ActivityEvent stream","state-digest.json":"current reduced structured state","audit-pack.json":"export-friendly structured audit/handoff bundle"},"raw_storage_policy":["Raw terminal output is transient Analyze request input.","Easy Terminal does not store raw terminal output in local ledger files.","Users who need raw logs should save them locally in their own environment."],"forbidden_in_ai_chats":["raw API keys","Authorization headers","secrets","passwords","access tokens","payment details","raw terminal logs"]},"agent_workflow":["Use the local assist workflow to send terminal output to /api/v1/analyze.","Read .easy-terminal/latest.json before suggesting commands.","For longer handoffs, inspect .easy-terminal/activity.jsonl, .easy-terminal/state-digest.json, and .easy-terminal/audit-pack.json when available.","Use structured local ledger files as evidence, not as an oracle.","Do not paste API keys, Authorization headers, secrets, passwords, access tokens, payment details, or raw terminal logs into AI chats.","Before suggesting `npm install`, inspect package.json and lockfiles. Use `npm install` only when npm is the detected package manager; use the project's existing package manager when a lockfile indicates pnpm or yarn.","Follow agentState.firstConcreteAction when available."],"agent_guidance":{"package_manager_guard":{"en":"Before suggesting `npm install`, inspect package.json and lockfiles. Use `npm install` only when npm is the detected package manager; use the project's existing package manager when a lockfile indicates pnpm or yarn.","ja":"`npm install` を提案する前に、package.json と lockfile を確認してください。npm が使われていると判断できる場合のみ `npm install` を使い、pnpm や yarn の lockfile がある場合は、そのプロジェクトの既存 package manager を使ってください。"}},"anti_guessing_rule":"If there is no clear direct replacement for the failed command, do not guess. Ask the user what they intended to run.","limitations":["The current analyze endpoint is the first protected API endpoint.","The local ledger workflow writes local user-managed structured files; it does not imply cloud raw-log storage.","Cloud storage, replay, checkpoint, Console export, retention enforcement, and active workflow lease features may be future scope unless currently implemented.","Agents should not assume unavailable fields exist."],"links":{"home":"https://easyterminal.dev/","console":"https://easyterminal.dev/console","support":"https://easyterminal.dev/support","support_guide":"https://easyterminal.dev/support/guide","support_guide_json":"https://easyterminal.dev/support/guide.json","docs":"https://easyterminal.dev/support/guide","ai_manifest":"https://easyterminal.dev/ai.json","analyze_endpoint":"https://easyterminal.dev/api/v1/analyze"}}