codrspot-processor-mcp 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/PKG-INFO +6 -1
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/README.md +5 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/pyproject.toml +1 -1
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/__init__.py +1 -1
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/cli/main.py +9 -1
- codrspot_processor_mcp-0.1.2/src/codepreproc_client/layer1_business/cli/setup.py +93 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/mcp/server.py +1 -2
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codrspot_processor_mcp.egg-info/PKG-INFO +6 -1
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codrspot_processor_mcp.egg-info/SOURCES.txt +1 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/LICENSE +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/setup.cfg +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/__main__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/allowed_scope_cache.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/lease_client.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/net_guard.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/promote_client.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/reasoning_client.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/registry_client.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/api_client/superkg_client.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/cli/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/cli/init.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/config.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/git_utils.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/license/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/license/fingerprint.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/license/jwt_client.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/license/project_lock.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/local_registry.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/manifest/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/manifest/credentials.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/mcp/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/mcp/action_monitor.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/mcp/lifecycle.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/mcp/tools.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer1_business/project_registry.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/ast_graph.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/bm25_store.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/chunking/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/chunking/ast_chunker.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/chunking/languages.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/embed_worker.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/embeddings.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/extract/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/extract/compactor.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/extract/providers/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/extract/providers/base.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/indexer.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/ppl/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/ppl/emitter.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/ppl/parser.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/qdrant_store.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/scanning/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/scanning/manifest_scanner.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/scanning/md_scanner.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/scanning/repo_mapper.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/condensation/session_vector_store.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/coupling/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/coupling/domain.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/coupling/graph.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/coupling/layer2_gate.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/coupling/projector.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/coupling/resolver.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/pipeline/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/pipeline/execute_semantic.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/pipeline/filesystem_reorg.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/pipeline/patch_generator.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/pipeline/patch_validator.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/anchors.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/applicability.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/edit_planner.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/materializer.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/merger.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/add_import.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/append_argument.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/insert_literal.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/remove_import.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/remove_statement_unique.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/ops/rename_symbol_local.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/region_resolver.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/synthesizer.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/target_locator.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/semantic/validator.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/snippet/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/snippet/assembler.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/materialization/snippet/loader.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/retrieval/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/retrieval/graph_walk.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/retrieval/hybrid.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/retrieval/rerank_worker.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/retrieval/reranker.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/watcher/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/layer2_tooling/watcher/fs_watcher.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codrspot_processor_mcp.egg-info/dependency_links.txt +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codrspot_processor_mcp.egg-info/entry_points.txt +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codrspot_processor_mcp.egg-info/requires.txt +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codrspot_processor_mcp.egg-info/top_level.txt +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/contracts/__init__.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/contracts/dtos.py +0 -0
- {codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/contracts/ir.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codrspot-processor-mcp
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Local MCP server exposing codepreproc's code-context tools to Claude Code
|
|
5
5
|
Author-email: alexlqi <alexlqi@gmail.com>
|
|
6
6
|
License: Copyright (c) 2026 alexlqi (alexlqi@gmail.com)
|
|
@@ -122,6 +122,11 @@ This installs the `codepreproc` and `codepreproc-mcp` console scripts into
|
|
|
122
122
|
python -m pip install --upgrade codrspot-processor-mcp
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
Then run `codepreproc setup` to scaffold `CODEPREPROC_HOME` (`indexes/`,
|
|
126
|
+
`logs/`, a starter `.env`) and print the Claude Code `mcp.json` snippet with
|
|
127
|
+
the exe path already resolved. Safe to re-run — it never overwrites an
|
|
128
|
+
existing `.env`.
|
|
129
|
+
|
|
125
130
|
## 2. Configure the environment
|
|
126
131
|
|
|
127
132
|
Create a `.env` file in `%CODEPREPROC_HOME%` (`$CODEPREPROC_HOME` on
|
|
@@ -61,6 +61,11 @@ This installs the `codepreproc` and `codepreproc-mcp` console scripts into
|
|
|
61
61
|
python -m pip install --upgrade codrspot-processor-mcp
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
Then run `codepreproc setup` to scaffold `CODEPREPROC_HOME` (`indexes/`,
|
|
65
|
+
`logs/`, a starter `.env`) and print the Claude Code `mcp.json` snippet with
|
|
66
|
+
the exe path already resolved. Safe to re-run — it never overwrites an
|
|
67
|
+
existing `.env`.
|
|
68
|
+
|
|
64
69
|
## 2. Configure the environment
|
|
65
70
|
|
|
66
71
|
Create a `.env` file in `%CODEPREPROC_HOME%` (`$CODEPREPROC_HOME` on
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "codrspot-processor-mcp"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.2"
|
|
8
8
|
description = "Local MCP server exposing codepreproc's code-context tools to Claude Code"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12,<3.13"
|
|
@@ -22,6 +22,9 @@ _USAGE = """\
|
|
|
22
22
|
Usage: codepreproc <command> [options]
|
|
23
23
|
|
|
24
24
|
Commands:
|
|
25
|
+
setup Scaffold CODEPREPROC_HOME (indexes/, logs/, .env) after a
|
|
26
|
+
fresh pip install, and print the Claude Code MCP config
|
|
27
|
+
snippet.
|
|
25
28
|
init [PATH] Scan PATH (default: CWD), mint a JWT for it, and register it
|
|
26
29
|
with codepreproc-server over the API.
|
|
27
30
|
Requires credentials.yaml and CODEPREPROC_SERVER_URL to be set.
|
|
@@ -45,7 +48,12 @@ def run() -> None:
|
|
|
45
48
|
|
|
46
49
|
command = args[0]
|
|
47
50
|
|
|
48
|
-
if command == "
|
|
51
|
+
if command == "setup":
|
|
52
|
+
from codepreproc_client.layer1_business.cli.setup import setup_environment
|
|
53
|
+
|
|
54
|
+
sys.exit(setup_environment())
|
|
55
|
+
|
|
56
|
+
elif command == "init":
|
|
49
57
|
from codepreproc_client.layer1_business.cli.init import init_project
|
|
50
58
|
|
|
51
59
|
path: Path | None = None
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"""codepreproc setup: scaffold CODEPREPROC_HOME after a fresh pip install."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import shutil
|
|
6
|
+
import sys
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
_MINIMAL_ENV = """\
|
|
10
|
+
CODEPREPROC_SERVER_URL=https://your-codepreproc-server-host:8443
|
|
11
|
+
OPENAI_API_KEY=
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _find_env_example() -> Path | None:
|
|
16
|
+
"""Locate the packaged .env.example, if it shipped with this install."""
|
|
17
|
+
here = Path(__file__).resolve()
|
|
18
|
+
for parent in here.parents:
|
|
19
|
+
candidate = parent / ".env.example"
|
|
20
|
+
if candidate.exists():
|
|
21
|
+
return candidate
|
|
22
|
+
return None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _mcp_json_snippet(mcp_exe: Path) -> str:
|
|
26
|
+
escaped = str(mcp_exe).replace("\\", "\\\\")
|
|
27
|
+
return (
|
|
28
|
+
"{\n"
|
|
29
|
+
' "mcpServers": {\n'
|
|
30
|
+
' "codepreproc": {\n'
|
|
31
|
+
f' "command": "{escaped}"\n'
|
|
32
|
+
" }\n"
|
|
33
|
+
" }\n"
|
|
34
|
+
"}"
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def setup_environment(verbose: bool = True) -> int:
|
|
39
|
+
"""Scaffold CODEPREPROC_HOME (dirs + .env) and print the Claude Code config snippet.
|
|
40
|
+
|
|
41
|
+
Returns an exit code (always 0 — this only creates missing local files).
|
|
42
|
+
"""
|
|
43
|
+
from codepreproc_client.layer1_business.config import get_settings
|
|
44
|
+
|
|
45
|
+
settings = get_settings()
|
|
46
|
+
home_dir = settings.home_dir
|
|
47
|
+
|
|
48
|
+
created: list[str] = []
|
|
49
|
+
already_present: list[str] = []
|
|
50
|
+
|
|
51
|
+
for label, path in (("home", home_dir), ("indexes", settings.indexes_dir), ("logs", settings.logs_dir)):
|
|
52
|
+
if path.exists():
|
|
53
|
+
already_present.append(f"{label} ({path})")
|
|
54
|
+
else:
|
|
55
|
+
path.mkdir(parents=True, exist_ok=True)
|
|
56
|
+
created.append(f"{label} ({path})")
|
|
57
|
+
|
|
58
|
+
env_path = home_dir / ".env"
|
|
59
|
+
if env_path.exists():
|
|
60
|
+
already_present.append(f".env ({env_path})")
|
|
61
|
+
else:
|
|
62
|
+
example = _find_env_example()
|
|
63
|
+
if example is not None:
|
|
64
|
+
shutil.copyfile(example, env_path)
|
|
65
|
+
else:
|
|
66
|
+
env_path.write_text(_MINIMAL_ENV, encoding="utf-8")
|
|
67
|
+
created.append(f".env ({env_path})")
|
|
68
|
+
|
|
69
|
+
if verbose:
|
|
70
|
+
if created:
|
|
71
|
+
print("Created:")
|
|
72
|
+
for item in created:
|
|
73
|
+
print(f" {item}")
|
|
74
|
+
if already_present:
|
|
75
|
+
print("Already present (left untouched):")
|
|
76
|
+
for item in already_present:
|
|
77
|
+
print(f" {item}")
|
|
78
|
+
|
|
79
|
+
exe_suffix = ".exe" if sys.platform == "win32" else ""
|
|
80
|
+
mcp_exe = Path(sys.executable).parent / f"codepreproc-mcp{exe_suffix}"
|
|
81
|
+
|
|
82
|
+
print(
|
|
83
|
+
"\nNext steps:\n"
|
|
84
|
+
f" 1. Edit {env_path} — set CODEPREPROC_SERVER_URL (and OPENAI_API_KEY if using a remote LLM policy).\n"
|
|
85
|
+
f" 2. Place credentials.yaml at {home_dir / 'credentials.yaml'} "
|
|
86
|
+
"(or point CODEPREPROC_CREDENTIALS at a different path).\n"
|
|
87
|
+
" 3. From each repo you want indexed, run 'codepreproc init'.\n"
|
|
88
|
+
" 4. Add this to your Claude Code MCP configuration:\n"
|
|
89
|
+
)
|
|
90
|
+
print(_mcp_json_snippet(mcp_exe))
|
|
91
|
+
print(f"\n 5. Restart Claude Code, then run 'reindex' on your project.")
|
|
92
|
+
|
|
93
|
+
return 0
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import asyncio
|
|
6
|
-
import importlib.metadata
|
|
7
6
|
import json
|
|
8
7
|
import logging
|
|
9
8
|
import os
|
|
@@ -633,7 +632,7 @@ async def main() -> None:
|
|
|
633
632
|
finally:
|
|
634
633
|
await monitor.close()
|
|
635
634
|
|
|
636
|
-
|
|
635
|
+
from codepreproc_client import __version__ as version
|
|
637
636
|
try:
|
|
638
637
|
async with stdio_server() as (read_stream, write_stream):
|
|
639
638
|
await server.run(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codrspot-processor-mcp
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Local MCP server exposing codepreproc's code-context tools to Claude Code
|
|
5
5
|
Author-email: alexlqi <alexlqi@gmail.com>
|
|
6
6
|
License: Copyright (c) 2026 alexlqi (alexlqi@gmail.com)
|
|
@@ -122,6 +122,11 @@ This installs the `codepreproc` and `codepreproc-mcp` console scripts into
|
|
|
122
122
|
python -m pip install --upgrade codrspot-processor-mcp
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
Then run `codepreproc setup` to scaffold `CODEPREPROC_HOME` (`indexes/`,
|
|
126
|
+
`logs/`, a starter `.env`) and print the Claude Code `mcp.json` snippet with
|
|
127
|
+
the exe path already resolved. Safe to re-run — it never overwrites an
|
|
128
|
+
existing `.env`.
|
|
129
|
+
|
|
125
130
|
## 2. Configure the environment
|
|
126
131
|
|
|
127
132
|
Create a `.env` file in `%CODEPREPROC_HOME%` (`$CODEPREPROC_HOME` on
|
|
@@ -19,6 +19,7 @@ src/codepreproc_client/layer1_business/api_client/superkg_client.py
|
|
|
19
19
|
src/codepreproc_client/layer1_business/cli/__init__.py
|
|
20
20
|
src/codepreproc_client/layer1_business/cli/init.py
|
|
21
21
|
src/codepreproc_client/layer1_business/cli/main.py
|
|
22
|
+
src/codepreproc_client/layer1_business/cli/setup.py
|
|
22
23
|
src/codepreproc_client/layer1_business/license/__init__.py
|
|
23
24
|
src/codepreproc_client/layer1_business/license/fingerprint.py
|
|
24
25
|
src/codepreproc_client/layer1_business/license/jwt_client.py
|
|
File without changes
|
|
File without changes
|
{codrspot_processor_mcp-0.1.1 → codrspot_processor_mcp-0.1.2}/src/codepreproc_client/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|