diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 1797ac0..4834ca0 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -5,28 +5,13 @@ "email": "steve.calvert@glean.com" }, "metadata": { - "description": "Official Glean plugins for Cursor — enterprise knowledge, code search, and people discovery." + "description": "Official Glean plugin for Cursor — enterprise knowledge, code search, and people discovery." }, "plugins": [ { - "name": "glean-core", - "source": "glean-core", - "description": "Core Glean MCP integration — shared skills, tool guidance, and rules. Required foundation for all other Glean plugins." - }, - { - "name": "glean-search", - "source": "glean-search", - "description": "Enterprise search across documents, Slack, email, and other sources via Glean." - }, - { - "name": "glean-code", - "source": "glean-code", - "description": "Cross-repository code exploration — search code across your org, find examples, and discover similar implementations." - }, - { - "name": "glean-people", - "source": "glean-people", - "description": "Find experts, understand org structure, and identify stakeholders via Glean." + "name": "glean", + "source": "glean", + "description": "Official Glean plugin for Cursor — enterprise search, code exploration, and people discovery." } ], "version": "1.0.0" diff --git a/.gitignore b/.gitignore index 9387595..c7d409d 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ npm-debug.log* # Local env files .env .env.local + +# Local planning docs +docs/plans/ diff --git a/.release-it.json b/.release-it.json index db024bc..919e85f 100644 --- a/.release-it.json +++ b/.release-it.json @@ -26,19 +26,7 @@ "path": "version" }, { - "file": "glean-core/.cursor-plugin/plugin.json", - "path": "version" - }, - { - "file": "glean-search/.cursor-plugin/plugin.json", - "path": "version" - }, - { - "file": "glean-code/.cursor-plugin/plugin.json", - "path": "version" - }, - { - "file": "glean-people/.cursor-plugin/plugin.json", + "file": "glean/.cursor-plugin/plugin.json", "path": "version" } ] diff --git a/README.md b/README.md index e80e65b..41d1cbf 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,7 @@ Official Glean plugins for [Cursor](https://cursor.com), enabling enterprise kno ## Quick Start ``` -# Install the foundation plugin first (required) -/add-plugin glean-core - -# Then install the feature plugins you need -/add-plugin glean-search -/add-plugin glean-code -/add-plugin glean-people +/add-plugin glean ``` Then configure your Glean MCP connection — add your server to `~/.cursor/mcp.json`: @@ -30,25 +24,11 @@ Then configure your Glean MCP connection — add your server to `~/.cursor/mcp.j Replace `YOUR-INSTANCE` with your Glean instance name and `YOUR-SERVER-NAME` with the server name provided by your Glean administrator. Restart Cursor after editing — OAuth authentication is handled automatically on first use. -## Plugins - -| Plugin | Description | Docs | -| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | -| **[glean-core](./glean-core)** | Foundation plugin with MCP setup skills, tool guidance, and result-vetting rules. **Required by all other plugins.** | [README](./glean-core/README.md) | -| **[glean-search](./glean-search)** | Enterprise search across docs, Slack, email, and more | [README](./glean-search/README.md) | -| **[glean-code](./glean-code)** | Cross-repo code exploration, examples, and ownership | [README](./glean-code/README.md) | -| **[glean-people](./glean-people)** | Find experts and identify stakeholders | [README](./glean-people/README.md) | - -## Which Plugin Do I Need? - -| I want to... | Install | -| ----------------------------------------------- | ----------------------------- | -| Search company docs, wikis, and Slack | `glean-core` + `glean-search` | -| Find code examples or prior art across repos | `glean-core` + `glean-code` | -| Research architecture before planning a feature | `glean-core` + `glean-code` | -| Find who knows about a topic or owns a system | `glean-core` + `glean-people` | -| Identify stakeholders for a change | `glean-core` + `glean-people` | -| All of the above | Install all plugins | +## Plugin + +| Plugin | Description | Docs | +| ------ | ----------- | ---- | +| **[glean](./glean)** | Enterprise search, code exploration, and people discovery | [README](./glean/README.md) | ## Requirements diff --git a/docs/plans/2026-02-25-consolidate-single-plugin-design.md b/docs/plans/2026-02-25-consolidate-single-plugin-design.md new file mode 100644 index 0000000..d54d02b --- /dev/null +++ b/docs/plans/2026-02-25-consolidate-single-plugin-design.md @@ -0,0 +1,78 @@ +# Design: Consolidate Four Plugins into Single `glean` Plugin + +**Date**: 2026-02-25 +**Status**: Approved + +## Background + +Cursor's plugin marketplace surfaces each plugin as an independent entry with no grouping or dependency mechanism. The original four-plugin structure (glean-core, glean-search, glean-code, glean-people) was designed to let users install only what they need, but this intent doesn't come through in the UI. Cursor's team has recommended consolidating into a single plugin. + +## Decision + +Merge all four plugins into a single `glean/` directory containing all skills, agents, commands, and rules. + +## New Structure + +``` +glean/ + .cursor-plugin/plugin.json + assets/avatar.svg + avatar.png + rules/ + glean-result-vetting.mdc (from glean-core) + glean-tool-selection.mdc (from glean-core) + skills/ + confidence-signals/ (glean-core) + enterprise-search/ (glean-core version — canonical) + glean-tools-guide/ (glean-core) + mcp-setup/ (glean-core) + mcp-status/ (glean-core) + meeting-context/ (glean-core) + people-lookup/ (glean-core) + synthesis-patterns/ (glean-core) + search/ (glean-search — unique) + code-exploration/ (glean-code) + code-owners/ (glean-code) + codebase-context/ (glean-code) + find-examples/ (glean-code) + plan-prep/ (glean-code) + similar-code/ (glean-code) + find-expert/ (glean-people) + stakeholders/ (glean-people) + agents/ + enterprise-searcher.md (glean-search) + people-finder.md (glean-people) + codebase-navigator.md (glean-code) + plan-prep-researcher.md (glean-code) + commands/ + mcp-setup.md (glean-core) + mcp-status.md (glean-core) + search.md (glean-search) + code-owners.md (glean-code) + codebase-context.md (glean-code) + find-examples.md (glean-code) + plan-prep.md (glean-code) + similar-code.md (glean-code) + find-expert.md (glean-people) + stakeholders.md (glean-people) + README.md + CHANGELOG.md + LICENSE +``` + +## Content Decisions + +- **enterprise-search skill**: glean-search had a duplicate that was a strict subset of the glean-core version. The glean-core version is kept; the glean-search duplicate is dropped. +- **All other content**: No name collisions across the remaining plugins. All skills, agents, commands, and rules are carried forward unchanged. + +## Root-Level Changes + +- `.cursor-plugin/marketplace.json`: Single plugin entry `{ name: "glean", source: "glean" }` +- `package.json` `files`: Updated to `["glean/**/*", ...]` replacing four separate paths +- `.release-it.json` bumper `out`: Single path `glean/.cursor-plugin/plugin.json` replacing four paths + +## Deleted + +- `glean-core/` +- `glean-search/` +- `glean-code/` +- `glean-people/` diff --git a/glean-code/.cursor-plugin/plugin.json b/glean-code/.cursor-plugin/plugin.json deleted file mode 100644 index 60487fd..0000000 --- a/glean-code/.cursor-plugin/plugin.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "glean-code", - "displayName": "Glean Code", - "version": "1.0.0", - "description": "Cross-repository code exploration — search code across your org, find examples, and discover similar implementations.", - "author": { - "name": "Glean", - "email": "steve.calvert@glean.com" - }, - "homepage": "https://docs.glean.com/administration/platform/mcp/about", - "repository": "https://github.com/gleanwork/cursor-plugins", - "license": "MIT", - "logo": "assets/avatar.svg", - "keywords": [ - "glean", - "code-search", - "cross-repo", - "engineering" - ], - "category": "developer-tools", - "tags": [ - "code", - "search", - "architecture", - "planning" - ], - "skills": "./skills/", - "agents": "./agents/" -} diff --git a/glean-code/CHANGELOG.md b/glean-code/CHANGELOG.md deleted file mode 100644 index c16e691..0000000 --- a/glean-code/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog - -All notable changes to this plugin are documented here. - -The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - -## [Unreleased] - diff --git a/glean-code/README.md b/glean-code/README.md deleted file mode 100644 index 88a0d82..0000000 --- a/glean-code/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Glean Code - -**Cross-repository code exploration — search code across your org, find examples, and discover similar implementations.** - -Leverage Glean's code search to explore beyond your local repository. - -## Prerequisites - -Requires [glean-core](../glean-core) to be installed first. - -## Installation - -``` -/add-plugin glean-core # if not already installed -/add-plugin glean-code -``` - -## What's Included - -### Skills - -- **code-exploration** — Triggers on implementation questions, cross-repo searches, and architecture questions about internal systems -- **plan-prep** — Researches enterprise context (design docs, patterns, stakeholders, related systems) before entering plan mode -- **codebase-context** — Gathers architectural context about a specific system or service -- **find-examples** — Finds usage examples of an API, library, or pattern across the org -- **code-owners** — Identifies who owns, maintains, or has expertise in a code area -- **similar-code** — Finds similar implementations and prior art before building something new - -### Agents - -- **codebase-navigator** — Navigates internal repositories to find implementations, trace dependencies, and surface relevant patterns across the org -- **plan-prep-researcher** — Gathers design docs, similar implementations, stakeholders, and related systems to inform planning decisions - -## Example Usage - -Just ask naturally — skills and agents activate based on context: - -``` -"How is rate limiting implemented across our services?" -"What repos depend on the auth service?" -"Find examples of how other teams use the retry library" -"Who's been working on the payments codebase?" -"Is there already a caching implementation I can use?" -"Research the authentication system before I start planning" -"Who owns the billing module?" -``` - -## Key Differentiator - -**Local search tools only see your current repo.** Glean Code searches across ALL repositories in your organization: - -- Find examples: "How do other teams handle authentication?" -- Understand systems: "What repos touch the billing service?" -- Find owners: "Who's actively working on payments?" -- Avoid duplication: "Has someone already built a rate limiter?" - -## Support - -- [Glean MCP Documentation](https://docs.glean.com/mcp) -- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues) diff --git a/glean-core/CHANGELOG.md b/glean-core/CHANGELOG.md deleted file mode 100644 index c16e691..0000000 --- a/glean-core/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog - -All notable changes to this plugin are documented here. - -The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - -## [Unreleased] - diff --git a/glean-core/LICENSE b/glean-core/LICENSE deleted file mode 100644 index feafbe9..0000000 --- a/glean-core/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2024 Glean Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/glean-core/README.md b/glean-core/README.md deleted file mode 100644 index 8669aa8..0000000 --- a/glean-core/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# Glean Core - -**Required foundation for all Glean plugins.** - -Provides shared skills for tool selection and result quality, always-on rules for proper Glean MCP usage, and setup guidance for configuring your Glean connection. - -## Prerequisites - -- [Cursor](https://cursor.com) -- A Glean account with MCP access - -## Installation - -``` -/add-plugin glean-core -``` - -Then configure your Glean MCP server in `~/.cursor/mcp.json`: - -```json -{ - "mcpServers": { - "glean": { - "url": "https://YOUR-INSTANCE-be.glean.com/mcp/YOUR-SERVER-NAME" - } - } -} -``` - -Restart Cursor after editing. OAuth authentication is handled automatically on first use. - -## What's Included - -### Skills - -- **glean-tools-guide** — Comprehensive guidance for selecting and using Glean MCP tools correctly -- **enterprise-search** — Triggers for document, wiki, and policy search queries -- **confidence-signals** — Quality and reliability assessment for search results -- **people-lookup** — Triggers for people and org structure queries -- **meeting-context** — Triggers for meeting and decision queries -- **synthesis-patterns** — Guidance for combining information from multiple sources -- **mcp-setup** — Step-by-step guidance for configuring a Glean MCP server in Cursor -- **mcp-status** — Check which Glean MCP servers are configured and active - -### Rules (always active) - -- **glean-tool-selection** — Ensures the correct Glean tool is used for each query type (people vs. docs vs. code vs. meetings) -- **glean-result-vetting** — Enforces quality filtering before presenting Glean results - -## Next Steps - -After installing glean-core, install the feature plugins you need: - -| Plugin | Purpose | -|--------|---------| -| [glean-search](../glean-search) | Enterprise document search | -| [glean-code](../glean-code) | Cross-repo code exploration | -| [glean-people](../glean-people) | People discovery and expertise | - -## Support - -- [Glean MCP Documentation](https://docs.glean.com/mcp) -- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues) diff --git a/glean-core/assets/avatar.png b/glean-core/assets/avatar.png deleted file mode 100644 index 14e232f..0000000 Binary files a/glean-core/assets/avatar.png and /dev/null differ diff --git a/glean-core/assets/avatar.svg b/glean-core/assets/avatar.svg deleted file mode 100644 index 27671d5..0000000 --- a/glean-core/assets/avatar.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/glean-people/.cursor-plugin/plugin.json b/glean-people/.cursor-plugin/plugin.json deleted file mode 100644 index 494419a..0000000 --- a/glean-people/.cursor-plugin/plugin.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "glean-people", - "displayName": "Glean People", - "version": "1.0.0", - "description": "Find experts, understand org structure, and identify stakeholders via Glean.", - "author": { - "name": "Glean", - "email": "steve.calvert@glean.com" - }, - "homepage": "https://docs.glean.com/administration/platform/mcp/about", - "repository": "https://github.com/gleanwork/cursor-plugins", - "license": "MIT", - "logo": "assets/avatar.svg", - "keywords": [ - "glean", - "people", - "experts", - "org-chart" - ], - "category": "developer-tools", - "tags": [ - "people", - "experts", - "stakeholders", - "org" - ], - "skills": "./skills/", - "agents": "./agents/" -} diff --git a/glean-people/CHANGELOG.md b/glean-people/CHANGELOG.md deleted file mode 100644 index c16e691..0000000 --- a/glean-people/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog - -All notable changes to this plugin are documented here. - -The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - -## [Unreleased] - diff --git a/glean-people/LICENSE b/glean-people/LICENSE deleted file mode 100644 index feafbe9..0000000 --- a/glean-people/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2024 Glean Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/glean-people/README.md b/glean-people/README.md deleted file mode 100644 index 53b7fac..0000000 --- a/glean-people/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# Glean People - -**Find experts, understand org structure, and identify stakeholders.** - -Discover the right people based on real activity and contributions — not just org chart position. - -## Prerequisites - -Requires [glean-core](../glean-core) to be installed first. - -## Installation - -``` -/add-plugin glean-core # if not already installed -/add-plugin glean-people -``` - -## What's Included - -### Skills - -- **find-expert** — Multi-signal expertise discovery: combines code contributions, document authorship, and activity signals to find people who actually know a topic -- **stakeholders** — Identifies who needs to approve, consult, or be informed about a change or project - -### Agent - -- **people-finder** — Finds people by role, expertise, activity, or organizational relationship. Vets candidates across multiple signals before recommending. - -## Example Usage - -Just ask naturally — skills and the agent activate based on context: - -``` -"Who knows about the Kubernetes setup?" -"Who should I talk to about the billing module?" -"Who owns the payments service?" -"Find the experts on our authentication system" -"Who needs to be involved in deprecating the legacy API?" -"Who are the stakeholders for migrating auth to OAuth?" -"Who works on the platform team?" -``` - -## How It Works - -This plugin combines multiple signals to find the right people: - -- **Employee search** — Official roles and org structure -- **Code contributions** — Who's actively coding in an area -- **Document authorship** — Who wrote the design docs and RFCs -- **Meeting participation** — Who's in relevant discussions - -A single mention doesn't make someone an expert. The agent looks for multiple corroborating signals and clearly distinguishes current owners from historical contributors. - -## Support - -- [Glean MCP Documentation](https://docs.glean.com/mcp) -- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues) diff --git a/glean-people/assets/avatar.png b/glean-people/assets/avatar.png deleted file mode 100644 index 14e232f..0000000 Binary files a/glean-people/assets/avatar.png and /dev/null differ diff --git a/glean-people/assets/avatar.svg b/glean-people/assets/avatar.svg deleted file mode 100644 index 27671d5..0000000 --- a/glean-people/assets/avatar.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/glean-search/.cursor-plugin/plugin.json b/glean-search/.cursor-plugin/plugin.json deleted file mode 100644 index 2e664b0..0000000 --- a/glean-search/.cursor-plugin/plugin.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "glean-search", - "displayName": "Glean Search", - "version": "1.0.0", - "description": "Enterprise search across documents, Slack, email, and other sources via Glean.", - "author": { - "name": "Glean", - "email": "steve.calvert@glean.com" - }, - "homepage": "https://docs.glean.com/administration/platform/mcp/about", - "repository": "https://github.com/gleanwork/cursor-plugins", - "license": "MIT", - "logo": "assets/avatar.svg", - "keywords": [ - "glean", - "search", - "enterprise", - "documents" - ], - "category": "developer-tools", - "tags": [ - "search", - "documents", - "slack", - "email" - ], - "skills": "./skills/", - "agents": "./agents/" -} diff --git a/glean-search/CHANGELOG.md b/glean-search/CHANGELOG.md deleted file mode 100644 index c16e691..0000000 --- a/glean-search/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog - -All notable changes to this plugin are documented here. - -The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - -## [Unreleased] - diff --git a/glean-search/LICENSE b/glean-search/LICENSE deleted file mode 100644 index feafbe9..0000000 --- a/glean-search/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2024 Glean Technologies, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/glean-search/README.md b/glean-search/README.md deleted file mode 100644 index 05c09f0..0000000 --- a/glean-search/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Glean Search - -**Enterprise search across documents, Slack, email, and other sources.** - -Search across all your company's knowledge with natural language queries. - -## Prerequisites - -Requires [glean-core](../glean-core) to be installed first. - -## Installation - -``` -/add-plugin glean-core # if not already installed -/add-plugin glean-search -``` - -## What's Included - -### Skills - -- **enterprise-search** — Auto-triggers when you ask about company documents, policies, or internal knowledge -- **search** — Structured search workflow with result vetting and quality assessment - -### Agent - -- **enterprise-searcher** — Cross-source search specialist that finds relevant information across documents, wikis, Slack, email, and more. Applies aggressive vetting to return only high-quality, current results. - -## Example Usage - -Just ask naturally — the skills and agent activate based on context: - -``` -"Find all documents about the authentication migration" -"What's our policy on data retention?" -"Is there a design doc for the new billing system?" -"Find the RFC for the API gateway rewrite" -"Search for the onboarding guide updated last month" -``` - -## Search Tips - -Use filters to narrow results: - -- `owner:"John Smith"` — Documents created by a person -- `updated:past_week` — Recently updated documents -- `app:confluence` — Documents from a specific app -- `after:2024-01-01` — Documents after a date - -## Support - -- [Glean MCP Documentation](https://docs.glean.com/mcp) -- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues) diff --git a/glean-search/assets/avatar.png b/glean-search/assets/avatar.png deleted file mode 100644 index 14e232f..0000000 Binary files a/glean-search/assets/avatar.png and /dev/null differ diff --git a/glean-search/assets/avatar.svg b/glean-search/assets/avatar.svg deleted file mode 100644 index 27671d5..0000000 --- a/glean-search/assets/avatar.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/glean-search/skills/enterprise-search/SKILL.md b/glean-search/skills/enterprise-search/SKILL.md deleted file mode 100644 index 8123e25..0000000 --- a/glean-search/skills/enterprise-search/SKILL.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -name: enterprise-search -description: Search company documents, wikis, policies, design docs, and internal knowledge via Glean. - Use when asked about company policies, internal specs, design docs, RFCs, or any information that lives in enterprise systems rather than the local codebase. ---- - -# Enterprise Search via Glean - -When users ask about internal company information that lives in enterprise systems (not the local codebase), use Glean tools to find it. - -## When This Applies - -Use Glean search when users ask about: -- Company policies, guidelines, or procedures -- Design documents, RFCs, or specifications -- Internal wikis or knowledge base articles -- Project documentation or roadmaps -- Slack discussions or announcements -- Any "where is the doc about X" questions - -## Tool Selection - -| User Intent | Glean Tool | -|-------------|------------| -| Find documents, policies, specs | `search` | -| Complex analysis across sources | `chat` | -| Read full document content | `read_document` | - -## BE SKEPTICAL - -Not every search result is relevant or current. Before presenting results, evaluate: - -- **Relevance**: Does this actually answer the question, or just contain keywords? -- **Freshness**: ✅ <6mo | ⚠️ 6-12mo | ❌ >12mo -- **Authority**: Official > Semi-official > Informal - -Always include document title, URL, last updated date, and confidence level. - -## Workflow - -1. **Search first**: Use `search` to find relevant documents -2. **Vet results**: Apply vetting criteria before presenting -3. **Read for details**: Use `read_document` with URLs from vetted results -4. **Synthesize if complex**: Use `chat` for multi-source analysis - diff --git a/glean-core/.cursor-plugin/plugin.json b/glean/.cursor-plugin/plugin.json similarity index 56% rename from glean-core/.cursor-plugin/plugin.json rename to glean/.cursor-plugin/plugin.json index e58f2cf..bdffd08 100644 --- a/glean-core/.cursor-plugin/plugin.json +++ b/glean/.cursor-plugin/plugin.json @@ -1,8 +1,8 @@ { - "name": "glean-core", - "displayName": "Glean Core", + "name": "glean", + "displayName": "Glean", "version": "1.0.0", - "description": "Core Glean MCP integration — shared skills, tool guidance, and rules. Required foundation for all other Glean plugins.", + "description": "Official Glean plugin for Cursor — search documents, Slack, and email; explore code across repos; and find experts and stakeholders.", "author": { "name": "Glean", "email": "steve.calvert@glean.com" @@ -15,15 +15,25 @@ "glean", "mcp", "enterprise-search", - "core" + "code-search", + "documents", + "cross-repo", + "experts", + "org-chart" ], "category": "developer-tools", "tags": [ "mcp", "enterprise", "search", - "foundation" + "documents", + "slack", + "code", + "people", + "experts", + "org" ], "skills": "./skills/", + "agents": "./agents/", "rules": "./rules/" } diff --git a/glean/CHANGELOG.md b/glean/CHANGELOG.md new file mode 100644 index 0000000..100ac1a --- /dev/null +++ b/glean/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## 1.0.0 + +- Initial release: consolidated glean-core, glean-search, glean-code, and glean-people into a single plugin diff --git a/glean-code/LICENSE b/glean/LICENSE similarity index 100% rename from glean-code/LICENSE rename to glean/LICENSE diff --git a/glean/README.md b/glean/README.md new file mode 100644 index 0000000..a1796af --- /dev/null +++ b/glean/README.md @@ -0,0 +1,97 @@ +# Glean for Cursor + +Official Glean plugin for [Cursor](https://cursor.com) — enterprise search, code exploration, +and people discovery directly in your development workflow. + +## Setup + +### 1. Install the plugin + +``` +/add-plugin glean +``` + +### 2. Configure your Glean MCP server + +Add your server to `~/.cursor/mcp.json`: + +```json +{ + "mcpServers": { + "glean": { + "url": "https://YOUR-INSTANCE-be.glean.com/mcp/YOUR-SERVER-NAME" + } + } +} +``` + +Replace `YOUR-INSTANCE` with your Glean instance name and `YOUR-SERVER-NAME` with the server +name provided by your Glean administrator. Restart Cursor after editing — OAuth authentication +is handled automatically on first use. + +## What's Included + +### Skills + +| Skill | Description | +| ----- | ----------- | +| `enterprise-search` | Search company docs, wikis, policies, and internal knowledge | +| `search` | Structured Glean search with result vetting and quality assessment | +| `mcp-setup` | Configure a Glean MCP server connection in Cursor | +| `mcp-status` | Check the status of your Glean MCP connection | +| `glean-tools-guide` | Reference for selecting the right Glean tool | +| `confidence-signals` | Communicate reliability and freshness of Glean results | +| `meeting-context` | Find decisions and action items from meetings | +| `people-lookup` | Find people by role, team, or expertise | +| `synthesis-patterns` | Combine results across multiple Glean sources | +| `code-exploration` | Explore code across your org's repositories | +| `code-owners` | Identify who owns or maintains a code area | +| `codebase-context` | Get architectural context from internal repositories | +| `find-examples` | Find usage examples of APIs or patterns across the org | +| `plan-prep` | Research enterprise context before planning a feature | +| `similar-code` | Find similar implementations across repos | +| `find-expert` | Find subject matter experts based on contributions | +| `stakeholders` | Identify stakeholders for a change or project | + +### Agents + +| Agent | Description | +| ----- | ----------- | +| `enterprise-searcher` | Searches enterprise knowledge across documents, Slack, and email | +| `people-finder` | Finds people by role, expertise, or org relationship | +| `codebase-navigator` | Navigates internal code repos to find implementations and trace dependencies | +| `plan-prep-researcher` | Researches enterprise context and similar patterns for planning tasks | + +### Commands + +| Command | Description | +| ------- | ----------- | +| `/mcp-setup` | Walk through Glean MCP server setup | +| `/mcp-status` | Check your Glean MCP connection | +| `/search` | Search Glean enterprise knowledge | +| `/code-owners` | Find who owns a code area | +| `/codebase-context` | Get architectural context for a system | +| `/find-examples` | Find usage examples across repos | +| `/plan-prep` | Research context before entering plan mode | +| `/similar-code` | Find similar implementations | +| `/find-expert` | Find experts on a topic | +| `/stakeholders` | Identify stakeholders for a change | + +## Requirements + +- [Cursor](https://cursor.com) (latest version) +- A Glean account with MCP access +- Your Glean MCP server URL (format: `https://[instance]-be.glean.com/mcp/[server-name]`) + +> **Note:** Glean MCP server URLs are instance-specific. Your Glean administrator can provide +> your server name. + +## Support + +- [Glean MCP Documentation](https://docs.glean.com/mcp) +- [Glean Support](https://help.glean.com) +- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues) + +## License + +MIT — see [LICENSE](LICENSE) for details. diff --git a/glean-code/agents/codebase-navigator.md b/glean/agents/codebase-navigator.md similarity index 100% rename from glean-code/agents/codebase-navigator.md rename to glean/agents/codebase-navigator.md diff --git a/glean-search/agents/enterprise-searcher.md b/glean/agents/enterprise-searcher.md similarity index 100% rename from glean-search/agents/enterprise-searcher.md rename to glean/agents/enterprise-searcher.md diff --git a/glean-people/agents/people-finder.md b/glean/agents/people-finder.md similarity index 100% rename from glean-people/agents/people-finder.md rename to glean/agents/people-finder.md diff --git a/glean-code/agents/plan-prep-researcher.md b/glean/agents/plan-prep-researcher.md similarity index 100% rename from glean-code/agents/plan-prep-researcher.md rename to glean/agents/plan-prep-researcher.md diff --git a/glean-code/assets/avatar.png b/glean/assets/avatar.png similarity index 100% rename from glean-code/assets/avatar.png rename to glean/assets/avatar.png diff --git a/glean-code/assets/avatar.svg b/glean/assets/avatar.svg similarity index 100% rename from glean-code/assets/avatar.svg rename to glean/assets/avatar.svg diff --git a/glean-code/commands/code-owners.md b/glean/commands/code-owners.md similarity index 100% rename from glean-code/commands/code-owners.md rename to glean/commands/code-owners.md diff --git a/glean-code/commands/codebase-context.md b/glean/commands/codebase-context.md similarity index 100% rename from glean-code/commands/codebase-context.md rename to glean/commands/codebase-context.md diff --git a/glean-code/commands/find-examples.md b/glean/commands/find-examples.md similarity index 100% rename from glean-code/commands/find-examples.md rename to glean/commands/find-examples.md diff --git a/glean-people/commands/find-expert.md b/glean/commands/find-expert.md similarity index 100% rename from glean-people/commands/find-expert.md rename to glean/commands/find-expert.md diff --git a/glean-core/commands/mcp-setup.md b/glean/commands/mcp-setup.md similarity index 100% rename from glean-core/commands/mcp-setup.md rename to glean/commands/mcp-setup.md diff --git a/glean-core/commands/mcp-status.md b/glean/commands/mcp-status.md similarity index 100% rename from glean-core/commands/mcp-status.md rename to glean/commands/mcp-status.md diff --git a/glean-code/commands/plan-prep.md b/glean/commands/plan-prep.md similarity index 100% rename from glean-code/commands/plan-prep.md rename to glean/commands/plan-prep.md diff --git a/glean-search/commands/search.md b/glean/commands/search.md similarity index 100% rename from glean-search/commands/search.md rename to glean/commands/search.md diff --git a/glean-code/commands/similar-code.md b/glean/commands/similar-code.md similarity index 100% rename from glean-code/commands/similar-code.md rename to glean/commands/similar-code.md diff --git a/glean-people/commands/stakeholders.md b/glean/commands/stakeholders.md similarity index 100% rename from glean-people/commands/stakeholders.md rename to glean/commands/stakeholders.md diff --git a/glean-core/rules/glean-result-vetting.mdc b/glean/rules/glean-result-vetting.mdc similarity index 100% rename from glean-core/rules/glean-result-vetting.mdc rename to glean/rules/glean-result-vetting.mdc diff --git a/glean-core/rules/glean-tool-selection.mdc b/glean/rules/glean-tool-selection.mdc similarity index 100% rename from glean-core/rules/glean-tool-selection.mdc rename to glean/rules/glean-tool-selection.mdc diff --git a/glean-code/skills/code-exploration/SKILL.md b/glean/skills/code-exploration/SKILL.md similarity index 100% rename from glean-code/skills/code-exploration/SKILL.md rename to glean/skills/code-exploration/SKILL.md diff --git a/glean-code/skills/code-owners/SKILL.md b/glean/skills/code-owners/SKILL.md similarity index 100% rename from glean-code/skills/code-owners/SKILL.md rename to glean/skills/code-owners/SKILL.md diff --git a/glean-code/skills/codebase-context/SKILL.md b/glean/skills/codebase-context/SKILL.md similarity index 100% rename from glean-code/skills/codebase-context/SKILL.md rename to glean/skills/codebase-context/SKILL.md diff --git a/glean-core/skills/confidence-signals/SKILL.md b/glean/skills/confidence-signals/SKILL.md similarity index 100% rename from glean-core/skills/confidence-signals/SKILL.md rename to glean/skills/confidence-signals/SKILL.md diff --git a/glean-core/skills/enterprise-search/SKILL.md b/glean/skills/enterprise-search/SKILL.md similarity index 100% rename from glean-core/skills/enterprise-search/SKILL.md rename to glean/skills/enterprise-search/SKILL.md diff --git a/glean-code/skills/find-examples/SKILL.md b/glean/skills/find-examples/SKILL.md similarity index 100% rename from glean-code/skills/find-examples/SKILL.md rename to glean/skills/find-examples/SKILL.md diff --git a/glean-people/skills/find-expert/SKILL.md b/glean/skills/find-expert/SKILL.md similarity index 100% rename from glean-people/skills/find-expert/SKILL.md rename to glean/skills/find-expert/SKILL.md diff --git a/glean-core/skills/glean-tools-guide/SKILL.md b/glean/skills/glean-tools-guide/SKILL.md similarity index 100% rename from glean-core/skills/glean-tools-guide/SKILL.md rename to glean/skills/glean-tools-guide/SKILL.md diff --git a/glean-core/skills/mcp-setup/SKILL.md b/glean/skills/mcp-setup/SKILL.md similarity index 100% rename from glean-core/skills/mcp-setup/SKILL.md rename to glean/skills/mcp-setup/SKILL.md diff --git a/glean-core/skills/mcp-status/SKILL.md b/glean/skills/mcp-status/SKILL.md similarity index 100% rename from glean-core/skills/mcp-status/SKILL.md rename to glean/skills/mcp-status/SKILL.md diff --git a/glean-core/skills/meeting-context/SKILL.md b/glean/skills/meeting-context/SKILL.md similarity index 100% rename from glean-core/skills/meeting-context/SKILL.md rename to glean/skills/meeting-context/SKILL.md diff --git a/glean-core/skills/people-lookup/SKILL.md b/glean/skills/people-lookup/SKILL.md similarity index 100% rename from glean-core/skills/people-lookup/SKILL.md rename to glean/skills/people-lookup/SKILL.md diff --git a/glean-code/skills/plan-prep/SKILL.md b/glean/skills/plan-prep/SKILL.md similarity index 100% rename from glean-code/skills/plan-prep/SKILL.md rename to glean/skills/plan-prep/SKILL.md diff --git a/glean-search/skills/search/SKILL.md b/glean/skills/search/SKILL.md similarity index 100% rename from glean-search/skills/search/SKILL.md rename to glean/skills/search/SKILL.md diff --git a/glean-code/skills/similar-code/SKILL.md b/glean/skills/similar-code/SKILL.md similarity index 100% rename from glean-code/skills/similar-code/SKILL.md rename to glean/skills/similar-code/SKILL.md diff --git a/glean-people/skills/stakeholders/SKILL.md b/glean/skills/stakeholders/SKILL.md similarity index 100% rename from glean-people/skills/stakeholders/SKILL.md rename to glean/skills/stakeholders/SKILL.md diff --git a/glean-core/skills/synthesis-patterns/SKILL.md b/glean/skills/synthesis-patterns/SKILL.md similarity index 100% rename from glean-core/skills/synthesis-patterns/SKILL.md rename to glean/skills/synthesis-patterns/SKILL.md diff --git a/package.json b/package.json index d201a3d..ec918d6 100644 --- a/package.json +++ b/package.json @@ -31,10 +31,7 @@ }, "files": [ ".cursor-plugin/**/*", - "glean-core/**/*", - "glean-search/**/*", - "glean-code/**/*", - "glean-people/**/*", + "glean/**/*", "README.md", "LICENSE" ],