Metadata-Version: 2.4
Name: projio
Version: 0.1.2
Summary: Project knowledge orchestrator and MCP server for research repositories
Author-email: Arash Shahidi <A.Shahidi@campus.lmu.de>
License-Expression: MIT
Project-URL: Homepage, https://github.com/arashshahidi1997/projio
Project-URL: Documentation, https://arashshahidi1997.github.io/projio/
Project-URL: Repository, https://github.com/arashshahidi1997/projio
Project-URL: Issues, https://github.com/arashshahidi1997/projio/issues
Keywords: mcp,research,project,knowledge,rag,datalad
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml>=6
Requires-Dist: fastmcp>=2.0
Provides-Extra: indexio
Requires-Dist: indexio>=0.1.1; extra == "indexio"
Provides-Extra: biblio
Requires-Dist: biblio-tools>=0.1.5; extra == "biblio"
Provides-Extra: notio
Requires-Dist: notio>=0.1.1; extra == "notio"
Provides-Extra: codio
Requires-Dist: codio-tools>=0.1.1; extra == "codio"
Provides-Extra: pipeio
Requires-Dist: pipeio>=0.1.0; extra == "pipeio"
Requires-Dist: papermill>=2.4; extra == "pipeio"
Provides-Extra: figio
Requires-Dist: figio-tools>=0.1.0; extra == "figio"
Provides-Extra: all
Requires-Dist: indexio>=0.1.1; extra == "all"
Requires-Dist: biblio-tools>=0.1.5; extra == "all"
Requires-Dist: notio>=0.1.1; extra == "all"
Requires-Dist: codio-tools>=0.1.1; extra == "all"
Requires-Dist: pipeio>=0.1.0; extra == "all"
Requires-Dist: papermill>=2.4; extra == "all"
Requires-Dist: figio-tools>=0.1.0; extra == "all"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocs-monorepo-plugin>=1.1; extra == "docs"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: mkdocs>=1.6; extra == "dev"
Requires-Dist: mkdocs-material>=9.5; extra == "dev"
Requires-Dist: mkdocs-monorepo-plugin>=1.1; extra == "dev"
Dynamic: license-file

<p align="center">
  <img src="https://raw.githubusercontent.com/arashshahidi1997/projio/master/docs/assets/logo.png" alt="projio logo" width="200">
</p>

# projio

Project knowledge orchestrator and MCP server for research repositories.

Turns a research repository into a queryable knowledge environment for humans and AI agents. Provides structured, machine-accessible knowledge layers by integrating code, papers, notes, pipelines, figures, and documentation through a unified MCP server interface.

## Install

```bash
pip install projio                # core orchestrator + MCP server
pip install "projio[all]"         # all ecosystem packages
```

For development:

```bash
git clone https://github.com/arashshahidi1997/projio.git
cd projio
make dev
```

## Quick start

```bash
# Scaffold .projio/ workspace
projio init .

# Scaffold a study or tool project
projio init . --kind study
projio init . --kind tool

# Show project status
projio status -C .

# Start MCP server (stdio)
projio mcp -C .

# Site operations
projio site build
projio site serve
```

## Ecosystem

Projio orchestrates six specialized packages:

| Package | Domain | Description |
|---------|--------|-------------|
| **projio** | orchestration | Workspace scaffold, site workflows, MCP entrypoint |
| **indexio** | retrieval | Corpus indexing, chunking, embedding, semantic search |
| **biblio** | literature | Bibliography management, citekey resolution, paper context |
| **notio** | notes | Structured notes, idea capture, manuscript assembly & rendering |
| **codio** | code | Library registry, code reuse discovery, implementation strategy |
| **pipeio** | pipelines | Pipeline authoring, contracts, notebook lifecycle, Snakemake flows |
| **figio** | figures | Declarative figure specs, panel rendering, SVG/PDF composition |

Install individual extras: `pip install "projio[biblio]"`, `pip install "projio[pipeio]"`, etc.

## MCP tools

The MCP server exposes 70+ tools across all subsystems:

| Category | Tools | Examples |
|----------|-------|---------|
| **Retrieval** | 6 | `rag_query`, `rag_query_multi`, `corpus_list`, `indexio_build` |
| **Bibliography** | 26 | `biblio_ingest`, `citekey_resolve`, `paper_context`, `biblio_compile` |
| **Notes** | 10 | `note_create`, `note_list`, `note_search`, `notio_reindex` |
| **Manuscripts** | 16 | `manuscript_build`, `manuscript_assemble`, `manuscript_cite_check` |
| **Code** | 11 | `codio_list`, `codio_discover`, `codio_add`, `codio_registry` |
| **Pipelines** | 51 | `pipeio_flow_new`, `pipeio_run`, `pipeio_nb_exec`, `pipeio_dag_export` |
| **Figures** | 5 | `figio_build`, `figio_inspect`, `figio_validate` |
| **Project** | 10 | `project_context`, `ecosystem_status`, `site_build`, `datalad_save` |

See the [MCP tools reference](https://arashshahidi1997.github.io/projio/reference/mcp-tools/) for the full list.

## Configuration

Project-local defaults live in `.projio/config.yml`.
Optional user defaults in `~/.config/projio/config.yml` are merged first, with project config taking precedence.

```bash
# Scaffold user config
projio config init-user

# Show merged config
projio config -C . show
```

## Claude Code / MCP config

```json
{
  "mcpServers": {
    "projio": {
      "command": "/path/to/python",
      "args": ["-m", "projio.mcp.server"],
      "env": { "PROJIO_ROOT": "/path/to/your/project" }
    }
  }
}
```

## Documentation

Full docs at [arashshahidi1997.github.io/projio](https://arashshahidi1997.github.io/projio/).

## License

MIT
