rlmgrep 0.1.5__tar.gz → 0.1.7__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rlmgrep
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: Grep-shaped CLI search powered by DSPy RLM
5
5
  Author: rlmgrep
6
6
  License: MIT
@@ -61,7 +61,6 @@ rlmgrep [options] "query" [paths...]
61
61
 
62
62
  Common options:
63
63
 
64
- - `-n` show line numbers (default)
65
64
  - `-C N` context lines before/after (grep-style)
66
65
  - `-A N` context lines after
67
66
  - `-B N` context lines before
@@ -71,7 +70,8 @@ Common options:
71
70
  - `--no-recursive` do not recurse directories
72
71
  - `-a`, `--text` treat binary files as text
73
72
  - `-y`, `--yes` skip file count confirmation
74
- - `--stdin-files` treat stdin as newline-delimited file paths
73
+ - `--files-from-stdin` treat stdin as newline-delimited file paths (e.g., `rg -l`)
74
+ - `--files-from-rg` alias for `--files-from-stdin`
75
75
  - `--model`, `--sub-model` override model names
76
76
  - `--api-key`, `--api-base`, `--model-type` override provider settings
77
77
  - `--max-iterations`, `--max-llm-calls` cap RLM search effort
@@ -81,19 +81,19 @@ Examples:
81
81
 
82
82
  ```sh
83
83
  # Natural-language query over a repo
84
- rlmgrep -n -C 2 "token parsing" rlmgrep/
84
+ rlmgrep -n -C 2 "Where is retry/backoff configured and what are the defaults?" .
85
85
 
86
86
  # Restrict to Python files
87
- rlmgrep "where config is read" --type py rlmgrep/
87
+ rlmgrep "Where do we parse JWTs and enforce expiration?" --type py .
88
88
 
89
89
  # Glob filters (repeatable or comma-separated)
90
- rlmgrep "error handling" -g "**/*.py" -g "**/*.md" .
90
+ rlmgrep "How do we map external API errors into internal error codes?" -g "**/*.py" -g "**/*.ts" .
91
91
 
92
- # Read from stdin (only when no paths are provided)
93
- cat README.md | rlmgrep "install"
92
+ # Single-file semantic question (when you already have the file)
93
+ cat README.md | rlmgrep --answer "What is this tool for and how is it used?"
94
94
 
95
95
  # Use rg/grep to find candidate files, then rlmgrep over that list
96
- rg -l "token" . | rlmgrep --stdin-files --answer "what does this token control?"
96
+ rg -l "token" . | rlmgrep --files-from-stdin --answer "What does this token control and where is it validated?"
97
97
  ```
98
98
 
99
99
  ## Input selection
@@ -118,7 +118,6 @@ rg -l "token" . | rlmgrep --stdin-files --answer "what does this token control?"
118
118
  - `1` = no matches
119
119
  - `2` = usage/config/error
120
120
 
121
- Agent tip: use `-n` and no context for parse-friendly output, then key off exit codes.
122
121
 
123
122
  ## Regex-style queries (best effort)
124
123
 
@@ -182,18 +181,16 @@ If more than one provider key is set and the model does not make the provider ob
182
181
  - Converted image/audio text is cached in sidecar files named `<original>.<ext>.md` next to the original file and reused on subsequent runs.
183
182
  - Use `-a/--text` to force binary files to be read as text (UTF-8 with replacement).
184
183
 
185
- ## Agent usage notes
184
+ ## Skill (Anthropic-style)
185
+
186
+ A ready-to-copy skill lives in:
187
+
188
+ - `skills/rlmgrep-usage/SKILL.md`
189
+
190
+ Install it by copying the folder into your agent’s skills directory (for example, `~/.claude/skills/rlmgrep-usage/`), then invoke it as `$rlmgrep-usage` in prompts. This is a lightweight, documentation-only skill meant to guide when to use rlmgrep vs `rg`/`grep`.
186
191
 
187
- - Prefer narrow corpora (globs/types) to reduce token usage.
188
- - Use `--max-llm-calls` to cap costs; combine with small `--max-iterations` for safety.
189
- - For reproducible parsing, use `-n` and avoid context (`-C/-A/-B`).
190
-
191
192
  ## Development
192
193
 
193
194
  - Install locally: `pip install -e .` or `uv tool install .`
194
195
  - Run: `rlmgrep "query" .`
195
196
  - No test suite is configured yet.
196
-
197
- ## Security
198
-
199
- Do not commit API keys. Use environment variables or `~/.rlmgrep/config.toml`.
@@ -49,7 +49,6 @@ rlmgrep [options] "query" [paths...]
49
49
 
50
50
  Common options:
51
51
 
52
- - `-n` show line numbers (default)
53
52
  - `-C N` context lines before/after (grep-style)
54
53
  - `-A N` context lines after
55
54
  - `-B N` context lines before
@@ -59,7 +58,8 @@ Common options:
59
58
  - `--no-recursive` do not recurse directories
