{"id":30222759,"url":"https://github.com/biswajitpanday/optivise","last_synced_at":"2026-01-20T17:55:00.962Z","repository":{"id":305903110,"uuid":"1024262398","full_name":"biswajitpanday/Optivise","owner":"biswajitpanday","description":"Ultimate Development Assistant for Optimizely Developers. Intelligent MCP tool that enhances Optimizely Development.","archived":false,"fork":false,"pushed_at":"2025-08-10T00:27:48.000Z","size":1039,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-10T01:15:48.711Z","etag":null,"topics":["ai","mcp","mcp-server","optimizely","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/biswajitpanday.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}},"created_at":"2025-07-22T12:31:12.000Z","updated_at":"2025-08-10T00:27:52.000Z","dependencies_parsed_at":"2025-08-03T01:09:43.298Z","dependency_job_id":"09cd6eed-b42f-4cd6-aec5-bb0b00b52263","html_url":"https://github.com/biswajitpanday/Optivise","commit_stats":null,"previous_names":["biswajitpanday/optidevdoc","biswajitpanday/optivise"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/biswajitpanday/Optivise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biswajitpanday%2FOptivise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biswajitpanday%2FOptivise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biswajitpanday%2FOptivise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biswajitpanday%2FOptivise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/biswajitpanday","download_url":"https://codeload.github.com/biswajitpanday/Optivise/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/biswajitpanday%2FOptivise/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270407963,"owners_count":24578345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"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":["ai","mcp","mcp-server","optimizely","typescript"],"created_at":"2025-08-14T11:09:44.593Z","updated_at":"2026-01-20T17:55:00.936Z","avatar_url":"https://github.com/biswajitpanday.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Optivise\n\n### This Package is Under Development. Please allow me some more days. Will bring something awesome soon.\n\n**Optivise** is an intelligent MCP (Model Context Protocol) tool that enhances AI-assisted Optimizely development. It analyzes developer prompts for Optimizely relevance and provides curated, contextual information to LLMs.\n\n## Features (Current)\n\n- **5 Specialized MCP Tools**:\n  - `optidev_context_analyzer`: Enhanced context analysis with product detection\n  - `optidev_implementation_guide`: Jira ticket analysis and implementation planning\n  - `optidev_debug_helper`: Intelligent bug analysis and resolution\n  - `optidev_code_analyzer`: Real-time code analysis and optimization\n  - `optidev_project_helper`: Project setup, migration, and configuration assistance\n\n- **AI-Powered Capabilities** (Optional):\n  - OpenAI integration for embeddings and semantic search (optional)\n  - ChromaDB vector database for documentation search (optional)\n  - Deterministic relevance scoring with evidence and rules\n  - Graceful fallbacks when AI features unavailable\n\n- **Observability \u0026 Safety**:\n  - Structured JSON logs on stderr with correlation IDs; MCP stdout clean\n  - Log redaction, block sanitization (scripts/iframes/JS/data URIs), content size ceilings\n  - Diagnostics with per-stage timings and relevance breakdown\n\n## Installation\n\n```bash\n# Install Optivise globally\nnpm install -g optivise\n\n# Verify installation\noptivise version\n```\n\n## IDE Configuration\n\n### For Cursor IDE:\n\nCreate or update `.cursor/mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"optivise\": {\n      \"command\": \"npx\",\n      \"args\": [\"optivise-mcp\"]\n    }\n  }\n}\n```\n\n### For VS Code:\n\nAdd to your VS Code settings:\n\n```json\n{\n  \"mcp.servers\": [\n    {\n      \"name\": \"optivise\",\n      \"command\": \"npx\",\n      \"args\": [\"optivise-mcp\"]\n    }\n  ]\n}\n```\n\n## Usage\n\n```\n@optidev_context_analyzer \"How do I implement a custom handler chain in Optimizely Commerce?\"\n```\n\n### AI Enhancement (Optional)\n\nTo enable AI-powered features:\n\n```json\n{\n  \"mcpServers\": {\n    \"optivise\": {\n      \"command\": \"npx\",\n      \"args\": [\"optivise-mcp\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n## CLI Utilities\n\n```bash\n# Propose a consolidated .cursorrules from discovered rules (prints JSON with diff)\noptivise-rules propose /path/to/project\n\n# Write the proposed .cursorrules to the project root\noptivise-rules propose /path/to/project --write\n\n# Print version and service diagnostics (AI/Chroma/doc-sync availability)\noptivise-diag\n\n# Query local HTTP server health or readiness\noptivise-health                   # defaults to http://localhost:3007/health\noptivise-health --ready           # queries http://localhost:3007/ready\noptivise-health --url=http://host:port/ready\n```\n\n## Environment Variables\n\n- LOG_LEVEL: error|warn|info|debug (default: info)\n- OPTIVISE_MODE: mcp|server (default: mcp)\n- MAX_BLOCK_CHARS: max characters per context block (default: 5000)\n- MAX_TOTAL_TOKENS: hard safety ceiling for context tokens (default: 4000)\n- OPENAI_API_KEY: optional, enables AI-powered features\n- CORS_ALLOW_ORIGINS: comma-separated allowed origins for HTTP server (default: *)\n- REQUEST_TIMEOUT_MS: per-request timeout for /analyze (default: 15000)\n- AUDIT_API_KEY: enables protected GET /audit endpoint when OPTIVISE_AUDIT=true\n- OPTIVISE_AUDIT: set to 'true' to enable in-memory audit trail (requires AUDIT_API_KEY for access)\n\n## Troubleshooting\n\n### MCP Server Not Connecting\n- Verify Node.js version: Ensure Node.js \u003e= 18.0.0\n- Restart IDE after configuration changes\n- Check logs: Set `LOG_LEVEL=debug` for detailed logs\n\n### Tools Not Available\n- Verify configuration: Ensure `optivise-mcp` is correctly referenced\n- Test connection: `npx @modelcontextprotocol/inspector npx optivise-mcp`\n\n### Windows Path Issues\nUse forward slashes or double backslashes in JSON:\n```json\n\"args\": [\"optivise-mcp\"]\n```\n\n## Render Deployment (Example)\n\nSee `render.yaml` for a minimal configuration:\n\n```yaml\nservices:\n  - type: web\n    name: optivise\n    env: node\n    plan: free\n    buildCommand: npm install \u0026\u0026 npm run build\n    startCommand: npm start\n    envVars:\n      - key: NODE_ENV\n        value: production\n      - key: OPTIVISE_MODE\n        value: server\n      - key: OPTIDEV_DEBUG\n        value: false\n      - key: CORS_ALLOW_ORIGINS\n        value: https://yourdomain.com\n    healthCheckPath: /health\n```\n\nAfter deployment:\n- `GET /health` for liveness\n- `GET /ready` for feature matrix + circuit states (OpenAI/Chroma)\n- Use `optivise-health` locally to check `http://localhost:3007/health`\n\n## Audit Trail (Opt-in)\n\n- Enable: set `OPTIVISE_AUDIT=true` and set a strong `AUDIT_API_KEY`.\n- Fetch recent events:\n\n```bash\ncurl -H \"Authorization: Bearer $AUDIT_API_KEY\" http://localhost:3007/audit | jq\n```\n\n## Security \u0026 Privacy (Current)\n\n- Log redaction (API keys/tokens/passwords), correlation IDs, MCP stdout kept clean\n- Output sanitization and size bounds in formatter; relevance-aware truncation\n- Opt-in in-memory audit trail for tool invocations (protected endpoint)\n- Circuit breakers and backoff for AI/Chroma integrations; CI `npm audit` + CycloneDX SBOM\n\nPlanned (not yet implemented): stronger PII detection, allow-listed HTML sanitization, signed releases, and comprehensive policy scans (e.g., OSV).\n\n## Use Cases \u0026 Examples\n\n### For Individual Developers\n```\n@optidev_implementation_guide \"Implement customer loyalty points system\"\n@optidev_debug_helper \"Cart total calculation incorrect after discount applied\"\n@optidev_code_analyzer \"Review this handler for performance optimization\"\n```\n\n### For Development Teams\n```\n@optidev_project_helper \"Setup new Commerce + CMS integrated project\"\n@optidev_context_analyzer \"Best practices for integrating Commerce with CMS\"\n```\n\n## Data Flow Diagram\n\n```mermaid\n---\nconfig:\n  theme: neo-dark\n---\nflowchart TD\n    User[User/Developer] --\u003e|Prompt| IDE[IDE/CLI Interface]\n    IDE --\u003e|Request| MCP[MCP Server]\n    MCP --\u003e|Initialize| CAE[Context Analysis Engine]\n    MCP --\u003e|Initialize| Tools[Specialized Tools]\n    MCP --\u003e|Initialize| AI[AI Services]\n    \n    subgraph \"Context Analysis Flow\"\n        CAE --\u003e|Analyze Prompt| PA[Prompt Analyzer]\n        PA --\u003e|Relevance Score \u0026 Intent| CAE\n        \n        CAE --\u003e|Detect Products| PDS[Product Detection Service]\n        PDS --\u003e|Product Context| CAE\n        \n        CAE --\u003e|Analyze Rules| RIS[Rule Intelligence Service]\n        RIS --\u003e|Rule Analysis| CAE\n        \n        CAE --\u003e|Fetch Documentation| DS[Documentation Service]\n        \n        DS --\u003e|Basic Docs| DOC[Documentation Sources]\n        DS --\u003e|Vector Search| CDB[ChromaDB Service]\n        CDB --\u003e|AI-Enhanced Search| OAI[OpenAI Client]\n        OAI --\u003e|Embeddings| CDB\n        \n        DS --\u003e|Documentation Content| CAE\n    end\n    \n    subgraph \"AI Services\"\n        AKDS[API Key Detector] --\u003e|Detect Keys| OAI\n        AKDS --\u003e|Detect Keys| CDB\n        DSS[Documentation Sync Service] --\u003e|Sync| CDB\n    end\n    \n    subgraph \"Specialized Tools\"\n        Tools --\u003e|Implementation Guide| IGT[Implementation Guide Tool]\n        Tools --\u003e|Debug Helper| DHT[Debug Helper Tool]\n        Tools --\u003e|Code Analyzer| CAT[Code Analyzer Tool]\n        Tools --\u003e|Project Helper| PHT[Project Helper Tool]\n        \n        IGT \u0026 DHT \u0026 CAT \u0026 PHT --\u003e|Use| CAE\n    end\n    \n    CAE --\u003e|Curated Context| MCP\n    MCP --\u003e|Response| IDE\n    IDE --\u003e|Enhanced Response| User\n```\n\n## Documentation \u0026 Support\n\n- [IDE Agent Integration](docs/ide_agent_integration.md): How to assemble prompts and previews in Cursor/VS Code\n- [Developer Guide](docs/Developer_Guide.md): How to develop, run, test, and integrate Optivise locally\n- [Architecture Diagrams](docs/Architecture_Diagrams.md): System architecture and data flows\n- [Product Requirements](docs/PRD.md): Complete product requirements and features\n- [Software Requirements](docs/SRS.md): Technical specifications and interfaces\n- [Project Plan](docs/Project_Plan.md): Development roadmap and timeline\n- [Vision and Scope](docs/Vision_and_Scope.md): Project vision and objectives\n- [Todo List](docs/TodoList.md): Implementation status and completed features\n- [Claude Integration](CLAUDE.md): Guidance for Claude AI when working with this codebase\n\n## Contact\n\n- **Issues**: [GitHub Issues](https://github.com/optimizely/optivise/issues)\n- **Support**: [Enterprise Support](mailto:biswajitmailid@gmail.com)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiswajitpanday%2Foptivise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbiswajitpanday%2Foptivise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbiswajitpanday%2Foptivise/lists"}