@planu/cli 0.44.0 → 0.45.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/dist/config/license-plans.json +8 -2
- package/dist/config/registry-categories.json +20 -0
- package/dist/config/registry-stacks.json +16 -0
- package/dist/engine/github/spec-linker.d.ts.map +1 -1
- package/dist/engine/github/spec-linker.js +1 -0
- package/dist/engine/github/spec-linker.js.map +1 -1
- package/dist/engine/safety/file-mutex.d.ts.map +1 -1
- package/dist/engine/safety/file-mutex.js +6 -4
- package/dist/engine/safety/file-mutex.js.map +1 -1
- package/dist/engine/spec-registry/adapter.d.ts +9 -0
- package/dist/engine/spec-registry/adapter.d.ts.map +1 -0
- package/dist/engine/spec-registry/adapter.js +303 -0
- package/dist/engine/spec-registry/adapter.js.map +1 -0
- package/dist/engine/spec-registry/client.d.ts +8 -0
- package/dist/engine/spec-registry/client.d.ts.map +1 -0
- package/dist/engine/spec-registry/client.js +194 -0
- package/dist/engine/spec-registry/client.js.map +1 -0
- package/dist/engine/spec-registry/index.d.ts +7 -0
- package/dist/engine/spec-registry/index.d.ts.map +1 -0
- package/dist/engine/spec-registry/index.js +7 -0
- package/dist/engine/spec-registry/index.js.map +1 -0
- package/dist/engine/spec-registry/packager.d.ts +24 -0
- package/dist/engine/spec-registry/packager.d.ts.map +1 -0
- package/dist/engine/spec-registry/packager.js +122 -0
- package/dist/engine/spec-registry/packager.js.map +1 -0
- package/dist/engine/spec-registry/scorer.d.ts +10 -0
- package/dist/engine/spec-registry/scorer.d.ts.map +1 -0
- package/dist/engine/spec-registry/scorer.js +151 -0
- package/dist/engine/spec-registry/scorer.js.map +1 -0
- package/dist/engine/spec-registry/validator.d.ts +11 -0
- package/dist/engine/spec-registry/validator.d.ts.map +1 -0
- package/dist/engine/spec-registry/validator.js +144 -0
- package/dist/engine/spec-registry/validator.js.map +1 -0
- package/dist/engine/webhook/signature.js +2 -2
- package/dist/engine/webhook/signature.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/storage/base-store.d.ts.map +1 -1
- package/dist/storage/base-store.js +2 -1
- package/dist/storage/base-store.js.map +1 -1
- package/dist/storage/usage-store.d.ts.map +1 -1
- package/dist/storage/usage-store.js +1 -0
- package/dist/storage/usage-store.js.map +1 -1
- package/dist/tools/register-spec-registry-tools.d.ts +3 -0
- package/dist/tools/register-spec-registry-tools.d.ts.map +1 -0
- package/dist/tools/register-spec-registry-tools.js +91 -0
- package/dist/tools/register-spec-registry-tools.js.map +1 -0
- package/dist/tools/registry/auth.d.ts +17 -0
- package/dist/tools/registry/auth.d.ts.map +1 -0
- package/dist/tools/registry/auth.js +132 -0
- package/dist/tools/registry/auth.js.map +1 -0
- package/dist/tools/registry/index.d.ts +5 -0
- package/dist/tools/registry/index.d.ts.map +1 -0
- package/dist/tools/registry/index.js +6 -0
- package/dist/tools/registry/index.js.map +1 -0
- package/dist/tools/registry/install.d.ts +7 -0
- package/dist/tools/registry/install.d.ts.map +1 -0
- package/dist/tools/registry/install.js +125 -0
- package/dist/tools/registry/install.js.map +1 -0
- package/dist/tools/registry/publish.d.ts +7 -0
- package/dist/tools/registry/publish.d.ts.map +1 -0
- package/dist/tools/registry/publish.js +96 -0
- package/dist/tools/registry/publish.js.map +1 -0
- package/dist/tools/registry/search.d.ts +7 -0
- package/dist/tools/registry/search.d.ts.map +1 -0
- package/dist/tools/registry/search.js +79 -0
- package/dist/tools/registry/search.js.map +1 -0
- package/dist/tools/schemas/index.d.ts +1 -0
- package/dist/tools/schemas/index.d.ts.map +1 -1
- package/dist/tools/schemas/index.js +1 -0
- package/dist/tools/schemas/index.js.map +1 -1
- package/dist/tools/schemas/spec-registry-schemas.d.ts +39 -0
- package/dist/tools/schemas/spec-registry-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/spec-registry-schemas.js +72 -0
- package/dist/tools/schemas/spec-registry-schemas.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/spec-registry.d.ts +194 -0
- package/dist/types/spec-registry.d.ts.map +1 -0
- package/dist/types/spec-registry.js +3 -0
- package/dist/types/spec-registry.js.map +1 -0
- package/package.json +1 -1
- package/src/config/license-plans.json +8 -2
- package/src/config/registry-categories.json +20 -0
- package/src/config/registry-stacks.json +16 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/** Metadata for a published spec in the registry. */
|
|
2
|
+
export interface RegistrySpecMeta {
|
|
3
|
+
/** Unique name in org/name format. */
|
|
4
|
+
name: string;
|
|
5
|
+
/** Organization or user that published the spec. */
|
|
6
|
+
org: string;
|
|
7
|
+
/** Semver version string. */
|
|
8
|
+
version: string;
|
|
9
|
+
/** Short description of what the spec does. */
|
|
10
|
+
description: string;
|
|
11
|
+
/** Category ID from registry-categories.json. */
|
|
12
|
+
category: string;
|
|
13
|
+
/** Technology stack tags (e.g. ["next.js", "prisma"]). */
|
|
14
|
+
stack: string[];
|
|
15
|
+
/** Difficulty level 1-5. */
|
|
16
|
+
difficulty: number;
|
|
17
|
+
/** Estimated implementation hours. */
|
|
18
|
+
estimatedHours: number;
|
|
19
|
+
/** Searchable tags. */
|
|
20
|
+
tags: string[];
|
|
21
|
+
/** Total download count. */
|
|
22
|
+
downloads: number;
|
|
23
|
+
/** Average rating (0-5). */
|
|
24
|
+
rating: number;
|
|
25
|
+
/** Number of ratings received. */
|
|
26
|
+
ratingCount: number;
|
|
27
|
+
/** ISO 8601 creation timestamp. */
|
|
28
|
+
createdAt: string;
|
|
29
|
+
/** ISO 8601 last update timestamp. */
|
|
30
|
+
updatedAt: string;
|
|
31
|
+
/** Whether this spec is deprecated. */
|
|
32
|
+
deprecated?: boolean;
|
|
33
|
+
/** Message explaining why the spec was deprecated. */
|
|
34
|
+
deprecationMessage?: string;
|
|
35
|
+
}
|
|
36
|
+
/** A single item in search results, extends meta with completeness score. */
|
|
37
|
+
export interface RegistrySearchItem extends RegistrySpecMeta {
|
|
38
|
+
/** Completeness score 0-100 based on spec quality metrics. */
|
|
39
|
+
completenessScore: number;
|
|
40
|
+
}
|
|
41
|
+
/** Paginated search result from the registry. */
|
|
42
|
+
export interface RegistrySearchResult {
|
|
43
|
+
/** Array of matching specs. */
|
|
44
|
+
data: RegistrySearchItem[];
|
|
45
|
+
/** Pagination metadata. */
|
|
46
|
+
meta: {
|
|
47
|
+
page: number;
|
|
48
|
+
limit: number;
|
|
49
|
+
total: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Result of installing a spec from the registry. */
|
|
53
|
+
export interface RegistryInstallResult {
|
|
54
|
+
/** Local spec ID assigned after install. */
|
|
55
|
+
specId: string;
|
|
56
|
+
/** Slug used for the local spec directory. */
|
|
57
|
+
slug: string;
|
|
58
|
+
/** Absolute path to the installed spec directory. */
|
|
59
|
+
specDir: string;
|
|
60
|
+
/** Source identifier (org/name). */
|
|
61
|
+
source: string;
|
|
62
|
+
/** Installed version. */
|
|
63
|
+
version: string;
|
|
64
|
+
/** Whether stack adaptation was applied. */
|
|
65
|
+
adapted: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** Result of publishing a spec to the registry. */
|
|
68
|
+
export interface RegistryPublishResult {
|
|
69
|
+
/** Whether the publish succeeded. */
|
|
70
|
+
success: boolean;
|
|
71
|
+
/** Organization the spec was published under. */
|
|
72
|
+
org: string;
|
|
73
|
+
/** Spec name in the registry. */
|
|
74
|
+
name: string;
|
|
75
|
+
/** Published version. */
|
|
76
|
+
version: string;
|
|
77
|
+
/** URL to view the published spec. */
|
|
78
|
+
url: string;
|
|
79
|
+
}
|
|
80
|
+
/** Stored credentials for registry authentication. */
|
|
81
|
+
export interface RegistryCredentials {
|
|
82
|
+
/** API token for registry access. */
|
|
83
|
+
token: string;
|
|
84
|
+
/** Username associated with the token. */
|
|
85
|
+
user: string;
|
|
86
|
+
/** Email associated with the account. */
|
|
87
|
+
email: string;
|
|
88
|
+
/** License plan level. */
|
|
89
|
+
plan: 'free' | 'pro';
|
|
90
|
+
/** ISO 8601 token expiration timestamp. */
|
|
91
|
+
expiresAt: string;
|
|
92
|
+
}
|
|
93
|
+
/** Shape of the planu-registry.json manifest file included in published specs. */
|
|
94
|
+
export interface RegistryPackageManifest {
|
|
95
|
+
/** Spec name (without org prefix). */
|
|
96
|
+
name: string;
|
|
97
|
+
/** Organization or user. */
|
|
98
|
+
org: string;
|
|
99
|
+
/** Semver version. */
|
|
100
|
+
version: string;
|
|
101
|
+
/** Short description. */
|
|
102
|
+
description: string;
|
|
103
|
+
/** Category ID. */
|
|
104
|
+
category: string;
|
|
105
|
+
/** Technology stack tags. */
|
|
106
|
+
stack: string[];
|
|
107
|
+
/** Difficulty level 1-5. */
|
|
108
|
+
difficulty: number;
|
|
109
|
+
/** Estimated implementation hours. */
|
|
110
|
+
estimatedHours: number;
|
|
111
|
+
/** Searchable tags. */
|
|
112
|
+
tags: string[];
|
|
113
|
+
/** Stack-specific adaptations: { marker: { targetValue: replacement } }. */
|
|
114
|
+
adaptable?: Record<string, Record<string, string>>;
|
|
115
|
+
}
|
|
116
|
+
/** Filters for searching the registry. */
|
|
117
|
+
export interface RegistrySearchFilters {
|
|
118
|
+
/** Free-text search query. */
|
|
119
|
+
query?: string;
|
|
120
|
+
/** Filter by stack (e.g. "next.js"). */
|
|
121
|
+
stack?: string;
|
|
122
|
+
/** Filter by category ID. */
|
|
123
|
+
category?: string;
|
|
124
|
+
/** Filter by difficulty range. */
|
|
125
|
+
difficulty?: {
|
|
126
|
+
min?: number;
|
|
127
|
+
max?: number;
|
|
128
|
+
};
|
|
129
|
+
/** Sort order for results. */
|
|
130
|
+
sort?: 'downloads' | 'rating' | 'recent';
|
|
131
|
+
/** Page number (1-based). */
|
|
132
|
+
page?: number;
|
|
133
|
+
/** Results per page. */
|
|
134
|
+
limit?: number;
|
|
135
|
+
}
|
|
136
|
+
/** Result of detecting the project's technology stack. */
|
|
137
|
+
export interface StackDetectionResult {
|
|
138
|
+
/** Primary programming language. */
|
|
139
|
+
language: string;
|
|
140
|
+
/** Primary framework. */
|
|
141
|
+
framework: string;
|
|
142
|
+
/** ORM or database library, if detected. */
|
|
143
|
+
orm?: string;
|
|
144
|
+
/** Test runner, if detected. */
|
|
145
|
+
testRunner?: string;
|
|
146
|
+
/** Build tool, if detected. */
|
|
147
|
+
buildTool?: string;
|
|
148
|
+
/** Package manager, if detected. */
|
|
149
|
+
packageManager?: string;
|
|
150
|
+
}
|
|
151
|
+
/** Options for creating a registry API client. */
|
|
152
|
+
export interface RegistryClientOptions {
|
|
153
|
+
token?: string;
|
|
154
|
+
baseUrl?: string;
|
|
155
|
+
}
|
|
156
|
+
/** Registry API client interface returned by createRegistryClient. */
|
|
157
|
+
export interface RegistryClient {
|
|
158
|
+
searchSpecs(filters: RegistrySearchFilters): Promise<RegistrySearchResult>;
|
|
159
|
+
getSpec(org: string, name: string, version?: string): Promise<RegistrySpecMeta>;
|
|
160
|
+
downloadSpec(org: string, name: string, version: string): Promise<Buffer>;
|
|
161
|
+
publishSpec(tarball: Buffer, meta: Record<string, unknown>): Promise<RegistryPublishResult>;
|
|
162
|
+
rateSpec(org: string, name: string, rating: number): Promise<void>;
|
|
163
|
+
}
|
|
164
|
+
/** Internal archive format: JSON with file contents keyed by relative path. */
|
|
165
|
+
export interface SpecArchive {
|
|
166
|
+
files: Record<string, string>;
|
|
167
|
+
}
|
|
168
|
+
/** A single file adaptation applied during spec install. */
|
|
169
|
+
export interface StackAdaptation {
|
|
170
|
+
/** File path relative to spec directory. */
|
|
171
|
+
file: string;
|
|
172
|
+
/** Original content before adaptation. */
|
|
173
|
+
original: string;
|
|
174
|
+
/** Adapted content after stack replacement. */
|
|
175
|
+
adapted: string;
|
|
176
|
+
/** Adaptation marker that was matched. */
|
|
177
|
+
marker?: string;
|
|
178
|
+
}
|
|
179
|
+
/** Breakdown of a spec's completeness score by category. */
|
|
180
|
+
export interface ScoreBreakdown {
|
|
181
|
+
/** Score for acceptance criteria (0-20). */
|
|
182
|
+
acceptanceCriteria: number;
|
|
183
|
+
/** Score for risk documentation (0-15). */
|
|
184
|
+
risksDocumented: number;
|
|
185
|
+
/** Score for testing strategy (0-15). */
|
|
186
|
+
testingStrategy: number;
|
|
187
|
+
/** Score for key files listing (0-15). */
|
|
188
|
+
keyFiles: number;
|
|
189
|
+
/** Score for technical.md completeness (0-20). */
|
|
190
|
+
technicalCompleteness: number;
|
|
191
|
+
/** Score for frontmatter fields (0-15). */
|
|
192
|
+
frontmatterFields: number;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=spec-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-registry.d.ts","sourceRoot":"","sources":["../../src/types/spec-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-registry.js","sourceRoot":"","sources":["../../src/types/spec-registry.ts"],"names":[],"mappings":"AAAA,8EAA8E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@planu/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.1",
|
|
4
4
|
"description": "Planu — MCP Server for Spec Driven Development. Manages specs, estimations, reverse engineering, and auto-learning across any language/framework.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -47,7 +47,9 @@
|
|
|
47
47
|
"manage_trash",
|
|
48
48
|
"worker_status",
|
|
49
49
|
"token_usage",
|
|
50
|
-
"pr_status"
|
|
50
|
+
"pr_status",
|
|
51
|
+
"registry_search",
|
|
52
|
+
"registry_install"
|
|
51
53
|
],
|
|
52
54
|
"proTools": [
|
|
53
55
|
"audit",
|
|
@@ -140,7 +142,11 @@
|
|
|
140
142
|
"living_spec_coverage",
|
|
141
143
|
"sync_spec_to_code",
|
|
142
144
|
"sync_code_to_spec",
|
|
143
|
-
"resolve_sync_conflict"
|
|
145
|
+
"resolve_sync_conflict",
|
|
146
|
+
"registry_publish",
|
|
147
|
+
"registry_login",
|
|
148
|
+
"registry_logout",
|
|
149
|
+
"registry_whoami"
|
|
144
150
|
],
|
|
145
151
|
"alwaysAllowed": [
|
|
146
152
|
"activate_license",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "id": "auth", "label": "Authentication", "description": "Login, signup, OAuth, SSO, session management" },
|
|
3
|
+
{ "id": "payments", "label": "Payments", "description": "Stripe, PayPal, billing, subscriptions, invoicing" },
|
|
4
|
+
{ "id": "crud", "label": "CRUD", "description": "Create-read-update-delete resource management" },
|
|
5
|
+
{ "id": "api", "label": "API Design", "description": "REST, GraphQL, tRPC, API gateway patterns" },
|
|
6
|
+
{ "id": "database", "label": "Database", "description": "Schema design, migrations, seeding, indexing" },
|
|
7
|
+
{ "id": "testing", "label": "Testing", "description": "Unit, integration, E2E, load testing strategies" },
|
|
8
|
+
{ "id": "ci-cd", "label": "CI/CD", "description": "Continuous integration, deployment pipelines" },
|
|
9
|
+
{ "id": "deployment", "label": "Deployment", "description": "Docker, Kubernetes, serverless, platform configs" },
|
|
10
|
+
{ "id": "monitoring", "label": "Monitoring", "description": "Logging, alerting, APM, health checks" },
|
|
11
|
+
{ "id": "notifications", "label": "Notifications", "description": "Email, push, SMS, in-app notification systems" },
|
|
12
|
+
{ "id": "file-upload", "label": "File Upload", "description": "Upload, storage, CDN, image processing" },
|
|
13
|
+
{ "id": "search", "label": "Search", "description": "Full-text search, Elasticsearch, Algolia, filters" },
|
|
14
|
+
{ "id": "caching", "label": "Caching", "description": "Redis, Memcached, CDN caching, invalidation" },
|
|
15
|
+
{ "id": "i18n", "label": "Internationalization", "description": "Multi-language support, locale management" },
|
|
16
|
+
{ "id": "seo", "label": "SEO", "description": "Meta tags, sitemap, structured data, Open Graph" },
|
|
17
|
+
{ "id": "analytics", "label": "Analytics", "description": "Event tracking, dashboards, user analytics" },
|
|
18
|
+
{ "id": "security", "label": "Security", "description": "CSRF, XSS prevention, rate limiting, RBAC" },
|
|
19
|
+
{ "id": "performance", "label": "Performance", "description": "Optimization, lazy loading, bundle analysis" }
|
|
20
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "id": "next.js", "label": "Next.js", "ecosystem": "typescript" },
|
|
3
|
+
{ "id": "express", "label": "Express", "ecosystem": "typescript" },
|
|
4
|
+
{ "id": "fastapi", "label": "FastAPI", "ecosystem": "python" },
|
|
5
|
+
{ "id": "django", "label": "Django", "ecosystem": "python" },
|
|
6
|
+
{ "id": "rails", "label": "Ruby on Rails", "ecosystem": "ruby" },
|
|
7
|
+
{ "id": "spring-boot", "label": "Spring Boot", "ecosystem": "java" },
|
|
8
|
+
{ "id": "laravel", "label": "Laravel", "ecosystem": "php" },
|
|
9
|
+
{ "id": "gin", "label": "Gin", "ecosystem": "go" },
|
|
10
|
+
{ "id": "actix-web", "label": "Actix Web", "ecosystem": "rust" },
|
|
11
|
+
{ "id": "phoenix", "label": "Phoenix", "ecosystem": "elixir" },
|
|
12
|
+
{ "id": "sveltekit", "label": "SvelteKit", "ecosystem": "typescript" },
|
|
13
|
+
{ "id": "nuxt", "label": "Nuxt", "ecosystem": "typescript" },
|
|
14
|
+
{ "id": "remix", "label": "Remix", "ecosystem": "typescript" },
|
|
15
|
+
{ "id": "astro", "label": "Astro", "ecosystem": "typescript" }
|
|
16
|
+
]
|