60
59
  - `-a`, `--text` treat binary files as text
61
60
  - `-y`, `--yes` skip file count confirmation
62
- - `--stdin-files` treat stdin as newline-delimited file paths
61
+ - `--files-from-stdin` treat stdin as newline-delimited file paths (e.g., `rg -l`)
62
+ - `--files-from-rg` alias for `--files-from-stdin`
63
63
  - `--model`, `--sub-model` override model names
64
64
  - `--api-key`, `--api-base`, `--model-type` override provider settings
65
65
  - `--max-iterations`, `--max-llm-calls` cap RLM search effort
@@ -69,19 +69,19 @@ Examples:
69
69
 
70
70
  ```sh
71
71
  # Natural-language query over a repo
72
- rlmgrep -n -C 2 "token parsing" rlmgrep/
72
+ rlmgrep -n -C 2 "Where is retry/backoff configured and what are the defaults?" .
73
73
 
74
74
  # Restrict to Python files
75
- rlmgrep "where config is read" --type py rlmgrep/
75
+ rlmgrep "Where do we parse JWTs and enforce expiration?" --type py .
76
76
 
77
77
  # Glob filters (repeatable or comma-separated)
78
- rlmgrep "error handling" -g "**/*.py" -g "**/*.md" .
78
+ rlmgrep "How do we map external API errors into internal error codes?" -g "**/*.py" -g "**/*.ts" .
79
79
 
80
- # Read from stdin (only when no paths are provided)
81
- cat README.md | rlmgrep "install"
80
+ # Single-file semantic question (when you already have the file)
81
+ cat README.md | rlmgrep --answer "What is this tool for and how is it used?"
82
82
 
83
83
  # Use rg/grep to find candidate files, then rlmgrep over that list
84
- rg -l "token" . | rlmgrep --stdin-files --answer "what does this token control?"
84
+ rg -l "token" . | rlmgrep --files-from-stdin --answer "What does this token control and where is it validated?"
85
85
  ```
86
86
 
87
87
  ## Input selection
@@ -106,7 +106,6 @@ rg -l "token" . | rlmgrep --stdin-files --answer "what does this token control?"
106
106
  - `1` = no matches
107
107
  - `2` = usage/config/error
108
108
 
109
- Agent tip: use `-n` and no context for parse-friendly output, then key off exit codes.
110
109
 
111
110
  ## Regex-style queries (best effort)
112
111
 
@@ -170,18 +169,16 @@ If more than one provider key is set and the model does not make the provider ob
170
169
  - Converted image/audio text is cached in sidecar files named `<original>.<ext>.md` next to the original file and reused on subsequent runs.
171
170
  - Use `-a/--text` to force binary files to be read as text (UTF-8 with replacement).
172
171
 
173
- ## Agent usage notes
172
+ ## Skill (Anthropic-style)
173
+
174
+ A ready-to-copy skill lives in:
175
+
176
+ - `skills/rlmgrep-usage/SKILL.md`
177
+
178
+ Install it by copying the folder into your agent’s skills directory (for example, `~/.claude/skills/rlmgrep-usage/`), then invoke it as `$rlmgrep-usage` in prompts. This is a lightweight, documentation-only skill meant to guide when to use rlmgrep vs `rg`/`grep`.
174
179
 
175
- - Prefer narrow corpora (globs/types) to reduce token usage.
176
- - Use `--max-llm-calls` to cap costs; combine with small `--max-iterations` for safety.
177
- - For reproducible parsing, use `-n` and avoid context (`-C/-A/-B`).
178
-
179
180
  ## Development
180
181
 
181
182
  - Install locally: `pip install -e .` or `uv tool install .`
182
183
  - Run: `rlmgrep "query" .`
183
184
  - No test suite is configured yet.
184
-
185
- ## Security
186
-
187
- Do not commit API keys. Use environment variables or `~/.rlmgrep/config.toml`.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rlmgrep"
3
- version = "0.1.5"
3
+ version = "0.1.7"
4
4
  description = "Grep-shaped CLI search powered by DSPy RLM"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "0.1.5"
2
+ __version__ = "0.1.7"
@@ -84,10 +84,22 @@ def _parse_args(argv: list[str]) -> argparse.Namespace:
84
84
  parser.add_argument("-a", "--text", dest="binary_as_text", action="store_true", help="Search binary files as text")
85
85
  parser.add_argument("--answer", action="store_true", help="Print a narrative answer before grep output")
86
86
  parser.add_argument("-y", "--yes", action="store_true", help="Skip file count confirmation")
87
+ parser.add_argument(
88
+ "--files-from-stdin",
89
+ action="store_true",
90
+ help="Treat stdin as newline-delimited file paths (e.g., rg -l)",
91
+ )
92
+ parser.add_argument(
93
+ "--files-from-rg",
94
+ dest="stdin_files",
95
+ action="store_true",
96
+ help="Alias for --files-from-stdin",
97
+ )
87
98
  parser.add_argument(
88
99
  "--stdin-files",
100
+ dest="stdin_files",
89
101
  action="store_true",
90
- help="Treat stdin as newline-delimited file paths",
102
+ help="Deprecated: use --files-from-stdin",
91
103
  )
