intake Documentation

From requirements in any format to verified implementation.

intake is an open-source CLI tool that transforms requirements from multiple sources and formats (Jira, Confluence, GitHub, GitLab, PDFs, Markdown, YAML, images, DOCX, free text) into a normalized, verifiable specification that any AI agent can consume.

intake = Chaotic requirements (N sources, N formats) -> Executable spec -> Any AI agent

Prerequisites

  • Python 3.12+
  • API key from an LLM provider (Anthropic, OpenAI, Google, etc.)

Installation

pip install intake-ai-cli

The CLI command is called intake:

intake --version
intake doctor

For local development:

git clone https://github.com/Diego303/intake-cli.git
cd intake-cli
pip install -e ".[dev]"

Guides

DocumentDescription
Core:
DocumentDescription
ArchitectureSystem architecture, modules, data flow and design decisions
CLI GuideComplete reference of all 22 commands/subcommands with options and examples
ConfigurationAll .intake.yaml options, presets and environment variables

Pipeline:

DocumentDescription
PipelineHow the 5-phase pipeline + feedback loop works in detail
Input FormatsThe 12 parsers + 4 API connectors, what they extract and how they are auto-detected
ConnectorsDirect API connectors: Jira, Confluence, GitHub, GitLab
PluginsPlugin system: protocols, discovery, hooks and how to create plugins
VerificationAcceptance check engine, reporters and CI/CD
Export6 export formats for AI agents
FeedbackFeedback loop: failure analysis and spec amendments
MCP ServerMCP server for AI agents: tools, resources, prompts and transports
Watch ModeWatch mode: file monitoring and automatic re-verification

Operations and enterprise:

DocumentDescription
DeploymentDocker, pre-commit hooks and deployment patterns for teams
CI/CD IntegrationGitHub Actions, GitLab CI, Jenkins, Azure DevOps
SecurityThreat model, secrets management, redaction, compliance
WorkflowsPatterns for teams of all sizes: individual to enterprise

Reference:

DocumentDescription
Best PracticesTips, recommended patterns and how to get the most out of it
Custom TemplatesCustomize Jinja2 templates: variables, overrides and examples
TroubleshootingCommon errors, diagnostics and FAQ

Release notes:

VersionDescription
v1.0.0Production ready: 12 bug fixes, regenerate command, 902 tests
v0.6.0GitLab connector + parser, validate, estimate, custom templates, CI export
v0.5.0Polish, CI/CD, GitHub Actions action, mypy —strict, 5 examples
v0.4.0MCP server + Watch mode
v0.3.0Connectors + Exporters + Feedback loop
v0.2.0Plugin system + New parsers + Adaptive generation
v0.1.0Initial release

Quick Start

# 1. Verify that the environment is ready
intake doctor

# 2. Generate a spec from a Markdown file
intake init "Sistema de autenticacion OAuth2" -s requirements.md

# 3. Generate from multiple sources
intake init "Pasarela de pagos" -s jira.json -s confluence.html -s notas.md

# 4. Quick mode for simple tasks (only context.md + tasks.md)
intake init "Fix login bug" -s notas.txt --mode quick

# 5. From a URL
intake init "API review" -s https://wiki.company.com/rfc/auth

# 6. Regenerate a spec from scratch
intake regenerate specs/pasarela-de-pagos/ -s reqs-actualizados.md

# 7. Verify the implementation against the spec
intake verify specs/pasarela-de-pagos/ -p .

# 8. Export for a specific agent
intake export specs/pasarela-de-pagos/ -f claude-code -o .
intake export specs/pasarela-de-pagos/ -f cursor -o .
intake export specs/pasarela-de-pagos/ -f copilot -o .

# 9. From direct API connectors (requires config)
intake init "Sprint tasks" -s jira://PROJ/sprint/42
intake init "RFC review" -s confluence://ENG/Architecture-RFC
intake init "Sprint review" -s gitlab://team/backend/issues?labels=sprint

# 10. Feedback loop: analyze failures and suggest fixes
intake feedback specs/pasarela-de-pagos/ -p .

# 11. Manage plugins
intake plugins list

# 12. Task tracking
intake task list specs/pasarela-de-pagos/
intake task update specs/pasarela-de-pagos/ 1 done --note "Implementado"

# 13. MCP server for AI agents
intake mcp serve --transport stdio

# 14. Watch mode: re-verify when files change
intake watch specs/pasarela-de-pagos/ --project-dir . --verbose

# 15. Validate internal consistency of a spec
intake validate specs/pasarela-de-pagos/

# 16. Estimate cost before generating
intake estimate -s requirements.md -s notas.md

# 17. Generate CI config for verification
intake export-ci specs/pasarela-de-pagos/ -p gitlab

The 6 Spec Files

Each generated spec contains:

FilePurpose
requirements.mdWhat to build. Functional and non-functional requirements.
design.mdHow to build it. Architecture, interfaces, technical decisions.
tasks.mdIn what order. Atomic tasks with dependencies.
acceptance.yamlHow to verify. Executable checks: commands, patterns, files.
context.mdProject context for the agent: stack, conventions, state.
sources.mdFull traceability: each requirement mapped to its original source.

Additionally, spec.lock.yaml is generated for reproducibility (source hashes, costs, timestamps).