- Created package.json and package-lock.json for CLI package. - Implemented argument parsing in args.ts to handle various flags and commands. - Developed main CLI logic in cli.ts to execute commands and handle errors. - Added configuration loading from a JSON file in config.ts, with environment variable support. - Implemented prompt resolution and provider interaction in prompt.ts. - Added usage documentation for the CLI. - Configured TypeScript settings in tsconfig.json for the CLI package. - Updated README in vscode package to reflect the new CLI functionality. - Refactored root tsconfig.json to streamline project structure.
73 lines
2.5 KiB
Markdown
73 lines
2.5 KiB
Markdown
# LexAI
|
|
|
|
**Bring your own LLM key.** LexAI is an open-source writing (and coding) assistant with **no LexAI backend, no account, and no subscription**. Your text and API key go only to the provider you choose.
|
|
|
|
| Package | What it is | Docs |
|
|
| --- | --- | --- |
|
|
| **[packages/chrome](packages/chrome)** | Chrome MV3 extension — select text on any page → Fix / Rephrase / Shorten / Expand / Explain / Make Prompt | [README](packages/chrome/README.md) · [Chrome Web Store](https://chromewebstore.google.com/detail/bagpcheidbkfgijnnmolnkgagibbjfnk) |
|
|
| **[packages/vscode](packages/vscode)** | VS Code / Cursor extension — writing actions + workspace-aware **Code Assist** | [README](packages/vscode/README.md) · [Deploy](packages/vscode/DEPLOY.md) |
|
|
| **[packages/cli](packages/cli)** | CLI **Prompt Builder** — improve a rough idea into a paste-ready prompt | [README](packages/cli/README.md) |
|
|
|
|
Shared provider/prompt core: [`src/lib`](src/lib).
|
|
|
|
## Quick start
|
|
|
|
```bash
|
|
# Prerequisites: Node 22+
|
|
git clone https://git.juankibin.space/kibin/LexAI.git
|
|
cd LexAI
|
|
|
|
# Install all packages
|
|
npm run install:all
|
|
|
|
# Chrome extension (dev)
|
|
npm run chrome:dev
|
|
|
|
# VS Code extension
|
|
npm run vscode:build
|
|
# then F5 / Install from VSIX — see packages/vscode/README.md
|
|
|
|
# CLI Prompt Builder
|
|
npm run cli:build
|
|
export LEXAI_API_KEY=sk-... # PowerShell: $env:LEXAI_API_KEY="sk-..."
|
|
node packages/cli/out/cli.js prompt "add rate limiting to the auth routes"
|
|
```
|
|
|
|
## Repository layout
|
|
|
|
```text
|
|
LexAI/
|
|
├── packages/
|
|
│ ├── chrome/ # Manifest V3 extension (WXT + React)
|
|
│ ├── vscode/ # VS Code / Cursor extension
|
|
│ └── cli/ # lexai prompt CLI
|
|
├── src/lib/ # Shared providers, actions, types
|
|
├── tests/ # Unit + e2e tests (run via chrome package)
|
|
├── docs/ # Project operating docs (agents / planning)
|
|
└── .gitea/ # CI workflows + issue/PR templates
|
|
```
|
|
|
|
## Supported providers
|
|
|
|
OpenAI · Anthropic · Groq · OpenRouter
|
|
|
|
## Privacy
|
|
|
|
- No LexAI servers and no LexAI telemetry
|
|
- Chrome: key encrypted in `chrome.storage.local`
|
|
- VS Code: key in Secret Storage
|
|
- CLI: key via `LEXAI_API_KEY` environment variable only
|
|
|
|
## Contributing
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md) and our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
|
|
## License
|
|
|
|
[MIT](LICENSE) © LexAI contributors
|
|
|
|
## Links
|
|
|
|
- Chrome Web Store: https://chromewebstore.google.com/detail/bagpcheidbkfgijnnmolnkgagibbjfnk
|
|
- Source: https://git.juankibin.space/kibin/LexAI
|