Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@
[![GitHub stars](https://img.shields.io/github/stars/raintree-technology/docpull?style=social)](https://github.com/raintree-technology/docpull/stargazers)
[![License: MIT](https://img.shields.io/github/license/raintree-technology/docpull)](https://github.com/raintree-technology/docpull/blob/main/LICENSE)

<!-- mcp-name: io.github.raintree-technology/docpull -->

DocPull is a local-first dependency manager for AI context. Define the public
docs and web sources an agent depends on, sync them into cited context packs,
diff what changed, and export reproducible context for Cursor, Claude, Codex,
OpenAI, LlamaIndex, LangChain, MCP clients, and RAG pipelines.
web sources an agent depends on, sync them into cited context packs, diff what
changed, and export reproducible context for Cursor, Claude, OpenAI,
LlamaIndex, LangChain, MCP clients, and RAG pipelines.

The core workflow is a `docpull.yaml` plus a `.docpull/context.lock.json`,
similar in spirit to code dependency manifests and lockfiles:
Expand All @@ -23,7 +25,7 @@ docpull install
docpull deps
docpull sync
docpull diff
docpull export context-pack --target codex
docpull export context-pack --target openai
```

Bundled aliases such as `stripe`, `react`, `postgres`, `openai`, and
Expand Down Expand Up @@ -386,12 +388,11 @@ More examples live in [CLI Recipes](docs/examples/README.md).
With an explicit `--skill-agent`, docpull stores the fetched corpus under
`.docpull/skills/<name>/references` and creates agent-specific wrappers that
point at that corpus. `--skill-agent claude` writes a Claude Code skill under
`.claude/skills/<name>/`, `--skill-agent codex` writes a Codex skill under
`.agents/skills/<name>/` with `agents/openai.yaml`, and `--skill-agent cursor`
writes a Cursor project rule at `.cursor/rules/<name>.mdc`. Use
`--skill-agent all` to create all three. If you pass `--output-dir`, docpull
stages the generated corpus there; explicit `--skill-agent` targets still write
their active agent wrappers.
`.claude/skills/<name>/`, and `--skill-agent cursor` writes a Cursor project
rule at `.cursor/rules/<name>.mdc`. Use `--skill-agent all` to create every
supported wrapper. If you pass `--output-dir`, docpull stages the generated
corpus there; explicit `--skill-agent` targets still write their active agent
wrappers.

Use docpull when you need to:

Expand Down Expand Up @@ -601,7 +602,7 @@ part of the package release contract.
- `docpull export` writes local files for OpenAI vector JSONL, LangChain,
LlamaIndex, DSPy, Sheets CSV/TSV, n8n workflow JSON, Vercel AI SDK JSON,
CrewAI JSON, warehouse NDJSON, optional Parquet via `docpull[parquet]`, and
Codex/Claude/Cursor agent references.
agent reference bundles.
## Security Defaults

- HTTPS-only fetching with robots.txt compliance.
Expand Down
2 changes: 1 addition & 1 deletion plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "docpull",
"version": "6.0.0",
"version": "6.0.1",
"description": "Pull public web sources into Claude Code. Indexes static and server-rendered sites as local Markdown with conditional-GET caching, then exposes them as MCP tools. Local, browser-free, no API keys.",
"author": {
"name": "Raintree Technology",
Expand Down
2 changes: 1 addition & 1 deletion plugin/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "docpull",
"name": "docpull",
"version": "6.0.0",
"version": "6.0.1",
"description": "Pull public web sources into Codex as local, searchable Markdown through docpull's MCP server.",
"skills": "./skills/",
"mcpServers": "./.mcp.json",
Expand Down
2 changes: 1 addition & 1 deletion plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ MCP server is available:
```bash
pip install 'docpull[mcp]' # or: pipx install 'docpull[mcp]'
# uv tool install 'docpull[mcp]'
docpull --version # should print 6.0.0 or newer
docpull --version # should print 6.0.1 or newer
docpull mcp --help # confirm the MCP subcommand is wired
```

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "docpull"
version = "6.0.0"
version = "6.0.1"
dynamic = []
description = "Declare, sync, diff, and lock context dependencies for AI agents"
readme = {file = "README.md", content-type = "text/markdown"}
Expand Down
22 changes: 22 additions & 0 deletions server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.raintree-technology/docpull",
"title": "DocPull",
"description": "Sync public web sources into cited context packs for AI agents, RAG, and MCP clients.",
"repository": {
"url": "https://github.com/raintree-technology/docpull",
"source": "github"
},
"websiteUrl": "https://docpull.raintree.technology",
"version": "6.0.1",
"packages": [
{
"registryType": "pypi",
"identifier": "docpull",
"version": "6.0.1",
"transport": {
"type": "stdio"
}
}
]
}
4 changes: 2 additions & 2 deletions src/docpull/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
docpull - Fetch and convert static/server-rendered web content to markdown.
docpull - Context dependencies for AI agents.

Usage:
from docpull import Fetcher, DocpullConfig, ProfileName
Expand All @@ -14,7 +14,7 @@
print(event)
"""

__version__ = "6.0.0"
__version__ = "6.0.1"

from .cache import CacheManager, StreamingDeduplicator
from .context_ci import CIThresholds, ContextCIError, run_context_ci
Expand Down
Loading