{"id":51854131,"url":"https://github.com/beyondlex/poste.nvim","last_synced_at":"2026-07-23T23:01:51.679Z","repository":{"id":372466643,"uuid":"1307401725","full_name":"beyondlex/poste.nvim","owner":"beyondlex","description":null,"archived":false,"fork":false,"pushed_at":"2026-07-21T10:07:06.000Z","size":200,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-21T12:07:12.257Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beyondlex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-07-21T07:23:44.000Z","updated_at":"2026-07-21T11:38:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/beyondlex/poste.nvim","commit_stats":null,"previous_names":["beyondlex/poste.nvim"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/beyondlex/poste.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beyondlex%2Fposte.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beyondlex%2Fposte.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beyondlex%2Fposte.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beyondlex%2Fposte.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beyondlex","download_url":"https://codeload.github.com/beyondlex/poste.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beyondlex%2Fposte.nvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35819442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-23T02:00:06.683Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-23T23:01:49.889Z","updated_at":"2026-07-23T23:01:51.674Z","avatar_url":"https://github.com/beyondlex.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Poste\n\n**Send requests from files. Keyboard-first. Multi-protocol.**\n\nA Neovim plugin and Rust CLI for executing HTTP, SQL (PostgreSQL / MySQL / SQLite) requests from plain text files. Inspired by JetBrains HTTP Client, with focus on keyboard-driven workflows and dataset manipulation.\n\n## Features\n\n- **File-based requests** — Define requests in `.http`/`.rest` and `.sql` files\n- **Environment variables** — JetBrains-style `env.json` with `{{var}}` substitution\n- **Named connections** — `connections.json` for database credentials; supports env var references\n- **Keyboard-first** — Execute at cursor, navigate results with Vim keys, never leave home row\n- **Multi-protocol** — HTTP, PostgreSQL, MySQL, SQLite\n\n## Repositories\n\nPoste is split into three repositories:\n\n| Repo | Description |\n|------|-------------|\n| [poste.nvim](https://github.com/beyondlex/poste.nvim) | Shared infrastructure, Rust CLI, build system *(this repo)* |\n| [poste-http.nvim](https://github.com/beyondlex/poste-http.nvim) | HTTP protocol execution, Neovim UI |\n| [poste-sql.nvim](https://github.com/beyondlex/poste-sql.nvim) | SQL execution, dataset browser, schema introspection |\n\n### Architecture\n\n```\nposte.nvim/                    ← shared infra + Rust CLI\n├── crates/\n│   ├── poste-core/            # Request parsing, SQL parsing, env management\n│   ├── poste-exec/            # Protocol execution, SQL connection/dialect\n│   └── poste-cli/             # CLI binary (run / connection / introspect)\n├── lua/poste/                 # Shared Lua infra (state, select, constants, cli, etc.)\n├── plugin/poste-core.lua\n└── tests/\n\nposte-http.nvim/               ← HTTP + Redis\n├── lua/poste/http/            # HTTP protocol modules\n├── plugin/poste.lua\n└── tests/\n\nposte-sql.nvim/                ← SQL (optional)\n├── lua/poste/sql/             # SQL protocol modules\n├── plugin/poste-sql.lua\n└── tests/sql/\n```\n\n## Installation\n\n### With HTTP (recommended)\n\n```lua\n-- lazy.nvim\n{\n  \"beyondlex/poste-http.nvim\",\n  dependencies = {\n    \"beyondlex/poste.nvim\",\n    \"saghen/blink.cmp\",\n    \"stevearc/dressing.nvim\",\n    \"beyondlex/finder\",\n  },\n  config = function()\n    require(\"poste\").setup()\n  end,\n}\n```\n\n### With SQL (add to dependencies)\n\n```lua\n{\n  \"beyondlex/poste-sql.nvim\",\n  dependencies = {\n    \"beyondlex/poste.nvim\",\n  },\n  config = function()\n    require(\"poste.sql.init\").setup()\n  end,\n}\n```\n\n### Rust CLI (optional)\n\n```bash\ncargo build --release\n```\n\nThe CLI enables standalone execution (`poste run`) and context-aware features (completion, introspection). The plugin discovers it automatically in PATH or `stdpath(\"data\")/poste/bin/poste`.\n\n## CLI\n\n```bash\n# Execute a request by line number\nposte run requests/api.http --line 4 --env dev\n\n# Introspect database schema\nposte introspect --connection pg-dev --env dev\n\n# List available connections\nposte connection list --env dev\n\n# Format HTTP file\nposte fmt requests/api.http\n\n# Import OpenAPI / Postman collection\nposte import openapi spec.yaml\n```\n\n## Development Status\n\n**Progress: 34/38 steps completed** (~90%)\n\n| Phase | Description | Status |\n|-------|-------------|--------|\n| **1A** | Rust infrastructure | ✅ Complete |\n| **1B** | Lua dataset panel | ✅ Complete |\n| **1C** | MySQL/SQLite executors | ✅ Complete |\n| **2** | Connection \u0026 context management | ✅ Complete |\n| **3** | DB structure browser | ✅ Complete |\n| **4** | Table operations + DDL + completion | ✅ Complete |\n| **5** | Import/export + pagination | ✅ Complete |\n| **6** | Advanced features (editor, transactions) | ✅ Complete |\n\n**Tests:** 300+ passing (230 Rust + 70 Lua)\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeyondlex%2Fposte.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeyondlex%2Fposte.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeyondlex%2Fposte.nvim/lists"}