lacy 1.8.17 → 1.8.20

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 (109) hide show
  1. package/README.md +31 -201
  2. package/{packages/lacy/index.mjs → index.mjs} +0 -0
  3. package/package.json +27 -42
  4. package/.claude/settings.local.json +0 -26
  5. package/.github/FUNDING.yml +0 -3
  6. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -49
  7. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  8. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -28
  9. package/.github/PULL_REQUEST_TEMPLATE.md +0 -17
  10. package/.github/SECURITY.md +0 -32
  11. package/.github/assets/logo-horizontal-dark.png +0 -0
  12. package/.github/assets/logo-horizontal-dark.svg +0 -17
  13. package/.github/assets/logo-horizontal.png +0 -0
  14. package/.github/assets/logo-horizontal.svg +0 -17
  15. package/.github/assets/logo.png +0 -0
  16. package/.github/assets/logo.svg +0 -12
  17. package/.github/assets/social-preview.png +0 -0
  18. package/.github/assets/social-preview.svg +0 -50
  19. package/.github/dependabot.yml +0 -21
  20. package/.github/workflows/ci.yml +0 -80
  21. package/.github/workflows/dependabot-auto-merge.yml +0 -32
  22. package/CHANGELOG.md +0 -366
  23. package/CLAUDE.md +0 -340
  24. package/CONTRIBUTING.md +0 -141
  25. package/LICENSE +0 -110
  26. package/RELEASING.md +0 -148
  27. package/STYLE.md +0 -202
  28. package/assets/hero.jpeg +0 -0
  29. package/assets/mode-indicators.jpeg +0 -0
  30. package/assets/real-time-indicator.jpeg +0 -0
  31. package/assets/supported-tools.jpeg +0 -0
  32. package/bin/lacy +0 -1030
  33. package/docs/ADDING-BACKENDS.md +0 -124
  34. package/docs/DEVTO-ARTICLE.md +0 -94
  35. package/docs/DOCS.md +0 -68
  36. package/docs/GROWTH-STRATEGY.md +0 -119
  37. package/docs/HN-RESPONSES.md +0 -122
  38. package/docs/LAUNCH-COPY-FINAL.md +0 -105
  39. package/docs/MARKETING.md +0 -411
  40. package/docs/NATURAL_LANGUAGE_DETECTION.md +0 -204
  41. package/docs/UGC_VIDEO_SCRIPT.md +0 -114
  42. package/docs/articles/devto-how-i-made-my-terminal-understand-english.md +0 -117
  43. package/docs/demo-color-transition.gif +0 -0
  44. package/docs/demo-full.gif +0 -0
  45. package/docs/demo-indicator.gif +0 -0
  46. package/docs/launch-thread-may6.sh +0 -158
  47. package/docs/videos/README.md +0 -189
  48. package/docs/videos/generate_frames.py +0 -510
  49. package/docs/videos/generate_frames_v2.py +0 -729
  50. package/docs/videos/generate_short.py +0 -328
  51. package/docs/videos/generate_short_v2.py +0 -526
  52. package/docs/videos/lacy-shell-demo-v2.mp4 +0 -0
  53. package/docs/videos/lacy-shell-demo.mp4 +0 -0
  54. package/docs/videos/lacy-shell-short-v2.mp4 +0 -0
  55. package/docs/videos/lacy-shell-short.mp4 +0 -0
  56. package/install.sh +0 -1009
  57. package/lacy.plugin.bash +0 -75
  58. package/lacy.plugin.fish +0 -43
  59. package/lacy.plugin.zsh +0 -65
  60. package/lib/animations.zsh +0 -3
  61. package/lib/bash/completions.bash +0 -40
  62. package/lib/bash/execute.bash +0 -233
  63. package/lib/bash/init.bash +0 -40
  64. package/lib/bash/keybindings.bash +0 -134
  65. package/lib/bash/prompt.bash +0 -85
  66. package/lib/commands/info.sh +0 -25
  67. package/lib/config.zsh +0 -3
  68. package/lib/constants.zsh +0 -3
  69. package/lib/core/animations.sh +0 -271
  70. package/lib/core/commands.sh +0 -297
  71. package/lib/core/config.sh +0 -340
  72. package/lib/core/constants.sh +0 -366
  73. package/lib/core/context.sh +0 -260
  74. package/lib/core/detection.sh +0 -417
  75. package/lib/core/mcp.sh +0 -741
  76. package/lib/core/modes.sh +0 -123
  77. package/lib/core/preheat.sh +0 -496
  78. package/lib/core/spinner.sh +0 -174
  79. package/lib/core/telemetry.sh +0 -99
  80. package/lib/detection.zsh +0 -3
  81. package/lib/execute.zsh +0 -3
  82. package/lib/fish/config.fish +0 -66
  83. package/lib/fish/detection.fish +0 -90
  84. package/lib/fish/execute.fish +0 -105
  85. package/lib/fish/keybindings.fish +0 -42
  86. package/lib/fish/prompt.fish +0 -30
  87. package/lib/keybindings.zsh +0 -3
  88. package/lib/mcp.zsh +0 -3
  89. package/lib/modes.zsh +0 -3
  90. package/lib/preheat.zsh +0 -3
  91. package/lib/prompt.zsh +0 -3
  92. package/lib/spinner.zsh +0 -3
  93. package/lib/zsh/completions.zsh +0 -60
  94. package/lib/zsh/execute.zsh +0 -294
  95. package/lib/zsh/init.zsh +0 -26
  96. package/lib/zsh/keybindings.zsh +0 -551
  97. package/lib/zsh/prompt.zsh +0 -90
  98. package/packages/lacy/README.md +0 -61
  99. package/packages/lacy/commands/info.sh +0 -25
  100. package/packages/lacy/package-lock.json +0 -71
  101. package/packages/lacy/package.json +0 -42
  102. package/script/release.ts +0 -487
  103. package/squirrel.toml +0 -36
  104. package/tests/test_bash.bash +0 -163
  105. package/tests/test_core.sh +0 -607
  106. package/tests/test_gemini.sh +0 -119
  107. package/tests/test_gemini_mcp.sh +0 -126
  108. package/tests/test_preheat_server.zsh +0 -446
  109. package/uninstall.sh +0 -63
