@ushiradineth/veil 0.1.10 → 0.2.1

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.
Files changed (3) hide show
  1. package/README.md +68 -106
  2. package/dist/bin.js +31981 -30851
  3. package/package.json +15 -4
package/README.md CHANGED
@@ -1,155 +1,117 @@
1
- # Veil MCP
1
+ # Veil CLI
2
2
 
3
- Veil is a fast MCP server and CLI for local code retrieval. It indexes a repo and exposes focused tools for files, symbols, search, lookup, web research, URL fetch, and git context.
3
+ Veil is a fast CLI and skill for local code retrieval and agent context workflows.
4
4
 
5
- ## What It Is For
5
+ It indexes a repository and provides focused commands for files, symbols, semantic lookup,
6
+ web/fetch context, and git or GitHub reads.
6
7
 
7
- Veil is built for agents that need to move from prompt to implementation quickly.
8
+ ## What It Is For
8
9
 
9
- It gives the agent indexed access to files, symbols, and relevant code chunks, so it can retrieve precise context before writing code. This reduces broad file reads and repeated text scans, improves token efficiency, and shortens time to first meaningful code change.
10
+ Veil is built for agent workflows that need fast, token-lean context before editing code.
10
11
 
11
- In practice, Veil acts as a local retrieval layer for coding agents: discover where code lives, resolve symbols, pull focused context, then execute edits.
12
+ - Start broad with `discover`
13
+ - Narrow with `lookup`, `search`, `files`, or `symbols`
14
+ - Use built-in git and web commands instead of ad hoc shell fallbacks
12
15
 
13
- ## Get Started
16
+ ## Install
14
17
 
15
18
  Requires Node.js 20 or later.
16
19
 
17
- Add Veil to your MCP client config:
18
-
19
- ```json
20
- {
21
- "mcpServers": {
22
- "veil": {
23
- "command": "npx",
24
- "args": ["-y", "@ushiradineth/veil@latest", "server"]
25
- }
26
- }
27
- }
20
+ ```bash
21
+ npm i -g @ushiradineth/veil
28
22
  ```
29
23
 
30
- Install the Veil skill (optional, improves agent tool routing):
24
+ Or run without install:
31
25
 
32
26
  ```bash
33
- npx -y skills add https://github.com/ushiradineth/veil/tree/main/docs --skill veil
27
+ npx -y @ushiradineth/veil@latest status --workspace .
34
28
  ```
35
29
 
36
- ## MCP Tools
37
-
38
- Available Veil MCP tools:
39
-
40
- | | Tool | Description |
41
- | --- | --- | --- |
42
- | - | `status` | Index status and staleness reasons |
43
- | - | `refresh` | Full or changed index refresh |
44
- | - | `files` | File path substring lookup |
45
- | - | `symbols` | Symbol name lookup |
46
- | - | `search` | Indexed code chunk search |
47
- | - | `lookup` | Intent-aware contextual retrieval with explainability |
48
- | - | `discover` | Combined status and focused retrieval in one call |
49
- | - | `web_search` | No-key web search (`google`, `duckduckgo`, `wikipedia`, `github`, `reddit`, `deepwiki`) |
50
- | - | `fetch_url` | Markdown-first URL content fetch |
51
- | - | `git_status` | Branch and workspace state |
52
- | - | `git_log` | Commit history lookup |
53
- | - | `git_diff` | Uncommitted or range diff lookup |
54
- | - | `git_show` | Commit details and optional patch |
55
- | - | `gh_lookup` | GitHub issues, PRs, checks, and repo context bootstrap via `gh` |
56
- | - | `diagnostics` | Cache and latency diagnostics |
30
+ ## Install Skill
31
+
32
+ ```bash
33
+ npx -y skills add https://github.com/ushiradineth/veil/tree/main --skill veil
34
+ ```
57
35
 
58
36
  ## CLI Examples
59
37
 
60
38
  ```bash
61
39
  # status and refresh
62
- veil cli status --workspace .
63
- veil cli refresh --workspace . --mode changed
40
+ veil status --workspace .
41
+ veil init --workspace .
42
+ veil refresh --workspace . --mode changed
64
43
 
65
44
  # local index retrieval
66
- veil cli discover --workspace . --query "find build logic"
67
- veil cli lookup --workspace . --query "where is parseNdjson defined"
45
+ veil discover --workspace . --query "find build logic"
46
+ veil lookup --workspace . --query "where is parseNdjson defined"
47
+ veil search --workspace . --query "pnpm install"
68
48
 
69
49
  # web and fetch
70
- veil cli web-search --query "typescript language server" --limit 5
71
- veil cli fetch-url --url https://example.com --format markdown
50
+ veil web-search --query "typescript language server" --limit 5
51
+ veil fetch-url --url https://www.iana.org/domains/reserved --format markdown
72
52
 
73
53
  # git and github context
74
- veil cli git-status --workspace .
75
- veil cli git-log --workspace . --limit 10
76
- veil cli git-diff --workspace .
77
- veil cli git-show --workspace . --rev HEAD
78
- veil cli gh-lookup --repo owner/repo --kind issues --query "is:open"
54
+ veil git-status --workspace .
55
+ veil git-log --workspace . --limit 10
56
+ veil git-diff --workspace .
57
+ veil git-show --workspace . --rev HEAD
58
+ veil gh-lookup --repo ushiradineth/veil --kind repo_context
79
59
 
