@kashi-ui/mcp 1.0.0 → 1.1.0
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 +2 -2
- package/dist/docs-to-md.mjs +12 -2
- package/dist/docs.json +1 -1
- package/dist/server.js +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @kashi-ui/mcp
|
|
2
2
|
|
|
3
|
-
سرور [MCP](https://modelcontextprotocol.io) کاشی: Claude، Cursor، Copilot و دیگر دستیارهای هوش مصنوعی را مستقیم به مستندات کامپوننتها،
|
|
3
|
+
سرور [MCP](https://modelcontextprotocol.io) کاشی: Claude، Cursor، Copilot و دیگر دستیارهای هوش مصنوعی را مستقیم به مستندات کامپوننتها، ۴۵۱۰ آیکون، توکنها و ابزارهای فارسی [کاشی](https://kashi.sepantapouya.com) وصل میکند تا کد را از روی prop های واقعی بنویسند، نه از روی حدس.
|
|
4
4
|
|
|
5
5
|
راهنمای کامل: [kashi.sepantapouya.com/docs/ai](https://kashi.sepantapouya.com/docs/ai/)
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ VS Code (`.vscode/mcp.json`):
|
|
|
31
31
|
| `kashi_get_docs` | مستندات کامل یک کامپوننت: prop ها، نمونهٔ React و HTML، متغیرهای CSS و دسترسپذیری |
|
|
32
32
|
| `kashi_search_docs` | جستجوی فارسی و انگلیسی در مستندات |
|
|
33
33
|
| `kashi_list_docs` | فهرست همهٔ صفحهها |
|
|
34
|
-
| `kashi_search_icons` | جستجو بین
|
|
34
|
+
| `kashi_search_icons` | جستجو بین ۴۵۱۰ آیکون |
|
|
35
35
|
| `kashi_get_icon` | کد React یا SVG یک آیکون در هر شش سبک |
|
|
36
36
|
| `kashi_get_tokens` | توکنهای طراحی و متغیرهای تم |
|
|
37
37
|
| `kashi_create_theme` | CSS تم برند از یک رنگ |
|
package/dist/docs-to-md.mjs
CHANGED
|
@@ -152,8 +152,17 @@ export function elementMarkdown(doc) {
|
|
|
152
152
|
return out.join("\n");
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
+
/** بخش «راهنمای استفاده» یک صفحه از روی apps/docs/src/data/guidelines.ts؛ همان چیزی که سایت نشان میدهد */
|
|
156
|
+
export function guidelineMarkdown(g) {
|
|
157
|
+
const out = ["## راهنمای استفاده", "", "کِی استفاده کنیم:", "", ...g.use.map((u) => `- ${u}`), "", "کِی استفاده نکنیم:", ""];
|
|
158
|
+
out.push(...g.avoid.map(([t, href, label]) => `- ${t}${href ? ` (${label ?? "جایگزین"}: ${href})` : ""}`), "", "درست و نادرست:", "");
|
|
159
|
+
for (const p of g.pairs) out.push(`- ✓ درست: ${p.do.text}`, `- ✗ نادرست: ${p.dont.text}`);
|
|
160
|
+
if (g.writing?.length) out.push("", "متن:", "", ...g.writing.map((w) => `- ${w}`));
|
|
161
|
+
return out.join("\n");
|
|
162
|
+
}
|
|
163
|
+
|
|
155
164
|
/** همهٔ صفحههای MDX یک پوشه با عنوان و گروه از فهرست ناوبری سایت؛ elements بخش وب کامپوننت هر صفحه را اضافه میکند */
|
|
156
|
-
export function collectDocs(root, nav, site = "https://kashi.sepantapouya.com", elements = {}) {
|
|
165
|
+
export function collectDocs(root, nav, site = "https://kashi.sepantapouya.com", elements = {}, guidelines = {}) {
|
|
157
166
|
const groupOf = {};
|
|
158
167
|
for (const g of nav) for (const item of g.items) groupOf[item.href] = { group: g.title, title: item.title };
|
|
159
168
|
return globSync(`${root}/**/*.mdx`).sort().map((file) => {
|
|
@@ -164,7 +173,8 @@ export function collectDocs(root, nav, site = "https://kashi.sepantapouya.com",
|
|
|
164
173
|
// راهنماها هم نمونهکد دارند (Button در صفحهٔ نصب)؛ فقط صفحههای کامپوننت کامپوننت معرفی میکنند
|
|
165
174
|
const components = /^(components|persian)\//.test(rel) ? d.components : [];
|
|
166
175
|
const el = elements[href];
|
|
167
|
-
const
|
|
176
|
+
const g = guidelines[href];
|
|
177
|
+
const markdown = [d.markdown, g && guidelineMarkdown(g), el && elementMarkdown(el)].filter(Boolean).join("\n\n");
|
|
168
178
|
return { slug: rel || "intro", url: site + href, title: d.title || (n && n.title) || rel, description: d.description, group: n ? n.group : "", components, markdown };
|
|
169
179
|
});
|
|
170
180
|
}
|