68 lines
2.3 KiB
Markdown
68 lines
2.3 KiB
Markdown
# Marketplace Large
|
|
|
|
A large marketplace fixture with 6+ plugins, deep CLAUDE.md content,
|
|
multiple hook event types, multiple MCP servers, and extensive shared
|
|
configuration. Intended to produce a strictly larger total-estimated-tokens
|
|
count than the small or medium fixtures.
|
|
|
|
## Plugins
|
|
|
|
- plugin-alpha — linting and static analysis
|
|
- plugin-beta — code formatting
|
|
- plugin-gamma — test runner and coverage
|
|
- plugin-delta — release automation and tagging
|
|
- plugin-epsilon — configuration auditing
|
|
- plugin-zeta — security scanning
|
|
- plugin-eta — documentation generation
|
|
- plugin-theta — dependency management
|
|
|
|
## Commands
|
|
|
|
- `npm run build` — Build all workspace packages
|
|
- `npm test` — Run the entire test suite
|
|
- `npm run lint` — Run all linters
|
|
- `npm run format` — Auto-format all source files
|
|
- `npm run release` — Cut a new release
|
|
- `npm run audit` — Security audit of dependencies
|
|
- `npm run docs:build` — Build documentation site
|
|
- `npm run docs:serve` — Serve documentation locally
|
|
- `npm run typecheck` — Type-check without emitting
|
|
- `npm run clean` — Remove build artifacts
|
|
|
|
## Architecture
|
|
|
|
The marketplace hosts multiple plugins, each self-contained. Inter-plugin
|
|
communication happens via well-defined contracts; no plugin imports from
|
|
another directly. Shared primitives live in a workspace package consumed
|
|
by every plugin.
|
|
|
|
## Conventions
|
|
|
|
- Conventional Commits with plugin scope: `feat(plugin-name): description`
|
|
- Semantic versioning per plugin, coordinated via a release-please-style flow
|
|
- Tests live alongside implementation files as `*.test.mjs`
|
|
- Zero runtime npm dependencies in hooks and scanners where possible
|
|
|
|
## Tooling
|
|
|
|
- Node.js ≥ 18 (ES Modules, node:test)
|
|
- TypeScript strict mode
|
|
- ESLint + Prettier
|
|
- Shared git hooks via `hooks/hooks.json`
|
|
|
|
## Release Process
|
|
|
|
Each plugin version-bumps independently. The marketplace root README and
|
|
per-plugin README are updated in the same commit as the version bump. A
|
|
tag of the form `{plugin}-v{semver}` is pushed to Forgejo alongside the
|
|
main branch commit.
|
|
|
|
## Shared Patterns
|
|
|
|
Shared conventions and helper patterns are defined in the imported files
|
|
below. Each import is a logical slice: one for naming conventions, one
|
|
for error-handling patterns, one for test patterns.
|
|
|
|
@.claude/shared-naming.md
|
|
@.claude/shared-errors.md
|
|
@.claude/shared-tests.md
|