Thank you for your interest in contributing to PublishReady.
This is a TypeScript monorepo using npm workspaces.
-
Clone the repository:
git clone https://github.com/veldica/publishready-mcp.git cd publishready-mcp -
Install dependencies:
npm install
-
Build the project:
npm run build
-
Run tests:
npm test
packages/core: The core deterministic analysis engine.packages/mcp: The Model Context Protocol server implementation.packages/cli: Command-line interface for the analysis engine.packages/schemas: Shared Zod schemas and TypeScript types.
- We use
eslintfor linting andprettierfor formatting. - Ensure all changes are covered by tests in the
tests/directory. - All public-facing tools must have corresponding schemas in
packages/schemas.
- Create a feature branch.
- Make your changes and add tests.
- Ensure
npm run typecheck,npm run lint, andnpm testpass. - Submit a Pull Request.
For maintainers preparing a release:
- Validation: Run the full local gate to ensure everything is solid.
npm run release:dry-run
- Publish Order: If publishing for the first time or if multiple packages changed, follow this order:
@veldica/publishready-schemas->@veldica/publishready-core->@veldica/publishready-mcp->@veldica/publishready-cli. - Provenance: Packages are published with
--provenancerequirement. - Smithery: Host the MCP server over Streamable HTTP and publish the public HTTPS
/mcpendpoint.npx @veldica/publishready-mcp --transport=http --port=3000 smithery mcp publish "https://your-domain.example/mcp" -n @veldica/publishready-mcp - MCP Registry: Publish
server.jsonafter the npm package is available.mcp-publisher login github mcp-publisher publish --file=./server.json
- Smoke Test: After publishing MCP, verify with:
echo '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}' | npx @veldica/publishready-mcp
By contributing, you agree that your contributions will be licensed under the MIT License.