crumbs-cli 0.3.0__tar.gz → 0.3.1__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.
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/PKG-INFO +61 -4
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/README.md +60 -3
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/__init__.py +1 -1
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs_cli.egg-info/PKG-INFO +61 -4
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/pyproject.toml +1 -1
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/LICENSE +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/__main__.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/cli.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/digest.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/extractors.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/indexer.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/mcp.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/query.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs/store.py +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs_cli.egg-info/SOURCES.txt +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs_cli.egg-info/dependency_links.txt +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs_cli.egg-info/entry_points.txt +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/crumbs_cli.egg-info/top_level.txt +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/setup.cfg +0 -0
- {crumbs_cli-0.3.0 → crumbs_cli-0.3.1}/tests/test_crumbs.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crumbs-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Local, token-efficient cross-repo context for LLMs. CLI + MCP server.
|
|
5
5
|
Author: crumbs
|
|
6
6
|
License: MIT
|
|
@@ -46,10 +46,15 @@ can open *just that slice* of a file rather than the whole thing.
|
|
|
46
46
|
|
|
47
47
|
## Install
|
|
48
48
|
|
|
49
|
+
The distribution is named `crumbs-cli`; it provides the `crumbs` command.
|
|
50
|
+
|
|
49
51
|
```bash
|
|
50
|
-
|
|
51
|
-
# or
|
|
52
|
-
|
|
52
|
+
pipx install crumbs-cli # isolated, on your PATH (recommended)
|
|
53
|
+
# or, no install at all:
|
|
54
|
+
uvx --from crumbs-cli crumbs --help
|
|
55
|
+
# or, from a clone:
|
|
56
|
+
pip install -e . # dev install
|
|
57
|
+
python3 -m crumbs --help # run without installing
|
|
53
58
|
```
|
|
54
59
|
|
|
55
60
|
## Usage
|
|
@@ -66,6 +71,39 @@ crumbs remove my-web # drop a repo from the index
|
|
|
66
71
|
|
|
67
72
|
A repo can be referenced by name, id, or path.
|
|
68
73
|
|
|
74
|
+
## Use with Claude Code (MCP)
|
|
75
|
+
|
|
76
|
+
crumbs ships an MCP server (`crumbs mcp`) so an MCP host — Claude Code, Claude
|
|
77
|
+
Desktop, or any MCP client — can call it as native tools. It speaks the MCP wire
|
|
78
|
+
protocol over stdio with **zero dependencies** (no SDK).
|
|
79
|
+
|
|
80
|
+
**One-command install (Claude Code plugin):**
|
|
81
|
+
|
|
82
|
+
```shell
|
|
83
|
+
/plugin marketplace add crumbs1505/crumbs
|
|
84
|
+
/plugin install crumbs@crumbs
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This bundles the MCP server and a skill; repo paths are auto-indexed on first
|
|
88
|
+
use. See [`plugin/`](plugin/) for details.
|
|
89
|
+
|
|
90
|
+
**Manual registration** (e.g. in a project `.mcp.json` or your Claude Code config):
|
|
91
|
+
|
|
92
|
+
```jsonc
|
|
93
|
+
{
|
|
94
|
+
"mcpServers": {
|
|
95
|
+
"crumbs": { "command": "uvx", "args": ["--from", "crumbs-cli", "crumbs", "mcp"] }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`uvx` fetches and runs crumbs on demand, so nothing needs to be installed first.
|
|
101
|
+
(If you installed via `pipx`, use `"command": "crumbs", "args": ["mcp"]` instead.)
|
|
102
|
+
|
|
103
|
+
The server exposes five model-controlled tools — `crumbs_map`, `crumbs_search`,
|
|
104
|
+
`crumbs_context`, `crumbs_index`, `crumbs_list` — and auto-indexes a repo path on
|
|
105
|
+
first use, so there is no manual setup step.
|
|
106
|
+
|
|
69
107
|
## Workflow with Claude
|
|
70
108
|
|
|
71
109
|
1. `crumbs index` the repos you work across (once, or on a `crumbs refresh` cron).
|
|
@@ -105,6 +143,25 @@ safely.
|
|
|
105
143
|
python3 -m unittest discover -s tests -v
|
|
106
144
|
```
|
|
107
145
|
|
|
146
|
+
## Releasing
|
|
147
|
+
|
|
148
|
+
Releases are published to [PyPI](https://pypi.org/project/crumbs-cli/) automatically by
|
|
149
|
+
CI ([`.github/workflows/publish.yml`](.github/workflows/publish.yml)) whenever a version
|
|
150
|
+
tag is pushed. To cut a release:
|
|
151
|
+
|
|
152
|
+
1. Bump the version in **all three** places: `pyproject.toml`, `crumbs/__init__.py`,
|
|
153
|
+
and `plugin/.claude-plugin/plugin.json` (keep them in sync).
|
|
154
|
+
2. Commit the bump and push to `main`.
|
|
155
|
+
3. Tag and push it:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
git tag v0.3.1 && git push origin v0.3.1
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
CI then builds the sdist + wheel, runs `twine check`, and publishes to PyPI via
|
|
162
|
+
[Trusted Publishing](https://docs.pypi.org/trusted-publishers/) (OIDC — no token stored
|
|
163
|
+
in the repo). PyPI versions are immutable, so every release needs a new version number.
|
|
164
|
+
|
|
108
165
|
## License
|
|
109
166
|
|
|
110
167
|
MIT
|
|
@@ -22,10 +22,15 @@ can open *just that slice* of a file rather than the whole thing.
|
|
|
22
22
|
|
|
23
23
|
## Install
|
|
24
24
|
|
|
25
|
+
The distribution is named `crumbs-cli`; it provides the `crumbs` command.
|
|
26
|
+
|
|
25
27
|
```bash
|
|
26
|
-
|
|
27
|
-
# or
|
|
28
|
-
|
|
28
|
+
pipx install crumbs-cli # isolated, on your PATH (recommended)
|
|
29
|
+
# or, no install at all:
|
|
30
|
+
uvx --from crumbs-cli crumbs --help
|
|
31
|
+
# or, from a clone:
|
|
32
|
+
pip install -e . # dev install
|
|
33
|
+
python3 -m crumbs --help # run without installing
|
|
29
34
|
```
|
|
30
35
|
|
|
31
36
|
## Usage
|
|
@@ -42,6 +47,39 @@ crumbs remove my-web # drop a repo from the index
|
|
|
42
47
|
|
|
43
48
|
A repo can be referenced by name, id, or path.
|
|
44
49
|
|
|
50
|
+
## Use with Claude Code (MCP)
|
|
51
|
+
|
|
52
|
+
crumbs ships an MCP server (`crumbs mcp`) so an MCP host — Claude Code, Claude
|
|
53
|
+
Desktop, or any MCP client — can call it as native tools. It speaks the MCP wire
|
|
54
|
+
protocol over stdio with **zero dependencies** (no SDK).
|
|
55
|
+
|
|
56
|
+
**One-command install (Claude Code plugin):**
|
|
57
|
+
|
|
58
|
+
```shell
|
|
59
|
+
/plugin marketplace add crumbs1505/crumbs
|
|
60
|
+
/plugin install crumbs@crumbs
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This bundles the MCP server and a skill; repo paths are auto-indexed on first
|
|
64
|
+
use. See [`plugin/`](plugin/) for details.
|
|
65
|
+
|
|
66
|
+
**Manual registration** (e.g. in a project `.mcp.json` or your Claude Code config):
|
|
67
|
+
|
|
68
|
+
```jsonc
|
|
69
|
+
{
|
|
70
|
+
"mcpServers": {
|
|
71
|
+
"crumbs": { "command": "uvx", "args": ["--from", "crumbs-cli", "crumbs", "mcp"] }
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
`uvx` fetches and runs crumbs on demand, so nothing needs to be installed first.
|
|
77
|
+
(If you installed via `pipx`, use `"command": "crumbs", "args": ["mcp"]` instead.)
|
|
78
|
+
|
|
79
|
+
The server exposes five model-controlled tools — `crumbs_map`, `crumbs_search`,
|
|
80
|
+
`crumbs_context`, `crumbs_index`, `crumbs_list` — and auto-indexes a repo path on
|
|
81
|
+
first use, so there is no manual setup step.
|
|
82
|
+
|
|
45
83
|
## Workflow with Claude
|
|
46
84
|
|
|
47
85
|
1. `crumbs index` the repos you work across (once, or on a `crumbs refresh` cron).
|
|
@@ -81,6 +119,25 @@ safely.
|
|
|
81
119
|
python3 -m unittest discover -s tests -v
|
|
82
120
|
```
|
|
83
121
|
|
|
122
|
+
## Releasing
|
|
123
|
+
|
|
124
|
+
Releases are published to [PyPI](https://pypi.org/project/crumbs-cli/) automatically by
|
|
125
|
+
CI ([`.github/workflows/publish.yml`](.github/workflows/publish.yml)) whenever a version
|
|
126
|
+
tag is pushed. To cut a release:
|
|
127
|
+
|
|
128
|
+
1. Bump the version in **all three** places: `pyproject.toml`, `crumbs/__init__.py`,
|
|
129
|
+
and `plugin/.claude-plugin/plugin.json` (keep them in sync).
|
|
130
|
+
2. Commit the bump and push to `main`.
|
|
131
|
+
3. Tag and push it:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
git tag v0.3.1 && git push origin v0.3.1
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
CI then builds the sdist + wheel, runs `twine check`, and publishes to PyPI via
|
|
138
|
+
[Trusted Publishing](https://docs.pypi.org/trusted-publishers/) (OIDC — no token stored
|
|
139
|
+
in the repo). PyPI versions are immutable, so every release needs a new version number.
|
|
140
|
+
|
|
84
141
|
## License
|
|
85
142
|
|
|
86
143
|
MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crumbs-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Local, token-efficient cross-repo context for LLMs. CLI + MCP server.
|
|
5
5
|
Author: crumbs
|
|
6
6
|
License: MIT
|
|
@@ -46,10 +46,15 @@ can open *just that slice* of a file rather than the whole thing.
|
|
|
46
46
|
|
|
47
47
|
## Install
|
|
48
48
|
|
|
49
|
+
The distribution is named `crumbs-cli`; it provides the `crumbs` command.
|
|
50
|
+
|
|
49
51
|
```bash
|
|
50
|
-
|
|
51
|
-
# or
|
|
52
|
-
|
|
52
|
+
pipx install crumbs-cli # isolated, on your PATH (recommended)
|
|
53
|
+
# or, no install at all:
|
|
54
|
+
uvx --from crumbs-cli crumbs --help
|
|
55
|
+
# or, from a clone:
|
|
56
|
+
pip install -e . # dev install
|
|
57
|
+
python3 -m crumbs --help # run without installing
|
|
53
58
|
```
|
|
54
59
|
|
|
55
60
|
## Usage
|
|
@@ -66,6 +71,39 @@ crumbs remove my-web # drop a repo from the index
|
|
|
66
71
|
|
|
67
72
|
A repo can be referenced by name, id, or path.
|
|
68
73
|
|
|
74
|
+
## Use with Claude Code (MCP)
|
|
75
|
+
|
|
76
|
+
crumbs ships an MCP server (`crumbs mcp`) so an MCP host — Claude Code, Claude
|
|
77
|
+
Desktop, or any MCP client — can call it as native tools. It speaks the MCP wire
|
|
78
|
+
protocol over stdio with **zero dependencies** (no SDK).
|
|
79
|
+
|
|
80
|
+
**One-command install (Claude Code plugin):**
|
|
81
|
+
|
|
82
|
+
```shell
|
|
83
|
+
/plugin marketplace add crumbs1505/crumbs
|
|
84
|
+
/plugin install crumbs@crumbs
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This bundles the MCP server and a skill; repo paths are auto-indexed on first
|
|
88
|
+
use. See [`plugin/`](plugin/) for details.
|
|
89
|
+
|
|
90
|
+
**Manual registration** (e.g. in a project `.mcp.json` or your Claude Code config):
|
|
91
|
+
|
|
92
|
+
```jsonc
|
|
93
|
+
{
|
|
94
|
+
"mcpServers": {
|
|
95
|
+
"crumbs": { "command": "uvx", "args": ["--from", "crumbs-cli", "crumbs", "mcp"] }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`uvx` fetches and runs crumbs on demand, so nothing needs to be installed first.
|
|
101
|
+
(If you installed via `pipx`, use `"command": "crumbs", "args": ["mcp"]` instead.)
|
|
102
|
+
|
|
103
|
+
The server exposes five model-controlled tools — `crumbs_map`, `crumbs_search`,
|
|
104
|
+
`crumbs_context`, `crumbs_index`, `crumbs_list` — and auto-indexes a repo path on
|
|
105
|
+
first use, so there is no manual setup step.
|
|
106
|
+
|
|
69
107
|
## Workflow with Claude
|
|
70
108
|
|
|
71
109
|
1. `crumbs index` the repos you work across (once, or on a `crumbs refresh` cron).
|
|
@@ -105,6 +143,25 @@ safely.
|
|
|
105
143
|
python3 -m unittest discover -s tests -v
|
|
106
144
|
```
|
|
107
145
|
|
|
146
|
+
## Releasing
|
|
147
|
+
|
|
148
|
+
Releases are published to [PyPI](https://pypi.org/project/crumbs-cli/) automatically by
|
|
149
|
+
CI ([`.github/workflows/publish.yml`](.github/workflows/publish.yml)) whenever a version
|
|
150
|
+
tag is pushed. To cut a release:
|
|
151
|
+
|
|
152
|
+
1. Bump the version in **all three** places: `pyproject.toml`, `crumbs/__init__.py`,
|
|
153
|
+
and `plugin/.claude-plugin/plugin.json` (keep them in sync).
|
|
154
|
+
2. Commit the bump and push to `main`.
|
|
155
|
+
3. Tag and push it:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
git tag v0.3.1 && git push origin v0.3.1
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
CI then builds the sdist + wheel, runs `twine check`, and publishes to PyPI via
|
|
162
|
+
[Trusted Publishing](https://docs.pypi.org/trusted-publishers/) (OIDC — no token stored
|
|
163
|
+
in the repo). PyPI versions are immutable, so every release needs a new version number.
|
|
164
|
+
|
|
108
165
|
## License
|
|
109
166
|
|
|
110
167
|
MIT
|
|
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
|