# Lynecode
```text
██╗ ██╗ ██╗███╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ███████╗
██║ ╚██╗ ██╔╝████╗ ██║██╔════╝ ██╔════╝██╔═══██╗██╔══██╗██╔════╝
██║ ╚████╔╝ ██╔██╗ ██║█████╗ ██║ ██║ ██║██║ ██║█████╗
██║ ╚██╔╝ ██║╚██╗██║██╔══╝ ██║ ██║ ██║██║ ██║██╔══╝
███████╗██║ ██║ ╚████║███████╗ ╚██████╗╚██████╔╝██████╔╝███████╗
╚══════╝╚═╝ ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
```
Lynecode is an AI coding assistant from LyneLabs. It brings a fast terminal UI, built-in project indexing, an opinionated toolset, and optional AI models (OpenAI, Gemini, Azure OpenAI) with your keys. Run it on any folder and work from a powerful chat workflow.
## Why Lynecode is different
- Integrated version control safety net: Lyne maintains its own backup snapshots (`time_machine` in your target path). You can explore diffs and restore changes without relying solely on git.
- Built-in analyzers and guards: Bug and code quality analyzers help spot issues quickly (without exposing internal implementation). Optional static checks are available via extras.
- Context-rich workflow: Attach files/folders inline, fuzzy-find by name, and navigate conversations with a clear menu.
- Model agnostic: Bring your own keys for OpenAI, Google Gemini, or Azure OpenAI and switch models on the fly.
## Installation
```bash
pip install lynecode
```
Python 3.9+ is recommended.
## Quick start
- Run on a specific path:
```bash
lynecode "D:/projects/myrepo"
```
- Or from your current working directory (Lynecode resolves to an absolute path):
```bash
lynecode
```
## Basic usage
Once launched, you’ll see a banner and a prompt. Type your request or use the in-app menus:
- Show navigation menu: `/menu`
- Help: `/help`
- Switch conversations: `/chats`
- Model settings: `/model` or `/switch <model>`
- Quit: `quit`
### Attach files/folders inline
- Attach a file: add `/file:<name_or_term>` inside your message
- Attach a folder: add `/folder:<name_or_term>` inside your message
Lynecode will fuzzy-match and help you pick the right target, then keep attachments visible after responses.
## Choosing and switching models
- Open the model menu from navigation (`/menu` → “Model Settings”) or run `/model`.
- Switch directly with `/switch <model_name>`.
- The default model is used if configured.
Supported providers (bring your own keys):
- OpenAI (e.g., `gpt-4.1`, `gpt-5`)
- Google Gemini (e.g., `gemini-2.5-flash`, `gemini-2.5-pro`, with optional “-thinking” variants)
- Azure OpenAI (your deployment name)
- OpenRouter (e.g., `x-ai/grok-4-fast:free`, `openai/gpt-4o` via OpenRouter)
## Configure API keys (secure, menu-driven)
Launch the API Configuration from the navigation menu:
- `/menu` → “API Configuration”
Follow prompts to set keys:
- OpenAI: API key (`sk-...`)
- Gemini: API key
- Azure OpenAI: API key, endpoint, API version (optional), and deployment name
Keys are stored securely via Lynecode’s config manager and masked in the UI.
**Note:** After updating any API key or provider configuration, restart Lynecode to apply changes.
## Built-in version control workflow
Lynecode automatically creates a hidden `time_machine` folder inside the target directory. It’s your safety-net:
- Auto snapshots around operations
- View diffs and restore via the Version Control menu
- Works even if the target folder is not a git repo
Open from navigation:
- `/menu` → “Version Control”
## Feature highlights
- Intelligent file edits (create/replace/delete blocks)
- Project-wide searching (grep/AST-backed and fuzzy indexing)
- Web reading and search helpers
- Conversation history with attachments
- Rich terminal output where supported; plain fallback otherwise
## Compare: Lynecode vs Cline/Gemini CLI
- Safety first: Lynecode’s built-in snapshotting means quick rollback without external VCS.
- Deep project tooling: File block edits, AST/grep, and fuzzy search integrated in one place.
- Menu-driven UX: Rich menus for models, API setup, attachments, version control.
- Provider-agnostic: Switch between OpenAI, Gemini, or Azure OpenAI at runtime.
## Troubleshooting
- If terminal colors aren’t showing, Lynecode falls back to plain text automatically.
- Ensure your API keys are valid (placeholders are detected and blocked with helpful messages).
## Uninstall
```bash
pip uninstall lynecode
```
Raw data
{
"_id": null,
"home_page": null,
"name": "lynecode",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "terminal, ai agent, code, AI Coding tool, coding assistant, ai",
"author": "MD ZAID ANWAR",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c2/f3/3f242bc949c6803382cfb85aa5f4a3b7f71dcf2ca464842039a86550e03e/lynecode-0.3.0.tar.gz",
"platform": null,
"description": "# Lynecode\r\n\r\n```text\r\n \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\r\n \u2588\u2588\u2551 \u255a\u2588\u2588\u2557 \u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\r\n \u2588\u2588\u2551 \u255a\u2588\u2588\u2588\u2588\u2554\u255d \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \r\n \u2588\u2588\u2551 \u255a\u2588\u2588\u2554\u255d \u2588\u2588\u2551\u255a\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255d \r\n \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551 \u255a\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\r\n \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u2550\u2550\u255d\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\r\n```\r\n\r\nLynecode is an AI coding assistant from LyneLabs. It brings a fast terminal UI, built-in project indexing, an opinionated toolset, and optional AI models (OpenAI, Gemini, Azure OpenAI) with your keys. Run it on any folder and work from a powerful chat workflow.\r\n\r\n## Why Lynecode is different\r\n- Integrated version control safety net: Lyne maintains its own backup snapshots (`time_machine` in your target path). You can explore diffs and restore changes without relying solely on git.\r\n- Built-in analyzers and guards: Bug and code quality analyzers help spot issues quickly (without exposing internal implementation). Optional static checks are available via extras.\r\n- Context-rich workflow: Attach files/folders inline, fuzzy-find by name, and navigate conversations with a clear menu.\r\n- Model agnostic: Bring your own keys for OpenAI, Google Gemini, or Azure OpenAI and switch models on the fly.\r\n\r\n## Installation\r\n```bash\r\npip install lynecode\r\n```\r\n\r\nPython 3.9+ is recommended.\r\n\r\n## Quick start\r\n- Run on a specific path:\r\n```bash\r\nlynecode \"D:/projects/myrepo\"\r\n```\r\n\r\n- Or from your current working directory (Lynecode resolves to an absolute path):\r\n```bash\r\nlynecode\r\n```\r\n\r\n## Basic usage\r\nOnce launched, you\u2019ll see a banner and a prompt. Type your request or use the in-app menus:\r\n- Show navigation menu: `/menu`\r\n- Help: `/help`\r\n- Switch conversations: `/chats`\r\n- Model settings: `/model` or `/switch <model>`\r\n- Quit: `quit`\r\n\r\n### Attach files/folders inline\r\n- Attach a file: add `/file:<name_or_term>` inside your message\r\n- Attach a folder: add `/folder:<name_or_term>` inside your message\r\nLynecode will fuzzy-match and help you pick the right target, then keep attachments visible after responses.\r\n\r\n## Choosing and switching models\r\n- Open the model menu from navigation (`/menu` \u2192 \u201cModel Settings\u201d) or run `/model`.\r\n- Switch directly with `/switch <model_name>`.\r\n- The default model is used if configured.\r\n\r\nSupported providers (bring your own keys):\r\n- OpenAI (e.g., `gpt-4.1`, `gpt-5`)\r\n- Google Gemini (e.g., `gemini-2.5-flash`, `gemini-2.5-pro`, with optional \u201c-thinking\u201d variants)\r\n- Azure OpenAI (your deployment name)\r\n- OpenRouter (e.g., `x-ai/grok-4-fast:free`, `openai/gpt-4o` via OpenRouter)\r\n\r\n## Configure API keys (secure, menu-driven)\r\nLaunch the API Configuration from the navigation menu:\r\n- `/menu` \u2192 \u201cAPI Configuration\u201d\r\n\r\nFollow prompts to set keys:\r\n- OpenAI: API key (`sk-...`)\r\n- Gemini: API key\r\n- Azure OpenAI: API key, endpoint, API version (optional), and deployment name\r\n\r\nKeys are stored securely via Lynecode\u2019s config manager and masked in the UI.\r\n\r\n**Note:** After updating any API key or provider configuration, restart Lynecode to apply changes.\r\n\r\n## Built-in version control workflow\r\nLynecode automatically creates a hidden `time_machine` folder inside the target directory. It\u2019s your safety-net:\r\n- Auto snapshots around operations\r\n- View diffs and restore via the Version Control menu\r\n- Works even if the target folder is not a git repo\r\n\r\nOpen from navigation:\r\n- `/menu` \u2192 \u201cVersion Control\u201d\r\n\r\n## Feature highlights\r\n- Intelligent file edits (create/replace/delete blocks)\r\n- Project-wide searching (grep/AST-backed and fuzzy indexing)\r\n- Web reading and search helpers\r\n- Conversation history with attachments\r\n- Rich terminal output where supported; plain fallback otherwise\r\n\r\n## Compare: Lynecode vs Cline/Gemini CLI\r\n- Safety first: Lynecode\u2019s built-in snapshotting means quick rollback without external VCS.\r\n- Deep project tooling: File block edits, AST/grep, and fuzzy search integrated in one place.\r\n- Menu-driven UX: Rich menus for models, API setup, attachments, version control.\r\n- Provider-agnostic: Switch between OpenAI, Gemini, or Azure OpenAI at runtime.\r\n\r\n## Troubleshooting\r\n- If terminal colors aren\u2019t showing, Lynecode falls back to plain text automatically.\r\n- Ensure your API keys are valid (placeholders are detected and blocked with helpful messages).\r\n\r\n## Uninstall\r\n```bash\r\npip uninstall lynecode\r\n```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Lyne: AI CODING ASSISTANT",
"version": "0.3.0",
"project_urls": null,
"split_keywords": [
"terminal",
" ai agent",
" code",
" ai coding tool",
" coding assistant",
" ai"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "55cd64fb69ec8c9c87bf8d5b16489d2a2242fd908c6091a5b0dcd5a330ea6fce",
"md5": "52ae17f92b33ed5c75380d1f5cdaf2f2",
"sha256": "a07ffa0abc4d8ae2d8323df38c421ace6009a8ccd10f9ad808276892a145614d"
},
"downloads": -1,
"filename": "lynecode-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "52ae17f92b33ed5c75380d1f5cdaf2f2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 167178,
"upload_time": "2025-10-25T16:47:49",
"upload_time_iso_8601": "2025-10-25T16:47:49.988851Z",
"url": "https://files.pythonhosted.org/packages/55/cd/64fb69ec8c9c87bf8d5b16489d2a2242fd908c6091a5b0dcd5a330ea6fce/lynecode-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c2f33f242bc949c6803382cfb85aa5f4a3b7f71dcf2ca464842039a86550e03e",
"md5": "abe5de686bef8b468f38f078c8b8fe54",
"sha256": "21e2e5a3e44423632cf44318712df8df11036fb282f97c2b96553f54f50513e4"
},
"downloads": -1,
"filename": "lynecode-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "abe5de686bef8b468f38f078c8b8fe54",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 147999,
"upload_time": "2025-10-25T16:47:52",
"upload_time_iso_8601": "2025-10-25T16:47:52.744903Z",
"url": "https://files.pythonhosted.org/packages/c2/f3/3f242bc949c6803382cfb85aa5f4a3b7f71dcf2ca464842039a86550e03e/lynecode-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-25 16:47:52",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "lynecode"
}