92
104
 
93
105
  parser.add_argument("-g", "--glob", dest="globs", action="append", default=[], help="Include files matching glob (may repeat)")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rlmgrep
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: Grep-shaped CLI search powered by DSPy RLM
5
5
  Author: rlmgrep
6
6
  License: MIT
@@ -61,7 +61,6 @@ rlmgrep [options] "query" [paths...]
61
61
 
62
62
  Common options:
63
63
 
64
- - `-n` show line numbers (default)
65
64
  - `-C N` context lines before/after (grep-style)
66
65
  - `-A N` context lines after
67
66
  - `-B N` context lines before
@@ -71,7 +70,8 @@ Common options:
71
70
  - `--no-recursive` do not recurse directories
72
71
  - `-a`, `--text` treat binary files as text
73
72
  - `-y`, `--yes` skip file count confirmation
74
- - `--stdin-files` treat stdin as newline-delimited file paths
73
+ - `--files-from-stdin` treat stdin as newline-delimited file paths (e.g., `rg -l`)
74
+ - `--files-from-rg` alias for `--files-from-stdin`
75
75
  - `--model`, `--sub-model` override model names
76
76
  - `--api-key`, `--api-base`, `--model-type` override provider settings
77
77
  - `--max-iterations`, `--max-llm-calls` cap RLM search effort
@@ -81,19 +81,19 @@ Examples:
81
81
 
82
82
  ```sh
83
83
  # Natural-language query over a repo
84
- rlmgrep -n -C 2 "token parsing" rlmgrep/
84
+ rlmgrep -n -C 2 "Where is retry/backoff configured and what are the defaults?" .
85
85
 
86
86
  # Restrict to Python files
87
- rlmgrep "where config is read" --type py rlmgrep/
87
+ rlmgrep "Where do we parse JWTs and enforce expiration?" --type py .
88
88
 
89
89
  # Glob filters (repeatable or comma-separated)
90
- rlmgrep "error handling" -g "**/*.py" -g "**/*.md" .
90
+ rlmgrep "How do we map external API errors into internal error codes?" -g "**/*.py" -g "**/*.ts" .
91
91
 
92
- # Read from stdin (only when no paths are provided)
93
- cat README.md | rlmgrep "install"
92
+ # Single-file semantic question (when you already have the file)
93
+ cat README.md | rlmgrep --answer "What is this tool for and how is it used?"
94
94
 
95
95
  # Use rg/grep to find candidate files, then rlmgrep over that list
96
- rg -l "token" . | rlmgrep --stdin-files --answer "what does this token control?"
96
+ rg -l "token" . | rlmgrep --files-from-stdin --answer "What does this token control and where is it validated?"
97
97
  ```
98
98
 
99
99
  ## Input selection
@@ -118,7 +118,6 @@ rg -l "token" . | rlmgrep --stdin-files --answer "what does this token control?"
118
118
  - `1` = no matches
119
119
  - `2` = usage/config/error
120
120
 
121
- Agent tip: use `-n` and no context for parse-friendly output, then key off exit codes.
122
121
 
123
122
  ## Regex-style queries (best effort)
124
123
 
@@ -182,18 +181,16 @@ If more than one provider key is set and the model does not make the provider ob
182
181
  - Converted image/audio text is cached in sidecar files named `<original>.<ext>.md` next to the original file and reused on subsequent runs.
183
182
  - Use `-a/--text` to force binary files to be read as text (UTF-8 with replacement).
184
183
 
185
- ## Agent usage notes
184
+ ## Skill (Anthropic-style)
185
+
186
+ A ready-to-copy skill lives in:
187
+
188
+ - `skills/rlmgrep-usage/SKILL.md`
189
+
190
+ Install it by copying the folder into your agent’s skills directory (for example, `~/.claude/skills/rlmgrep-usage/`), then invoke it as `$rlmgrep-usage` in prompts. This is a lightweight, documentation-only skill meant to guide when to use rlmgrep vs `rg`/`grep`.
186
191
 
187
- - Prefer narrow corpora (globs/types) to reduce token usage.
188
- - Use `--max-llm-calls` to cap costs; combine with small `--max-iterations` for safety.
189
- - For reproducible parsing, use `-n` and avoid context (`-C/-A/-B`).
190
-
191
192
  ## Development
192
193
 
193
194
  - Install locally: `pip install -e .` or `uv tool install .`
194
195
  - Run: `rlmgrep "query" .`
195
196
  - No test suite is configured yet.
196
-
197
- ## Security
198
-
199
- Do not commit API keys. Use environment variables or `~/.rlmgrep/config.toml`.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes