{"id":47094268,"url":"https://github.com/GeiserX/LynxPrompt","last_synced_at":"2026-03-12T21:00:58.847Z","repository":{"id":330829906,"uuid":"1120259177","full_name":"GeiserX/LynxPrompt","owner":"GeiserX","description":"Self-hosted \u0026 federated platform for AI IDE/Tools Rules and Commands via WebUI \u0026 CLI - Generate, browse, store, share AGENTS.md, CLAUDE.md, and more","archived":false,"fork":false,"pushed_at":"2026-03-08T20:25:55.000Z","size":57583,"stargazers_count":23,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-09T00:48:33.860Z","etag":null,"topics":["agents-md","ai-ide","ai-tools","claude-code","configuration-management","copilot","cursor","cursorrules","developer-tools","docker","generative-ai","llmops","lynxprompt","nextjs","open-source","prompt-engineering","prompt-management","self-hosted","vibe-coding","windsurf"],"latest_commit_sha":null,"homepage":"https://lynxprompt.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeiserX.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"geiserx","patreon":"geiser","buy_me_a_coffee":"geiser","thanks_dev":"u/gh/geiserx"}},"created_at":"2025-12-20T20:23:35.000Z","updated_at":"2026-03-08T20:25:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/GeiserX/LynxPrompt","commit_stats":null,"previous_names":["geiserx/lynxprompt"],"tags_count":275,"template":false,"template_full_name":null,"purl":"pkg:github/GeiserX/LynxPrompt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FLynxPrompt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FLynxPrompt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FLynxPrompt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FLynxPrompt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeiserX","download_url":"https://codeload.github.com/GeiserX/LynxPrompt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FLynxPrompt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30444290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T20:23:30.529Z","status":"ssl_error","status_checked_at":"2026-03-12T20:23:14.027Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["agents-md","ai-ide","ai-tools","claude-code","configuration-management","copilot","cursor","cursorrules","developer-tools","docker","generative-ai","llmops","lynxprompt","nextjs","open-source","prompt-engineering","prompt-management","self-hosted","vibe-coding","windsurf"],"created_at":"2026-03-12T13:00:45.426Z","updated_at":"2026-03-12T21:00:58.841Z","avatar_url":"https://github.com/GeiserX.png","language":"TypeScript","funding_links":["https://github.com/sponsors/geiserx","https://patreon.com/geiser","https://buymeacoffee.com/geiser","https://thanks.dev/u/gh/geiserx"],"categories":["Tools and Code","Agent Infrastructure","Ecosystem","Project Documentation"],"sub_categories":["Prompt Management and Testing","Configuration \u0026 Context Management","GateGuard — Fact-Forcing PreToolUse Gate"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/banner.svg\" alt=\"LynxPrompt banner\" width=\"900\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/GeiserX/LynxPrompt/main/public/logo.png\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/GeiserX/LynxPrompt/main/public/logo.png\"\u003e\n    \u003cimg alt=\"LynxPrompt\" src=\"https://raw.githubusercontent.com/GeiserX/LynxPrompt/main/public/logo.png\" width=\"150\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eLynxPrompt\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eSelf-hostable AI config management for teams and individuals\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://lynxprompt.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/🌐_Website-lynxprompt.com-6366f1?style=flat-square\" alt=\"Website\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/lynxprompt\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/lynxprompt?style=flat-square\u0026logo=npm\u0026label=CLI\" alt=\"npm\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/📜_License-GPL--3.0-blue?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/GeiserX/LynxPrompt\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/GeiserX/LynxPrompt?style=flat-square\u0026logo=github\" alt=\"GitHub Stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/drumsergio/lynxprompt\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/drumsergio/lynxprompt?style=flat-square\u0026logo=docker\u0026label=Docker%20Pulls\" alt=\"Docker Pulls\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/demo.gif\" alt=\"LynxPrompt CLI Demo\" width=\"900\"\u003e\n\u003c/p\u003e\n\n---\n\n## What is LynxPrompt?\n\nLynxPrompt is a **self-hostable platform** for managing AI IDE configuration files — `AGENTS.md`, `.cursor/rules/`, `CLAUDE.md`, slash commands, and 30+ other formats. Deploy it on your own infrastructure and give your team a central hub to create, share, and standardize AI coding assistant configurations across every project.\n\nInstead of manually writing configuration files for every project and every AI tool, use LynxPrompt to:\n\n- **Generate** configs through an interactive wizard (web or CLI)\n- **Share** blueprints through a private or federated marketplace\n- **Standardize** AI behavior across projects with reusable templates\n- **Export** to any supported format with one click\n\nLynxPrompt is **free and open-source**. Self-host it for personal use, or deploy it within your organization to enforce coding standards, share institutional knowledge, and ensure consistent AI assistant behavior across your engineering teams. A hosted instance is also available at [lynxprompt.com](https://lynxprompt.com) for those who prefer not to self-host.\n\n---\n\n## Key Features\n\n### Universal AI Config Hub\n\nSupports **30+ AI coding assistants** — Cursor, Claude Code, GitHub Copilot, Windsurf, Zed, Aider, Gemini CLI, Cline, Roo Code, Amazon Q, JetBrains Junie, and many more. Write once, export to any format.\n\n### Blueprint Marketplace\n\nInternal or federated marketplace for sharing AI configurations and slash commands within your organization. Browse, search, favorite, and reuse blueprints across teams.\n\n### Interactive Wizard\n\nStep-by-step config generator available on both web and CLI. Auto-detects your tech stack, frameworks, and repo structure from GitHub/GitLab URLs. Supports template variables, monorepo hierarchies, and draft auto-saving.\n\n### Configurable Authentication\n\nFlexible auth to fit your environment:\n\n- **OAuth** — GitHub, Google\n- **Email** — Passwordless magic link login\n- **Passkeys** — WebAuthn biometric/hardware key authentication\n- **SSO** — SAML, OIDC, and LDAP for enterprise identity providers\n\n### Optional AI-Powered Editing\n\nEnable AI-assisted blueprint creation and editing with your own Anthropic API key. Entirely optional — works fully without it.\n\n### Full REST API + CLI Tool\n\nProgrammatic access for automation and CI/CD integration. Generate API tokens, fetch blueprints, search, and download via REST. The CLI (`lynxp`) mirrors the full web platform feature set.\n\n### Self-Hostable with Docker Compose\n\nSingle `docker compose up` to run the entire stack. PostgreSQL included. Auto-runs database migrations on startup. Toggle every feature via environment variables.\n\n---\n\n## Quick Start (Self-Hosting)\n\n```bash\n# 1. Create a .env file\ncat \u003e .env \u003c\u003cEOF\nNEXTAUTH_SECRET=$(openssl rand -base64 32)\nADMIN_EMAIL=your@email.com\nAPP_URL=http://localhost:3000\nEOF\n\n# 2. Download the self-host compose file and start LynxPrompt\ncurl -O https://raw.githubusercontent.com/GeiserX/LynxPrompt/main/docker-compose.selfhost.yml\ndocker compose -f docker-compose.selfhost.yml up -d\n\n# 3. Open http://localhost:3000\n```\n\nThat's it. LynxPrompt is running with PostgreSQL, automatic migrations, and email authentication enabled by default.\n\n---\n\n## Configuration\n\nAll features are controlled via environment variables. Toggle what you need, disable what you don't.\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `NEXTAUTH_SECRET` | *(required)* | Session encryption key |\n| `APP_URL` | `http://localhost:3000` | Base URL of your instance |\n| `APP_NAME` | `LynxPrompt` | Instance name shown in the UI |\n| `ENABLE_GITHUB_OAUTH` | `false` | GitHub OAuth login |\n| `ENABLE_GOOGLE_OAUTH` | `false` | Google OAuth login |\n| `ENABLE_EMAIL_AUTH` | `true` | Magic link email login |\n| `ENABLE_PASSKEYS` | `true` | WebAuthn passkey authentication |\n| `ENABLE_TURNSTILE` | `false` | Cloudflare Turnstile CAPTCHA |\n| `ENABLE_SSO` | `false` | SAML / OIDC / LDAP authentication |\n| `ENABLE_USER_REGISTRATION` | `true` | Allow public sign-ups |\n| `ENABLE_AI` | `false` | AI-powered editing features |\n| `AI_MODEL` | `claude-3-5-haiku-latest` | AI model for editing |\n| `ANTHROPIC_API_KEY` | | Required when `ENABLE_AI=true` |\n| `ENABLE_BLOG` | `false` | Blog module |\n| `ENABLE_SUPPORT_FORUM` | `false` | Support forum module |\n| `ENABLE_STRIPE` | `false` | Stripe payments for marketplace |\n| `SUPERADMIN_EMAIL` | | Auto-promote this email to superadmin |\n| `APP_LOGO_URL` | | Custom logo URL |\n| `UMAMI_SCRIPT_URL` | | Umami analytics script URL |\n| `CONTACT_EMAIL` | | Contact form destination |\n| `STATUS_PAGE_URL` | | Status page link |\n\n---\n\n## CLI\n\nThe CLI tool mirrors the web platform and works against any LynxPrompt instance. By default it connects to `lynxprompt.com`, but you can point it to any self-hosted deployment.\n\n```bash\n# Install\nnpm install -g lynxprompt\n\n# (Optional) Point to a self-hosted instance — two ways:\nlynxp config set-url https://lynxprompt.your-company.com\n# or: export LYNXPROMPT_API_URL=https://lynxprompt.your-company.com\n\n# Authenticate (opens browser on the configured instance)\nlynxp login\n\n# Generate AI config files interactively\nlynxp wizard\n\n# Pull a blueprint\nlynxp pull bp_abc123\n\n# Push local configs\nlynxp push\n\n# View current CLI configuration\nlynxp config\n```\n\nThe API URL is stored in the CLI config file (see `lynxp config path`). The `LYNXPROMPT_API_URL` environment variable takes precedence if set.\n\nAlso available via Homebrew (`brew install GeiserX/lynxprompt/lynxprompt`) and Chocolatey (`choco install lynxprompt`).\n\n---\n\n## Architecture\n\n- **Frontend + API**: Next.js 16 with App Router\n- **Database**: PostgreSQL with Prisma ORM\n- **Deployment**: Docker Compose with auto-migration on startup\n- **Auth**: NextAuth.js with configurable providers\n- **Search**: Full-text search via PostgreSQL\n\nSupports single-database or multi-database setups depending on your scale requirements.\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/GeiserX/LynxPrompt.git\ncd LynxPrompt\ncp env.example .env\ndocker compose up -d\nnpm install --legacy-peer-deps\nnpm run dev\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.\n\n---\n\n## Documentation\n\nFull documentation is available at [lynxprompt.com/docs](https://lynxprompt.com/docs), covering:\n\n- [Getting Started](https://lynxprompt.com/docs/getting-started)\n- [Configuration Wizard](https://lynxprompt.com/docs/wizard)\n- [Blueprints \u0026 Commands](https://lynxprompt.com/docs/blueprints)\n- [CLI Reference](https://lynxprompt.com/docs/cli)\n- [API Reference](https://lynxprompt.com/docs/api)\n- [Self-Hosting Guide](https://lynxprompt.com/docs/self-hosting)\n\n---\n\n## License\n\nThis project is licensed under the [GNU General Public License v3.0](LICENSE).\n\n**Author:** Sergio Fernández Rubio ([GeiserX](https://github.com/GeiserX))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGeiserX%2FLynxPrompt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGeiserX%2FLynxPrompt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGeiserX%2FLynxPrompt/lists"}