80
60
  # diagnostics
81
- veil cli diagnostics
82
- ```
61
+ veil diagnostics
83
62
 
84
- ## MCP Client Configuration
63
+ # optional MCP server
64
+ veil mcp server
85
65
 
86
- <details>
87
- <summary>Codex</summary>
88
- Follow the <a href="https://developers.openai.com/codex/mcp/#configure-with-the-cli">configure MCP guide</a>
89
- using the standard config from above. You can also install Veil using the Codex CLI:
90
-
91
- ```bash
92
- codex mcp add veil -- npx -y @ushiradineth/veil@latest server
93
66
  ```
94
67
 
95
- </details>
68
+ ## Commands
96
69
 
97
- <details>
98
- <summary>Claude Code</summary>
70
+ - `status`, `init`, `refresh`
71
+ - `discover`, `lookup`, `files`, `symbols`, `search`
72
+ - `web-search`, `fetch-url`
73
+ - `git-status`, `git-log`, `git-diff`, `git-show`, `gh-lookup`
74
+ - `diagnostics`
99
75
 
100
- Install via CLI:
76
+ ## Development Commands
101
77
 
102
78
  ```bash
103
- claude mcp add --scope user veil -- npx -y @ushiradineth/veil@latest server
79
+ nix run nixpkgs#bun -- install
80
+ nix run nixpkgs#bun -- run lint
81
+ nix run nixpkgs#bun -- test ./src/test.ts
104
82
  ```
105
83
 
106
- See the <a href="https://code.claude.com/docs/en/mcp">Claude Code MCP guide</a> for more details.
107
-
108
- </details>
84
+ ## Benchmark A/B
109
85
 
110
- <details>
111
- <summary>OpenCode</summary>
86
+ Run A/B strategy benchmarks (Veil MCP vs Veil CLI+skill) with competitor cells:
112
87
 
113
- Add the following configuration to your `opencode.json` file. If you do not have one, create it at `~/.config/opencode/opencode.json` (<a href="https://opencode.ai/docs/mcp-servers">guide</a>):
114
-
115
- ```json
116
- {
117
- "$schema": "https://opencode.ai/config.json",
118
- "mcp": {
119
- "veil": {
120
- "type": "local",
121
- "command": ["npx", "-y", "@ushiradineth/veil@latest", "server"]
122
- }
123
- }
124
- }
88
+ ```bash
89
+ nix run nixpkgs#bun -- run src/bench-suite.ts --workspace /path/to/repo --agents veil,firecrawl --strategies mcp_transport,cli_skill --profile smoke --cold 1 --warm 1
125
90
  ```
126
91
 
127
- </details>
92
+ ## Release
128
93
 
129
- <details>
130
- <summary>Cursor</summary>
94
+ Releases follow a trunk-gated PR promotion flow.
131
95
 
132
- Click to install:
96
+ 1. Dispatch the `Release` workflow from `main` with a bump type (`patch`, `minor`, `major`).
97
+ This creates a `release/vX.Y.Z` branch and opens a PR to `main`.
98
+ 2. CI runs on the PR. Merge when checks pass.
99
+ 3. Merging triggers the `Publish` workflow which tags, publishes to npm, creates a GitHub release,
100
+ and updates the Homebrew formula in the tap repository.
133
101
 
134
- [<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Install in Cursor">](https://cursor.com/en/install-mcp?name=veil&config=eyJjb21tYW5kIjoibnB4IC15IEB1c2hpcmFkaW5ldGgvdmVpbEBsYXRlc3Qgc2VydmVyIn0%3D)
102
+ Required GitHub secrets:
135
103
 
136
- Or install manually in `Cursor Settings` -> `MCP` -> `New MCP Server` with:
104
+ | Secret | Purpose |
105
+ | --------------------------- | ---------------------------------------------- |
106
+ | `NPM_TOKEN` | Publish to npm registry |
107
+ | `RELEASE_PR_TOKEN` | PAT to open release PR so CI triggers on it |
108
+ | `HOMEBREW_TAP_GITHUB_TOKEN` | PAT with write access to the Homebrew tap repo |
137
109
 
138
- ```json
139
- {
140
- "mcpServers": {
141
- "veil": {
142
- "command": "npx",
143
- "args": ["-y", "@ushiradineth/veil@latest", "server"]
144
- }
145
- }
146
- }
147
- ```
110
+ Optional repository variables:
148
111
 
149
- </details>
112
+ | Variable | Default | Purpose |
113
+ | ----------------------- | --------------------------- | ------------------------ |
114
+ | `HOMEBREW_TAP_REPO` | `ushiradineth/homebrew-tap` | Tap owner/repo |
115
+ | `HOMEBREW_FORMULA_PATH` | `Formula/veil.rb` | Formula file path in tap |
150
116
 
151
- <details>
152
- <summary>Windsurf</summary>
153
- Follow the <a href="https://docs.windsurf.com/windsurf/cascade/mcp#mcp-config-json">configure MCP guide</a>
154
- using the standard config from above.
155
- </details>
117
+ Branch protection on `main` should require the `CI / test` check context before merge.