From glean-pack
Sets up local dev environment for Glean custom connectors with TypeScript client, mock search responses, Vitest tests, and project structure. Useful for testing integrations offline.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin glean-packThis skill is limited to using the following tools:
Set up local development for Glean custom connectors and search integrations with mock data and test datasources.
Indexes documents into Glean custom datasources via Indexing API and searches using Client API. For building connectors, testing search quality, or learning patterns.
Searches and fetches Glean developer docs via MCP tools for APIs, SDKs (Python/JS), MCP config, authentication, indexing, and integrations.
Sets up Node.js/TypeScript Groq SDK projects with tsx hot reload, Vitest unit/integration tests, mocking, and singleton client for fast dev loops.
Share bugs, ideas, or general feedback.
Set up local development for Glean custom connectors and search integrations with mock data and test datasources.
glean-connector/
├── src/
│ ├── glean/client.ts # Typed Glean API client
│ ├── connectors/wiki.ts # Wiki connector logic
│ └── index.ts
├── tests/
│ ├── mock-data.ts # Mock Glean responses
│ └── connector.test.ts
├── .env.local
└── package.json
export const mockSearchResponse = {
results: [
{ title: 'Test Doc', url: 'https://test.com/doc', score: 0.95, datasource: 'test_ds',
snippets: [{ snippet: 'This is a <b>test</b> document' }] },
],
totalCount: 1,
};
export const mockIndexResponse = { status: 'OK', documentsIndexed: 5 };
import { describe, it, expect, vi } from 'vitest';
describe('Wiki Connector', () => {
it('transforms wiki pages to Glean documents', () => {
const wikiPage = { id: '1', title: 'Setup', content: 'How to...', author: 'jane@co.com' };
const gleanDoc = transformToGleanDoc(wikiPage);
expect(gleanDoc).toHaveProperty('id', '1');
expect(gleanDoc).toHaveProperty('title', 'Setup');
expect(gleanDoc.body.textContent).toBe('How to...');
});
});