package/README.md CHANGED
@@ -1,231 +1,61 @@
1
- <p align="center">
2
- <a href="https://lacy.sh">
3
- <picture>
4
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/lacymorrow/lacy/HEAD/.github/assets/logo-horizontal-dark.svg">
5
- <img src="https://raw.githubusercontent.com/lacymorrow/lacy/HEAD/.github/assets/logo-horizontal.svg" alt="Lacy" width="220">
6
- </picture>
7
- </a>
8
- </p>
1
+ # lacy
9
2
 
10
- <p align="center"><strong>Talk to your shell.</strong> Commands run. Questions go to AI. No prefixes. No context switching. You just type.</p>
11
-
12
- <p align="center">
13
- <a href="https://www.npmjs.com/package/lacy"><img alt="npm version" src="https://img.shields.io/npm/v/lacy?style=flat"></a>
14
- <a href="https://www.npmjs.com/package/lacy"><img alt="npm downloads" src="https://img.shields.io/npm/dm/lacy?style=flat"></a>
15
- <a href="https://github.com/lacymorrow/lacy/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/lacymorrow/lacy/ci.yml?style=flat&label=CI"></a>
16
- <a href="https://github.com/lacymorrow/lacy/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/lacymorrow/lacy?style=flat"></a>
17
- <a href="https://fsl.software"><img alt="License: FSL-1.1-MIT" src="https://img.shields.io/badge/License-FSL--1.1--MIT-blue?style=flat"></a>
18
- </p>
19
-
20
- <p align="center">
21
- <img src="https://raw.githubusercontent.com/lacymorrow/lacy/HEAD/docs/demo-full.gif" alt="Lacy Shell demo — commands run in shell, questions go to AI" width="680" />
22
- </p>
23
-
24
- ## Why Lacy?
25
-
26
- - **No new tools to learn** — Lacy works with your existing AI CLI (Claude Code, Gemini, OpenCode, Codex, Lash). It's a complement, not a replacement.
27
- - **Zero friction** — No slash commands, no hotkeys, no separate terminal. Type naturally and Lacy routes it. A real-time color indicator shows you what will happen before you press enter.
28
- - **Smart detection** — Lacy classifies input using word analysis, not AI. It's instant. Commands like `ls -la` stay green (shell). Questions like `what files are here` turn magenta (AI). If a command fails with natural language patterns, it silently reroutes to AI.
29
-
30
- > *Works with ZSH and Bash 4+ on macOS, Linux, and WSL.*
3
+ Interactive installer for [Lacy Shell](https://github.com/lacymorrow/lacy) talk directly to your shell.
31
4
 
32
5
  ## Install
33
6
 
34
- > Supported installation methods: `npm`, `curl`, `homebrew`, `git`
35
-
36
- #### Install using `npx`
37
-
38
7
  ```bash
39
8
  npx lacy
40
9
  ```
41
10
 
42
- #### Install using `curl`
11
+ Features:
12
+ - Arrow-key tool selection
13
+ - Auto-detects installed AI CLI tools
14
+ - Offers to install lash if selected
15
+ - Automatic shell restart
43
16
 
44
- ```bash
45
- curl -fsSL https://lacy.sh/install | bash
46
- ```
47
-
48
- <details>
49
- <summary>Other methods</summary>
17
+ ## Uninstall
50
18
 
51
19
  ```bash
52
- # Homebrew
53
- brew tap lacymorrow/tap
54
- brew install lacy
55
-
56
- # Manual
57
- git clone https://github.com/lacymorrow/lacy.git ~/.lacy
58
- echo 'source ~/.lacy/lacy.plugin.zsh' >> ~/.zshrc
20
+ npx lacy --uninstall
59
21
  ```
60
22
 
61
- </details>
23
+ ## Options
62
24
 
63
- ## How It Works
64
-
65
- Real-time visual feedback shows what will happen before you hit enter:
66
-
67
- <p align="center">
68
- <img src="https://raw.githubusercontent.com/lacymorrow/lacy/HEAD/docs/demo-indicator.gif" alt="Green indicator for shell commands, magenta for AI" width="680" />
69
- </p>
70
-
71
- Commands execute in your shell. Natural language goes to your AI agent. No prefixes, no context switching — you just type.
72
-
73
- | Input | Routes to | Why |
74
- | ------------------------------ | ---------- | ------------------------------------------- |
75
- | `ls -la` | Shell | Valid command |
76
- | `what files are here` | AI | Natural language |
77
- | `git status` | Shell | Valid command |
78
- | `do we have a way to install?` | AI | Reserved word — never a real command |
79
- | `fix the bug` | AI | Multi-word, not a command |
80
- | `kill the process on 3000` | Shell → AI | Valid command, but fails — rerouted |
81
- | `go ahead and fix it` | Shell → AI | "go" is valid, but "ahead" triggers reroute |
82
- | `!rm -rf *` | Shell | `!` prefix forces shell |
83
-
84
- The first word of your input is also syntax-highlighted in real-time: **green** for shell commands, **magenta** for AI queries.
85
-
86
- **Smart rerouting** (auto mode): When a valid command contains natural language patterns (3+ bare words with articles, pronouns, etc.) and fails, lacy shows a hint and automatically re-sends it to the AI agent. Shell reserved words like `do`, `then`, `in`, `else` are routed directly to the agent — they pass `command -v` but are never standalone commands.
87
-
88
- **Terminal context**: When you ask the AI a question, lacy automatically includes your current directory, git branch, recent commands, and exit codes, but only what changed since your last query. In supported terminals (tmux, screen, iTerm2, Terminal.app), it also captures the visible screen output so the agent can see error messages and stack traces.
89
-
90
- ## Modes
91
-
92
- <p align="center">
93
- <img src="https://raw.githubusercontent.com/lacymorrow/lacy/HEAD/assets/mode-indicators.jpeg" alt="Shell and Agent mode indicators" width="480" />
94
- </p>
95
-
96
- | Mode | Behavior | Activate |
97
- | --------- | ----------------------- | ---------------------------- |
98
- | **Auto** | Smart routing (default) | `mode auto` |
99
- | **Shell** | Everything to shell | `mode shell` or `Ctrl+Space` |
100
- | **Agent** | Everything to AI | `mode agent` or `Ctrl+Space` |
101
-
102
- ## Supported Tools
103
-
104
- Lacy auto-detects your installed AI CLI. All tools handle their own auth — no API keys needed.
105
-
106
- <p align="center">
107
- <img src="https://raw.githubusercontent.com/lacymorrow/lacy/HEAD/assets/supported-tools.jpeg" alt="Supported AI CLI tools" width="680" />
108
- </p>
109
-
110
- ```bash
111
- tool set claude # Use Claude Code
112
- tool set lash # Use Lash
113
- tool set auto # Auto-detect (first available)
114
25
  ```
26
+ Usage:
27
+ npx lacy Install Lacy Shell
28
+ npx lacy --uninstall Uninstall Lacy Shell
115
29
 
116
- Or edit `~/.lacy/config.yaml`:
117
-
118
- ```yaml
119
- agent_tools:
120
- active: claude # lash, claude, opencode, gemini, codex, custom, or empty for auto
30
+ Options:
31
+ -h, --help Show help message
32
+ -u, --uninstall Uninstall Lacy Shell
121
33
  ```
122
34
 
123
- ## Commands
124
-
125
- | Command | Description |
126
- | --------------------------- | -------------------- |
127
- | `mode` | Show current mode |
128
- | `mode [shell\|agent\|auto]` | Switch mode |
129
- | `tool` | Show active AI tool |
130
- | `tool set <name>` | Set AI tool |
131
- | `ask "query"` | Direct query to AI |
132
- | `Ctrl+Space` | Toggle between modes |
35
+ ## What is Lacy Shell?
133
36
 
134
- ## CLI
37
+ Lacy routes natural language to AI and commands to your shell — automatically.
135
38
 
136
- After installation, the `lacy` command is available (no Node required):
137
-
138
- ```bash
139
- lacy setup # Interactive settings (tool, mode, config)
140
- lacy status # Show installation status
141
- lacy doctor # Diagnose common issues
142
- lacy update # Pull latest changes
143
- lacy config edit # Open config in $EDITOR
144
- lacy uninstall # Remove Lacy Shell
145
- lacy help # Show all commands
146
39
  ```
147
-
148
- ## Uninstall
149
-
150
- ```bash
151
- lacy uninstall
152
- # or
153
- npx lacy --uninstall
154
- # or
155
- curl -fsSL https://lacy.sh/install | bash -s -- --uninstall
40
+ ❯ ls -la → runs in shell
41
+ what files are here → AI answers
42
+ ❯ git status → runs in shell
43
+ ❯ fix the build error → AI answers
156
44
  ```
157
45
 
158
- ## Configuration
159
-
160
- Config file: `~/.lacy/config.yaml`
161
-
162
- ```yaml
163
- agent_tools:
164
- active: claude # lash, claude, opencode, gemini, codex, or empty for auto
165
-
166
- modes:
167
- default: auto # shell, agent, auto
168
-
169
- api_keys:
170
- openai: "sk-..." # Only needed if no CLI tool installed
171
- anthropic: "sk-ant-..."
172
- ```
173
-
174
- ## Troubleshooting
175
-
176
- **No AI response** — Check `tool` to see if a tool is detected. Install one: `npm i -g lashcode` or `brew install claude`.
177
-
178
- **Colors not showing** — Ensure your terminal supports 256 colors (green=34, magenta=200, blue=75).
179
-
180
- **Command rerouted unexpectedly** — In auto mode, commands with natural language patterns that fail are re-sent to the AI. Switch to `mode shell` to disable this, or prefix with `!`.
181
-
182
- **Emergency bypass** — Prefix any command with `!` to force shell execution: `!rm -rf node_modules`
46
+ Works with: **lash**, **claude**, **opencode**, **gemini**, **codex**
183
47
 
184
- ## Releasing
185
-
186
- Requires [Bun](https://bun.sh), [gh](https://cli.github.com), and `npm login`.
48
+ ## Alternative Install Methods
187
49
 
188
50
  ```bash
189
- bun run release # interactive — prompts for patch/minor/major
190
- bun run release patch # patch bump (1.5.3 1.5.4)
191
- bun run release minor # minor bump (1.5.3 → 1.6.0)
192
- bun run release major # major bump (1.5.3 → 2.0.0)
193
- bun run release 2.0.0 # explicit version
194
- ```
195
-
196
- The script handles the full release flow:
197
-
198
- 1. Bumps version in both `package.json` files
199
- 2. Commits with `release: v<version>` and tags
200
- 3. Pushes to GitHub and creates a GitHub release
201
- 4. Publishes the npm package (prompts for OTP if required)
202
-
203
- ## Support This Project
204
-
205
- Lacy Shell is free and open source. If it saves you time, consider sponsoring the project:
206
-
207
- [![Sponsor](https://img.shields.io/badge/Sponsor-❤-ea4aaa?style=for-the-badge&logo=github)](https://github.com/sponsors/lacymorrow)
208
-
209
- Your support keeps development active and helps cover infrastructure costs.
210
-
211
- ## Contributors Welcome
212
-
213
- Lacy is open source and contributions are welcome! Whether you're fixing a typo, adding a feature, or improving docs, we'd love your help.
214
-
215
- - **[Good First Issues](https://github.com/lacymorrow/lacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)** -- great starting points for new contributors
216
- - **[Contributing Guide](CONTRIBUTING.md)** -- dev setup, code style, and PR process
217
- - **[Discussions](https://github.com/lacymorrow/lacy/discussions)** -- questions, ideas, and general chat
218
-
219
- ## Star History
51
+ # curl
52
+ curl -fsSL https://lacy.sh/install | bash
220
53
 
221
- <a href="https://star-history.com/#lacymorrow/lacy&Date">
222
- <picture>
223
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=lacymorrow/lacy&type=Date&theme=dark" />
224
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=lacymorrow/lacy&type=Date" />
225
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=lacymorrow/lacy&type=Date" />
226
- </picture>
227
- </a>
54
+ # Homebrew
55
+ brew tap lacymorrow/tap
56
+ brew install lacy
57
+ ```
228
58
 
229
59
  ## License
230
60
 
231
- [FSL-1.1-MIT](LICENSE) — Functional Source License v1.1 with MIT Future License (converts to MIT after 2 years). See [fsl.software](https://fsl.software) for the full text.
61
+ MIT
File without changes
package/package.json CHANGED
@@ -1,57 +1,42 @@
1
1
  {
2
2
  "name": "lacy",
3
- "version": "1.8.17",
4
- "description": "Talk to your terminal AI agent routing for your shell",
5
- "main": "lacy.plugin.zsh",
3
+ "version": "1.8.20",
4
+ "description": "Install lacytalk to your terminal",
5
+ "type": "module",
6
+ "bin": {
7
+ "lacy": "index.mjs"
8
+ },
9
+ "files": [
10
+ "index.mjs"
11
+ ],
6
12
  "scripts": {
7
- "install": "./install.sh",
8
- "release": "bun run script/release.ts",
9
- "release:beta": "bun run script/release.ts --beta"
13
+ "start": "node index.mjs",
14
+ "release": "npm publish",
15
+ "release:beta": "npm version prerelease --preid=beta && npm publish --tag beta"
10
16
  },
11
17
  "keywords": [
18
+ "lacy",
12
19
  "shell",
13
20
  "terminal",
14
- "zsh",
15
- "bash",
16
- "shell-plugin",
17
- "cli",
18
21
  "ai",
22
+ "cli",
23
+ "developer-tools",
19
24
  "ai-agent",
20
- "ai-shell",
21
- "mcp",
22
- "natural-language",
23
- "claude",
24
- "gemini",
25
- "opencode",
26
- "codex",
27
- "developer-tools"
25
+ "natural-language"
28
26
  ],
29
- "author": "Lacy Shell Team",
30
- "license": "FSL-1.1-MIT",
31
- "dependencies": {},
32
- "devDependencies": {
33
- "@clack/prompts": "^1.0.0",
34
- "picocolors": "^1.0.0"
35
- },
36
- "engines": {
37
- "node": ">=18.0.0"
38
- },
27
+ "author": "Lacy Morrow",
28
+ "license": "MIT",
39
29
  "repository": {
40
30
  "type": "git",
41
- "url": "git+https://github.com/lacymorrow/lacy.git"
42
- },
43
- "bugs": {
44
- "url": "https://github.com/lacymorrow/lacy/issues"
31
+ "url": "git+https://github.com/lacymorrow/lacy.git",
32
+ "directory": "packages/lacy"
45
33
  },
46
34
  "homepage": "https://lacy.sh",
47
- "funding": [
48
- {
49
- "type": "github",
50
- "url": "https://github.com/sponsors/lacymorrow"
51
- },
52
- {
53
- "type": "individual",
54
- "url": "https://www.buymeacoffee.com/lm"
55
- }
56
- ]
35
+ "dependencies": {
36
+ "@clack/prompts": "^0.7.0",
37
+ "picocolors": "^1.0.0"
38
+ },
39
+ "engines": {
40
+ "node": ">=18"
41
+ }
57
42
  }
@@ -1,26 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "mcp__obs__get_obs_status",
5
- "mcp__obs__list_tool_groups",
6
- "mcp__obs__list_scenes",
7
- "WebSearch",
8
- "WebFetch(domain:syntax.fm)",
9
- "WebFetch(domain:www.mux.com)",
10
- "Bash(lsof:*)",
11
- "Bash(/opt/homebrew/bin/bash:*)",
12
- "Bash(npx next build:*)",
13
- "WebFetch(domain:github.com)",
14
- "WebFetch(domain:opencode.ai)",
15
- "WebFetch(domain:deepwiki.com)",
16
- "WebFetch(domain:opencodeguide.com)",
17
- "WebFetch(domain:developers.openai.com)",
18
- "WebFetch(domain:geminicli.com)"
19
- ]
20
- },
21
- "enabledMcpjsonServers": [
22
- "obs",
23
- "dns-analytics"
24
- ],
25
- "enableAllProjectMcpServers": true
26
- }
@@ -1,3 +0,0 @@
1
- github: [lacymorrow]
2
- patreon: lacymorrow
3
- custom: ["https://buymeacoffee.com/lm", "https://lacymorrow.com/donate"]
@@ -1,49 +0,0 @@
1
- name: Bug Report
2
- description: Something isn't working as expected
3
- labels: ["bug"]
4
- body:
5
- - type: input
6
- id: shell
7
- attributes:
8
- label: Shell
9
- description: Which shell are you using?
10
- placeholder: "zsh 5.9 / bash 5.2"
11
- validations:
12
- required: true
13
- - type: input
14
- id: os
15
- attributes:
16
- label: OS
17
- placeholder: "macOS 15.1 / Ubuntu 24.04 / WSL2"
18
- validations:
19
- required: true
20
- - type: input
21
- id: ai-tool
22
- attributes:
23
- label: AI tool
24
- description: Which AI CLI are you using with Lacy?
25
- placeholder: "claude / lash / opencode / gemini / codex / none yet"
26
- - type: input
27
- id: version
28
- attributes:
29
- label: Lacy version
30
- description: "Run `lacy version` to check"
31
- placeholder: "1.8.11"
32
- - type: textarea
33
- id: what-happened
34
- attributes:
35
- label: What happened?
36
- description: What did you type and what went wrong?
37
- validations:
38
- required: true
39
- - type: textarea
40
- id: expected
41
- attributes:
42
- label: Expected behavior
43
- description: What should have happened?
44
- - type: textarea
45
- id: doctor
46
- attributes:
47
- label: "lacy doctor output"
48
- description: "Paste the output of `lacy doctor` if relevant"
49
- render: shell
@@ -1,5 +0,0 @@
1
- blank_issues_enabled: true
2
- contact_links:
3
- - name: Questions & Discussion
4
- url: https://github.com/lacymorrow/lacy/discussions
5
- about: Ask questions and share your setup in Discussions
@@ -1,28 +0,0 @@
1
- name: Feature Request
2
- description: Suggest an improvement or new feature
3
- labels: ["enhancement"]
4
- body:
5
- - type: textarea
6
- id: description
7
- attributes:
8
- label: What would you like?
9
- description: Describe the feature or improvement
10
- validations:
11
- required: true
12
- - type: textarea
13
- id: use-case
14
- attributes:
15
- label: Use case
16
- description: When would you use this? What problem does it solve?
17
- - type: dropdown
18
- id: area
19
- attributes:
20
- label: Area
21
- options:
22
- - Detection (how Lacy classifies input)
23
- - Indicator (visual feedback)
24
- - Tool integration (Claude, Gemini, etc.)
25
- - Installation / setup
26
- - Configuration
27
- - Shell compatibility
28
- - Other
@@ -1,17 +0,0 @@
1
- <!-- Thanks for the PR! Quick checklist below. -->
2
-
3
- ## Summary
4
-
5
- <!-- What does this change, and why? -->
6
-
7
- ## How to test
8
-
9
- ```bash
10
- npm test
11
- ```
12
-
13
- ## Checklist
14
-
15
- - [ ] `npm test` passes locally
16
- - [ ] Updated the README if a public option changed
17
- - [ ] PR is focused (one logical change)
@@ -1,32 +0,0 @@
1
- # Security Policy
2
-
3
- ## Reporting a vulnerability
4
-
5
- Lacy intercepts every command you type and routes it either to the shell or to an AI backend. The security-relevant surfaces are:
6
-
7
- - Command classification / routing logic (does a destructive command stay shell-side as intended?)
8
- - Backend command construction (no shell injection when forwarding to `claude`, `gemini`, `opencode`, `codex`, `lash`)
9
- - Credential leakage in fallback paths or panic logs
10
-
11
- If you've found a security issue, please report it privately:
12
-
13
- ➔ https://github.com/lacymorrow/lacy/security/advisories/new
14
-
15
- Or email **lacy@lacymorrow.com** with `[lacy security]` in the subject line.
16
-
17
- Expect an acknowledgement within 72 hours.
18
-
19
- ## Supported versions
20
-
21
- Only the latest published version on npm / Homebrew / install.sh receives security updates.
22
-
23
- ## Scope
24
-
25
- In scope:
26
- - The `lacy` zsh/bash/fish plugins
27
- - `install.sh` / `uninstall.sh`
28
- - The Node CLI shim (`lib/`)
29
-
30
- Out of scope:
31
- - Vulnerabilities in upstream AI CLIs (`claude`, `gemini`, `opencode`, `codex`, `lash`) — report to those repos
32
- - Issues that require an attacker who already has shell access on your machine
@@ -1,17 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 200" fill="none">
2
- <title>lacy</title>
3
- <g transform="translate(20, 20)">
4
- <rect x="0" y="0" width="160" height="160" rx="34" fill="#10b981"/>
5
- <path d="M45 50 L75 80 L45 110" stroke="#ffffff" stroke-width="14" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
6
- <rect x="82" y="104" width="44" height="10" rx="3" fill="#ffffff"/>
7
- </g>
8
- <text
9
- x="210"
10
- y="132"
11
- font-family="ui-sans-serif, system-ui, -apple-system, 'Inter', 'Segoe UI', Roboto, sans-serif"
12
- font-size="120"
13
- font-weight="800"
14
- letter-spacing="-6"
15
- fill="#fafafa"
16
- >lacy</text>
17
- </svg>
Binary file
@@ -1,17 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 200" fill="none">
2
- <title>lacy</title>
3
- <g transform="translate(20, 20)">
4
- <rect x="0" y="0" width="160" height="160" rx="34" fill="#10b981"/>
5
- <path d="M45 50 L75 80 L45 110" stroke="#ffffff" stroke-width="14" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
6
- <rect x="82" y="104" width="44" height="10" rx="3" fill="#ffffff"/>
7
- </g>
8
- <text
9
- x="210"
10
- y="132"
11
- font-family="ui-sans-serif, system-ui, -apple-system, 'Inter', 'Segoe UI', Roboto, sans-serif"
12
- font-size="120"
13
- font-weight="800"
14
- letter-spacing="-6"
15
- fill="#1a0b1f"
16
- >lacy</text>
17
- </svg>
Binary file
@@ -1,12 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="none">
2
- <title>lacy</title>
3
- <!-- Rounded square — terminal emerald -->
4
- <rect x="16" y="16" width="224" height="224" rx="48" fill="#10b981"/>
5
- <!-- Shell prompt: `>_` glyph -->
6
- <g fill="#ffffff">
7
- <!-- Chevron > -->
8
- <path d="M70 80 L110 128 L70 176" stroke="#ffffff" stroke-width="20" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
9
- <!-- Underscore cursor -->
10
- <rect x="124" y="166" width="68" height="14" rx="4"/>
11
- </g>
12
- </svg>
Binary file