Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
node-version: 20
cache: 'npm'

- run: npm ci --legacy-peer-deps
- run: npm ci
- uses: nrwl/nx-set-shas@v4
- run: npx nx format:check

Expand Down
77 changes: 75 additions & 2 deletions CONTRIBUTING.MD
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Thank you for your interest in contributing to the Angular Toolkit MCP! This doc
- [Submitting Changes](#submitting-changes)
- [Documentation](#documentation)
- [Debugging](#debugging)
- [Release Process](#release-process)

## 🚀 Getting Started

Expand All @@ -38,7 +39,7 @@ Thank you for your interest in contributing to the Angular Toolkit MCP! This doc

2. **Build the project:**
```bash
npx nx build angular-mcp
npx nx build @push-based/angular-toolkit-mcp
```

### Nx Workspace Commands
Expand Down Expand Up @@ -209,7 +210,7 @@ Before committing, ensure:
Start the MCP server in debug mode:

```bash
npx nx run angular-mcp:debug
npx nx run @push-based/angular-toolkit-mcp:debug
```

This starts the server with the MCP Inspector for debugging.
Expand All @@ -222,6 +223,78 @@ This starts the server with the MCP Inspector for debugging.
- Use `console.log` or debugger statements in development
- Test with the minimal-repo examples

## 📦 Release Process

### Publishing to npm

The Angular Toolkit MCP is published to npm as `@push-based/angular-toolkit-mcp`. Only maintainers with appropriate permissions can publish new versions.

### Release Steps

1. **Update Version**

Update the version in `packages/angular-mcp/package.json` following semantic versioning:
- **Patch** (0.1.0 → 0.1.1): Bug fixes
- **Minor** (0.1.0 → 0.2.0): New features (backwards compatible)
- **Major** (0.1.0 → 1.0.0): Breaking changes

2. **Build the Package**
```bash
npx nx build @push-based/angular-toolkit-mcp
```

3. **Test the Package**
```bash
cd packages/angular-mcp/dist
npm pack
# Test the generated .tgz file
node main.js --help
```

4. **Authenticate with npm**
```bash
npm login
```
Ensure you have access to the `@push-based` scope.

5. **Publish to npm**
```bash
npm run publish:mcp
```
Or manually:
```bash
npx nx build @push-based/angular-toolkit-mcp
cd packages/angular-mcp/dist
npm publish
```

6. **Verify Publication**
```bash
npm view @push-based/angular-toolkit-mcp
npx @push-based/angular-toolkit-mcp@latest --help
```

7. **Tag the Release**
```bash
git tag v0.1.0
git push origin v0.1.0
```

8. **Update Documentation**
- Update CHANGELOG.md with release notes
- Update any version references in documentation

### Pre-release Checklist

Before publishing a new version:
- [ ] All tests pass (`npx nx run-many --target=test --all`)
- [ ] No linting errors (`npx nx run-many --target=lint --all`)
- [ ] Build succeeds (`npx nx build @push-based/angular-toolkit-mcp`)
- [ ] Version number updated in package.json
- [ ] CHANGELOG.md updated with changes
- [ ] Documentation updated as needed
- [ ] Local npm pack test successful

## 📄 License

By contributing, you agree that your contributions will be licensed under the MIT License.
65 changes: 55 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,27 @@ A Model Context Protocol (MCP) server that provides Angular project analysis and
- Breaking change detection during component updates
- Code quality analysis and improvement

## Quick Start

Install and run via npx (no manual build required):

```json
{
"mcpServers": {
"angular-toolkit": {
"command": "npx",
"args": [
"@push-based/angular-toolkit-mcp@latest",
"--workspaceRoot=/absolute/path/to/your/angular/workspace",
"--ds.uiRoot=packages/ui"
]
}
}
}
```

**Required Node.js version:** 18 or higher

## Configuration

### Prerequisites
Expand All @@ -28,39 +49,63 @@ A Model Context Protocol (MCP) server that provides Angular project analysis and

### Installation & Setup

#### For Users

Simply use npx as shown in the Quick Start section above. No installation or build required.

#### For Contributors (Local Development)

1. Clone the repository

2. Build the MCP
2. Install dependencies and build the MCP

```bash
```bash
npm install
npx nx build angular-mcp
```
```

2. Locate the built server
3. Locate the built server

After building, the server will be available at `packages/angular-mcp/dist/main.js`

### MCP Configuration

Add the server to your MCP client configuration (e.g., Claude Desktop, Cursor, Copilot, Windsurf or other MCP-compatible clients):

#### For Cursor (`.cursor/mcp.json` or MCP settings):
#### For Users (npx - Recommended)

```json
{
"mcpServers": {
"angular-toolkit": {
"command": "npx",
"args": [
"@push-based/angular-toolkit-mcp@latest",
"--workspaceRoot=/absolute/path/to/your/angular/workspace",
"--ds.uiRoot=relative/path/to/ui/components",
"--ds.storybookDocsRoot=relative/path/to/storybook/docs",
"--ds.deprecatedCssClassesPath=relative/path/to/component-options.js"
]
}
}
}
```

#### For Contributors (Local Development)

Copy `.cursor/mcp.json.example` to the project you're working on. Copied file should be: `.cursor/mcp.json` and update `angular-toolkit-mcp` values accordingly:
When developing locally, point to the built server:

```json
{
"mcpServers": {
...(other servers)...
"angular-toolkit-mcp": {
"command": "node",
"args": [
"/absolute/path/to/angular-mcp-server/packages/angular-mcp-server/dist/index.js",
"/absolute/path/to/angular-toolkit-mcp/packages/angular-mcp/dist/main.js",
"--workspaceRoot=/absolute/path/to/your/angular/workspace",
"--ds.uiRoot=relative/path/to/ui/components",
"--ds.storybookDocsRoot=relative/path/to/storybook/docs",
"--ds.deprecatedCssClassesPath=relative/path/to/component-options.js",
"--ds.uiRoot=relative/path/to/ui/components"
"--ds.deprecatedCssClassesPath=relative/path/to/component-options.js"
]
}
}
Expand Down
Loading
Loading