@forgespace/branding-mcp 0.6.2 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -5
- package/dist/index.js +1 -1
- package/package.json +27 -9
- package/server.json +29 -0
- package/.env.example +0 -3
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -22
- package/.github/workflows/ci.yml +0 -73
- package/.github/workflows/release-automation.yml +0 -56
- package/.github/workflows/security-scan.yml +0 -37
- package/.gitleaks.toml +0 -14
- package/.prettierrc.json +0 -10
- package/CHANGELOG.md +0 -92
- package/CONTRIBUTING.md +0 -203
- package/data/README.md +0 -13
- package/docs/API.md +0 -110
- package/docs/DATA_SOURCES.md +0 -69
- package/docs/INTEGRATION.md +0 -58
- package/eslint.config.js +0 -52
- package/jest.config.js +0 -40
- package/src/__tests__/integration/brand-generation.test.ts +0 -84
- package/src/__tests__/integration/mcp-server.test.ts +0 -18
- package/src/__tests__/unit/ai-interpreter.test.ts +0 -172
- package/src/__tests__/unit/border-system.test.ts +0 -77
- package/src/__tests__/unit/color-palette.test.ts +0 -161
- package/src/__tests__/unit/contrast-checker.test.ts +0 -124
- package/src/__tests__/unit/design-system-tool.test.ts +0 -176
- package/src/__tests__/unit/design-tokens.test.ts +0 -184
- package/src/__tests__/unit/favicon-generator.test.ts +0 -80
- package/src/__tests__/unit/gradient-system.test.ts +0 -122
- package/src/__tests__/unit/logo-generator.test.ts +0 -146
- package/src/__tests__/unit/motion-system.test.ts +0 -91
- package/src/__tests__/unit/og-image-generator.test.ts +0 -115
- package/src/__tests__/unit/shadow-system.test.ts +0 -63
- package/src/__tests__/unit/spacing-scale.test.ts +0 -60
- package/src/__tests__/unit/typography-system.test.ts +0 -71
- package/src/index.ts +0 -76
- package/src/lib/branding-core/ai/brand-interpreter.ts +0 -30
- package/src/lib/branding-core/ai/claude-interpreter.ts +0 -76
- package/src/lib/branding-core/ai/intent-applier.ts +0 -59
- package/src/lib/branding-core/ai/keyword-interpreter.ts +0 -95
- package/src/lib/branding-core/ai/prompts.ts +0 -93
- package/src/lib/branding-core/ai/types.ts +0 -36
- package/src/lib/branding-core/documents/html-generator.ts +0 -32
- package/src/lib/branding-core/documents/pdf-generator.ts +0 -21
- package/src/lib/branding-core/exporters/css-variables.ts +0 -71
- package/src/lib/branding-core/exporters/design-tokens.ts +0 -86
- package/src/lib/branding-core/exporters/figma-tokens.ts +0 -87
- package/src/lib/branding-core/exporters/react-theme.ts +0 -69
- package/src/lib/branding-core/exporters/sass-variables.ts +0 -74
- package/src/lib/branding-core/exporters/tailwind-preset.ts +0 -67
- package/src/lib/branding-core/generators/border-system.ts +0 -41
- package/src/lib/branding-core/generators/color-palette.ts +0 -147
- package/src/lib/branding-core/generators/favicon-generator.ts +0 -33
- package/src/lib/branding-core/generators/gradient-system.ts +0 -120
- package/src/lib/branding-core/generators/logo-generator.ts +0 -152
- package/src/lib/branding-core/generators/motion-system.ts +0 -98
- package/src/lib/branding-core/generators/og-image-generator.ts +0 -97
- package/src/lib/branding-core/generators/shadow-system.ts +0 -66
- package/src/lib/branding-core/generators/spacing-scale.ts +0 -29
- package/src/lib/branding-core/generators/typography-system.ts +0 -128
- package/src/lib/branding-core/index.ts +0 -28
- package/src/lib/branding-core/validators/brand-consistency.ts +0 -79
- package/src/lib/branding-core/validators/contrast-checker.ts +0 -37
- package/src/lib/branding-core/validators/token-schema.ts +0 -50
- package/src/lib/config.ts +0 -13
- package/src/lib/logger.ts +0 -12
- package/src/lib/types.ts +0 -236
- package/src/resources/brand-knowledge.ts +0 -60
- package/src/resources/brand-templates.ts +0 -385
- package/src/tools/create-brand-guidelines.ts +0 -94
- package/src/tools/export-design-tokens.ts +0 -52
- package/src/tools/generate-brand-assets.ts +0 -48
- package/src/tools/generate-brand-identity.ts +0 -115
- package/src/tools/generate-color-palette.ts +0 -43
- package/src/tools/generate-design-system.ts +0 -163
- package/src/tools/generate-typography-system.ts +0 -42
- package/src/tools/refine-brand-element.ts +0 -65
- package/src/tools/validate-brand-consistency.ts +0 -32
- package/tsconfig.json +0 -21
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
[](https://github.com/Forge-Space/branding-mcp/actions/workflows/ci.yml)
|
|
10
|
+
[](https://www.npmjs.com/package/@forgespace/branding-mcp)
|
|
10
11
|
[](https://opensource.org/licenses/MIT)
|
|
11
12
|
|
|
12
13
|
Generate complete design systems — colors, typography, spacing, shadows, borders, motion tokens, gradients, multi-variant logos, favicons, and OG images with multi-format export. 9 MCP tools, zero API dependencies, algorithmic-first generation.
|
|
@@ -34,19 +35,35 @@ npm install
|
|
|
34
35
|
npm run build
|
|
35
36
|
```
|
|
36
37
|
|
|
37
|
-
###
|
|
38
|
+
### Run from npm (stdio)
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx -y @forgespace/branding-mcp@latest
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Install globally
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g @forgespace/branding-mcp
|
|
48
|
+
forgespace-branding-mcp
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### IDE / client config
|
|
38
52
|
|
|
39
53
|
```json
|
|
40
54
|
{
|
|
41
55
|
"mcpServers": {
|
|
42
|
-
"branding": {
|
|
43
|
-
"command": "
|
|
44
|
-
"args": ["
|
|
56
|
+
"forgespace-branding": {
|
|
57
|
+
"command": "npx",
|
|
58
|
+
"args": ["-y", "@forgespace/branding-mcp@latest"]
|
|
45
59
|
}
|
|
46
60
|
}
|
|
47
61
|
}
|
|
48
62
|
```
|
|
49
63
|
|
|
64
|
+
Set `ANTHROPIC_API_KEY` when you want AI-assisted refinement. The server also
|
|
65
|
+
works in algorithmic-only mode without external APIs.
|
|
66
|
+
|
|
50
67
|
### MCP Tools
|
|
51
68
|
|
|
52
69
|
| Tool | Description |
|
|
@@ -78,6 +95,19 @@ npm run test:coverage # Coverage report
|
|
|
78
95
|
npm run build # Build TypeScript
|
|
79
96
|
```
|
|
80
97
|
|
|
98
|
+
## Distribution
|
|
99
|
+
|
|
100
|
+
- **npm** — installable as
|
|
101
|
+
[`@forgespace/branding-mcp`](https://www.npmjs.com/package/@forgespace/branding-mcp)
|
|
102
|
+
- **MCP Registry metadata** — `server.json` and `mcpName` are included for
|
|
103
|
+
registry submission
|
|
104
|
+
- **Tag release automation** — pushing `v*` runs npm publish with provenance,
|
|
105
|
+
then publishes the same version to the MCP Registry via GitHub OIDC
|
|
106
|
+
- **Weekly registry ops** — `.github/workflows/mcp-registry-status.yml` refreshes
|
|
107
|
+
one issue with npm and MCP Registry drift, visibility, and next actions
|
|
108
|
+
- **GitHub** —
|
|
109
|
+
[Forge-Space/branding-mcp](https://github.com/Forge-Space/branding-mcp)
|
|
110
|
+
|
|
81
111
|
## Architecture
|
|
82
112
|
|
|
83
113
|
```
|
|
@@ -101,10 +131,16 @@ src/
|
|
|
101
131
|
Part of the [Forge Space](https://github.com/Forge-Space) ecosystem:
|
|
102
132
|
|
|
103
133
|
- **mcp-gateway** — Register as MCP server (port 8033)
|
|
104
|
-
- **
|
|
134
|
+
- **ui-mcp** — Consumes brand tokens via `brandId` parameter
|
|
105
135
|
- **uiforge-webapp** — Brand management UI at `/branding/*`
|
|
106
136
|
- **forge-patterns** — Shared configs and conventions
|
|
107
137
|
|
|
138
|
+
## Community
|
|
139
|
+
|
|
140
|
+
- [Documentation](https://docs.forgespace.co/docs)
|
|
141
|
+
- [GitHub Discussions](https://github.com/orgs/Forge-Space/discussions)
|
|
142
|
+
- [Issue tracker](https://github.com/Forge-Space/branding-mcp/issues)
|
|
143
|
+
|
|
108
144
|
## License
|
|
109
145
|
|
|
110
146
|
MIT
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ async function main() {
|
|
|
19
19
|
logger.info({ env: config.nodeEnv }, 'Starting branding-mcp server');
|
|
20
20
|
const server = new McpServer({
|
|
21
21
|
name: '@forgespace/branding-mcp',
|
|
22
|
-
version: '0.1
|
|
22
|
+
version: '0.7.1',
|
|
23
23
|
});
|
|
24
24
|
registerGenerateBrandIdentity(server);
|
|
25
25
|
registerGenerateColorPalette(server);
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgespace/branding-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
|
+
"mcpName": "io.github.forge-space/branding-mcp",
|
|
4
5
|
"description": "MCP server for AI-powered brand identity generation — color palettes, typography systems, design tokens, and brand guidelines with multi-format export",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "dist/index.js",
|
|
@@ -24,18 +25,36 @@
|
|
|
24
25
|
"test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
|
|
25
26
|
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
|
|
26
27
|
"typecheck": "tsc --noEmit",
|
|
28
|
+
"check:cycles": "madge --circular --extensions ts src/",
|
|
29
|
+
"knip": "knip",
|
|
30
|
+
"registry:check": "node scripts/registry-check.mjs",
|
|
27
31
|
"pre-commit": "npm run lint && npm run format && npm run test",
|
|
28
|
-
"prepare": "husky"
|
|
32
|
+
"prepare": "husky",
|
|
33
|
+
"prepublishOnly": "npm run build",
|
|
34
|
+
"prepack": "npm run build"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"README.md",
|
|
39
|
+
"LICENSE",
|
|
40
|
+
"server.json"
|
|
41
|
+
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public",
|
|
44
|
+
"registry": "https://registry.npmjs.org/"
|
|
29
45
|
},
|
|
30
46
|
"keywords": [
|
|
31
47
|
"mcp",
|
|
48
|
+
"mcp-server",
|
|
32
49
|
"branding",
|
|
33
50
|
"design-tokens",
|
|
34
51
|
"color-palette",
|
|
35
52
|
"typography",
|
|
36
53
|
"brand-identity",
|
|
54
|
+
"agent-tools",
|
|
37
55
|
"ai",
|
|
38
|
-
"forge-space"
|
|
56
|
+
"forge-space",
|
|
57
|
+
"internal-developer-platform"
|
|
39
58
|
],
|
|
40
59
|
"author": "Forge Space",
|
|
41
60
|
"license": "MIT",
|
|
@@ -49,22 +68,21 @@
|
|
|
49
68
|
"homepage": "https://github.com/Forge-Space/branding-mcp#readme",
|
|
50
69
|
"dependencies": {
|
|
51
70
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
52
|
-
"culori": "^4.0.1",
|
|
53
|
-
"pdfkit": "^0.16.0",
|
|
54
71
|
"pino": "^10.3.1",
|
|
55
|
-
"satori": "^0.12.1",
|
|
56
|
-
"sharp": "^0.34.5",
|
|
57
72
|
"zod": "^3.24.0"
|
|
58
73
|
},
|
|
59
74
|
"devDependencies": {
|
|
75
|
+
"@commitlint/cli": "^20.4.3",
|
|
76
|
+
"@commitlint/config-conventional": "^20.4.3",
|
|
60
77
|
"@types/node": "^22.15.0",
|
|
61
|
-
"@types/pdfkit": "^0.13.8",
|
|
62
78
|
"@typescript-eslint/eslint-plugin": "^8.32.0",
|
|
63
79
|
"@typescript-eslint/parser": "^8.32.0",
|
|
64
80
|
"eslint": "^9.0.0",
|
|
65
81
|
"husky": "^9.0.0",
|
|
66
82
|
"jest": "^29.7.0",
|
|
67
|
-
"
|
|
83
|
+
"knip": "^5.86.0",
|
|
84
|
+
"lint-staged": "^16.3.2",
|
|
85
|
+
"madge": "^8.0.0",
|
|
68
86
|
"prettier": "^3.0.0",
|
|
69
87
|
"ts-jest": "^29.4.6",
|
|
70
88
|
"typescript": "^5.1.6"
|
package/server.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
+
"name": "io.github.forge-space/branding-mcp",
|
|
4
|
+
"description": "AI-powered brand identity generation via MCP with design tokens, typography, logo assets, and brand guidelines export.",
|
|
5
|
+
"version": "0.7.1",
|
|
6
|
+
"registryType": "npm",
|
|
7
|
+
"repository": {
|
|
8
|
+
"url": "https://github.com/Forge-Space/branding-mcp",
|
|
9
|
+
"source": "github"
|
|
10
|
+
},
|
|
11
|
+
"packages": [
|
|
12
|
+
{
|
|
13
|
+
"registryType": "npm",
|
|
14
|
+
"identifier": "@forgespace/branding-mcp",
|
|
15
|
+
"version": "0.7.1",
|
|
16
|
+
"transport": {
|
|
17
|
+
"type": "stdio"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"environmentVariables": [
|
|
22
|
+
{
|
|
23
|
+
"name": "ANTHROPIC_API_KEY",
|
|
24
|
+
"description": "Optional. Enables natural-language brand refinement with Anthropic when the AI strategy is selected.",
|
|
25
|
+
"isRequired": false,
|
|
26
|
+
"isSecret": true
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
package/.env.example
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
## Summary
|
|
2
|
-
|
|
3
|
-
<!-- Brief description of what this PR does -->
|
|
4
|
-
|
|
5
|
-
## Changes
|
|
6
|
-
|
|
7
|
-
<!-- Bullet list of changes -->
|
|
8
|
-
|
|
9
|
-
## Type
|
|
10
|
-
|
|
11
|
-
- [ ] feat: New feature
|
|
12
|
-
- [ ] fix: Bug fix
|
|
13
|
-
- [ ] refactor: Code refactoring
|
|
14
|
-
- [ ] chore: Maintenance
|
|
15
|
-
- [ ] docs: Documentation
|
|
16
|
-
|
|
17
|
-
## Checklist
|
|
18
|
-
|
|
19
|
-
- [ ] `npm run validate` passes
|
|
20
|
-
- [ ] Tests cover new functionality
|
|
21
|
-
- [ ] CHANGELOG.md updated
|
|
22
|
-
- [ ] No secrets or credentials committed
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [main]
|
|
8
|
-
|
|
9
|
-
concurrency:
|
|
10
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
11
|
-
cancel-in-progress: true
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
lint:
|
|
15
|
-
name: Lint & Format
|
|
16
|
-
runs-on: ubuntu-latest
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v4
|
|
19
|
-
- uses: actions/setup-node@v4
|
|
20
|
-
with:
|
|
21
|
-
node-version: 22
|
|
22
|
-
cache: npm
|
|
23
|
-
- run: npm ci
|
|
24
|
-
- run: npm run lint:check
|
|
25
|
-
- run: npm run format:check
|
|
26
|
-
|
|
27
|
-
typecheck:
|
|
28
|
-
name: Type Check
|
|
29
|
-
runs-on: ubuntu-latest
|
|
30
|
-
steps:
|
|
31
|
-
- uses: actions/checkout@v4
|
|
32
|
-
- uses: actions/setup-node@v4
|
|
33
|
-
with:
|
|
34
|
-
node-version: 22
|
|
35
|
-
cache: npm
|
|
36
|
-
- run: npm ci
|
|
37
|
-
- run: npm run typecheck
|
|
38
|
-
|
|
39
|
-
test:
|
|
40
|
-
name: Test (Node ${{ matrix.node-version }})
|
|
41
|
-
runs-on: ubuntu-latest
|
|
42
|
-
strategy:
|
|
43
|
-
matrix:
|
|
44
|
-
node-version: [22, 24]
|
|
45
|
-
steps:
|
|
46
|
-
- uses: actions/checkout@v4
|
|
47
|
-
- uses: actions/setup-node@v4
|
|
48
|
-
with:
|
|
49
|
-
node-version: ${{ matrix.node-version }}
|
|
50
|
-
cache: npm
|
|
51
|
-
- run: npm ci
|
|
52
|
-
- run: npm run test:coverage
|
|
53
|
-
- name: Upload coverage
|
|
54
|
-
if: matrix.node-version == 22
|
|
55
|
-
uses: codecov/codecov-action@v5
|
|
56
|
-
with:
|
|
57
|
-
file: ./coverage/lcov.info
|
|
58
|
-
fail_ci_if_error: false
|
|
59
|
-
|
|
60
|
-
build:
|
|
61
|
-
name: Build
|
|
62
|
-
runs-on: ubuntu-latest
|
|
63
|
-
needs: [lint, typecheck, test]
|
|
64
|
-
steps:
|
|
65
|
-
- uses: actions/checkout@v4
|
|
66
|
-
- uses: actions/setup-node@v4
|
|
67
|
-
with:
|
|
68
|
-
node-version: 22
|
|
69
|
-
cache: npm
|
|
70
|
-
- run: npm ci
|
|
71
|
-
- run: npm run build
|
|
72
|
-
- name: Verify dist output
|
|
73
|
-
run: test -f dist/index.js
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*'
|
|
7
|
-
|
|
8
|
-
concurrency:
|
|
9
|
-
group: release
|
|
10
|
-
cancel-in-progress: false
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
validate:
|
|
14
|
-
name: Validate
|
|
15
|
-
runs-on: ubuntu-latest
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v4
|
|
18
|
-
- uses: actions/setup-node@v4
|
|
19
|
-
with:
|
|
20
|
-
node-version: 22
|
|
21
|
-
cache: npm
|
|
22
|
-
- run: npm ci
|
|
23
|
-
- run: npm run build
|
|
24
|
-
- run: npm run test
|
|
25
|
-
|
|
26
|
-
release:
|
|
27
|
-
name: Create Release
|
|
28
|
-
needs: [validate]
|
|
29
|
-
runs-on: ubuntu-latest
|
|
30
|
-
permissions:
|
|
31
|
-
contents: write
|
|
32
|
-
steps:
|
|
33
|
-
- uses: actions/checkout@v4
|
|
34
|
-
- name: Create GitHub Release
|
|
35
|
-
uses: softprops/action-gh-release@v2
|
|
36
|
-
with:
|
|
37
|
-
generate_release_notes: true
|
|
38
|
-
|
|
39
|
-
publish:
|
|
40
|
-
name: Publish to npm
|
|
41
|
-
needs: [validate]
|
|
42
|
-
runs-on: ubuntu-latest
|
|
43
|
-
permissions:
|
|
44
|
-
contents: read
|
|
45
|
-
steps:
|
|
46
|
-
- uses: actions/checkout@v4
|
|
47
|
-
- uses: actions/setup-node@v4
|
|
48
|
-
with:
|
|
49
|
-
node-version: 22
|
|
50
|
-
cache: npm
|
|
51
|
-
registry-url: https://registry.npmjs.org
|
|
52
|
-
- run: npm ci
|
|
53
|
-
- run: npm run build
|
|
54
|
-
- run: npm publish --access public
|
|
55
|
-
env:
|
|
56
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
name: Security Scan
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [main]
|
|
8
|
-
schedule:
|
|
9
|
-
- cron: '0 6 * * 1'
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
audit:
|
|
13
|
-
name: Dependency Audit
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@v4
|
|
17
|
-
- uses: actions/setup-node@v4
|
|
18
|
-
with:
|
|
19
|
-
node-version: 22
|
|
20
|
-
cache: npm
|
|
21
|
-
- run: npm ci
|
|
22
|
-
- name: Audit production dependencies
|
|
23
|
-
run: npm audit --omit=dev --audit-level=high
|
|
24
|
-
- name: Audit dev dependencies (advisory only)
|
|
25
|
-
run: npm audit --audit-level=high || echo "::warning::Dev dependencies have vulnerabilities. Review manually."
|
|
26
|
-
continue-on-error: true
|
|
27
|
-
|
|
28
|
-
secret-scanning:
|
|
29
|
-
name: Secret Scanning
|
|
30
|
-
runs-on: ubuntu-latest
|
|
31
|
-
steps:
|
|
32
|
-
- uses: actions/checkout@v4
|
|
33
|
-
with:
|
|
34
|
-
fetch-depth: 0
|
|
35
|
-
- uses: trufflesecurity/trufflehog@v3.93.4
|
|
36
|
-
with:
|
|
37
|
-
extra_args: --only-verified
|
package/.gitleaks.toml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
title = "Branding MCP Gitleaks Config"
|
|
2
|
-
|
|
3
|
-
[allowlist]
|
|
4
|
-
description = "Allowlist for placeholder values"
|
|
5
|
-
regexTarget = "match"
|
|
6
|
-
regexes = [
|
|
7
|
-
'''REPLACE_WITH_.*''',
|
|
8
|
-
'''your-.*-here''',
|
|
9
|
-
'''example\.com''',
|
|
10
|
-
]
|
|
11
|
-
paths = [
|
|
12
|
-
'''.env\.example''',
|
|
13
|
-
'''data/.*''',
|
|
14
|
-
]
|
package/.prettierrc.json
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
## [0.6.2] - 2026-03-07
|
|
6
|
-
|
|
7
|
-
### Fixed
|
|
8
|
-
|
|
9
|
-
- **WCAG contrast compliance** — Secondary (#3B82F6→#2563EB) and accent (#F59E0B→#B45309) colors now pass AA 4.5:1 on white backgrounds. Brand consistency score 75→100
|
|
10
|
-
|
|
11
|
-
## [0.6.1] - 2026-03-06
|
|
12
|
-
|
|
13
|
-
### Changed
|
|
14
|
-
|
|
15
|
-
- **Modern Horn brand templates** — Default Forge Space logo SVGs updated to Modern Horn icon geometry and Sora wordmark (#A78BFA/#8B5CF6/#6D28D9)
|
|
16
|
-
|
|
17
|
-
## [0.6.0] - 2026-03-01
|
|
18
|
-
|
|
19
|
-
### Added
|
|
20
|
-
|
|
21
|
-
- Public type exports from package entry point: `BrandIdentity`, `ColorPalette`, `TypographySystem`, `SpacingScale`, `ShadowSystem`, `BorderSystem`, `MotionSystem`, `GradientSystem`, `LogoOutput`, `BrandStyle`, `ColorHarmony`, `ExportFormat`
|
|
22
|
-
- Enables downstream packages (`@forgespace/brand-guide`) to re-export types without reaching into internal paths
|
|
23
|
-
|
|
24
|
-
## [0.5.0] - 2026-02-28
|
|
25
|
-
|
|
26
|
-
### Added
|
|
27
|
-
|
|
28
|
-
- New MCP tool: `generate_design_system` — complete design system in one call (identity + token export combined)
|
|
29
|
-
- 10 new tests for design system tool (198 total across 16 suites)
|
|
30
|
-
|
|
31
|
-
## [0.4.0] - 2026-02-28
|
|
32
|
-
|
|
33
|
-
### Added
|
|
34
|
-
|
|
35
|
-
- Gradient system generator with 5 style-aware presets (hero, button, card, text, background) across 8 brand styles
|
|
36
|
-
- Multi-variant logo generator: wordmark, monogram, abstract, icon (4 SVG variants per brand)
|
|
37
|
-
- Favicon generator producing 4 sizes (16, 32, 180, 512) with stroke optimization for small sizes
|
|
38
|
-
- OG image templates: default (1200x630), article (1200x630), social (1200x1200) with brand gradient backgrounds
|
|
39
|
-
- New MCP tool: `generate_brand_assets` for favicon and OG image generation from existing brand identity
|
|
40
|
-
- All 6 exporters support gradient tokens (CSS, Tailwind, W3C JSON, Figma, React, Sass)
|
|
41
|
-
- 55 new tests (188 total), 15 test suites
|
|
42
|
-
|
|
43
|
-
### Changed
|
|
44
|
-
|
|
45
|
-
- Logo generator uses brand typography font instead of hardcoded Inter
|
|
46
|
-
- `LogoOutput` now includes `variants` record alongside backward-compatible `svg` field
|
|
47
|
-
- `LogoConfig` accepts optional `style` for style-aware monogram/abstract shapes
|
|
48
|
-
|
|
49
|
-
## [0.3.0] - 2026-02-28
|
|
50
|
-
|
|
51
|
-
### Added
|
|
52
|
-
|
|
53
|
-
- Shadow/elevation system generator with 6 levels (none, sm, md, lg, xl, 2xl), brand-tinted colors, light/dark theme support
|
|
54
|
-
- Border/shape system generator with style-aware radius scales and border widths for all 8 brand styles
|
|
55
|
-
- Motion/animation system generator with duration scales, cubic-bezier easings, and transition presets per brand style
|
|
56
|
-
- New token types in `BrandIdentity`: `shadows`, `borders`, `motion` (backward-compatible, optional)
|
|
57
|
-
- All 6 exporters updated: CSS variables, Tailwind preset, W3C JSON, Figma tokens, React theme, Sass variables now include shadow, border, and motion tokens
|
|
58
|
-
- `generate_brand_identity` tool now includes shadows, borders, and motion in output
|
|
59
|
-
- 36 new tests (133 total), 98.36% statement coverage, 100% function coverage
|
|
60
|
-
|
|
61
|
-
## [0.2.0] - 2026-02-24
|
|
62
|
-
|
|
63
|
-
### Added
|
|
64
|
-
|
|
65
|
-
- AI interpretation layer for natural language brand refinement (`src/lib/branding-core/ai/`)
|
|
66
|
-
- Strategy pattern: keyword (zero-cost), Claude API (Anthropic Messages), and auto (fallback) interpreters
|
|
67
|
-
- `BrandIntent` abstraction decoupling NL understanding from generator execution
|
|
68
|
-
- 20+ color keywords (warm, vibrant, premium, muted, dark, elegant, etc.) with HSL shift values
|
|
69
|
-
- 15+ typography keywords (serif, editorial, dramatic, modern, compact, etc.) with font/scale mapping
|
|
70
|
-
- `intent-applier` module applying HSL hue/saturation/lightness shifts before palette generation
|
|
71
|
-
- Structured Claude prompts with brand context, JSON schema, and design principles
|
|
72
|
-
- Optional `strategy` parameter on `refine_brand_element` tool (keyword/ai/auto)
|
|
73
|
-
- `_interpretation` metadata in refinement responses showing strategy used and reasoning
|
|
74
|
-
- 24 new tests for AI interpreter, intent applier, and strategy selection (97 total)
|
|
75
|
-
|
|
76
|
-
## [0.1.0] - 2026-02-24
|
|
77
|
-
|
|
78
|
-
### Added
|
|
79
|
-
|
|
80
|
-
- Initial project structure with MCP server architecture
|
|
81
|
-
- Color palette generator with 6 harmony modes (complementary, analogous, triadic, split-complementary, tetradic, monochromatic)
|
|
82
|
-
- Typography system generator with modular type scales and curated font pairings
|
|
83
|
-
- Spacing scale generator with geometric progression
|
|
84
|
-
- SVG logo generator with brand colors and initials
|
|
85
|
-
- 6 design token exporters: W3C JSON, CSS custom properties, Tailwind preset, Figma tokens, React theme, Sass variables
|
|
86
|
-
- WCAG contrast checker (AA/AAA compliance)
|
|
87
|
-
- Brand consistency validator with scoring
|
|
88
|
-
- HTML brand guidelines generator
|
|
89
|
-
- 7 MCP tools: generate_brand_identity, generate_color_palette, generate_typography_system, export_design_tokens, create_brand_guidelines, validate_brand_consistency, refine_brand_element
|
|
90
|
-
- 2 MCP resources: brand templates catalog, brand knowledge base
|
|
91
|
-
- Unit and integration test suite
|
|
92
|
-
- CI/CD workflows (lint, test, build, security scan)
|