diff --git a/.version-bump.json b/.version-bump.json
index fe12a5e..3622bbf 100644
--- a/.version-bump.json
+++ b/.version-bump.json
@@ -9,7 +9,7 @@
{ "path": "plugins/antigravity/plugin.json", "field": "version" },
{
"path": "lib/mcp/create-server.ts",
- "pattern": "name: \"piyaz\", version: \"{version}\""
+ "pattern": "version: \"{version}\""
}
]
}
diff --git a/README.md b/README.md
index 65be729..676f77e 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
-
+
Most of us aren't really writing code anymore, we're directing agents that do. But those agents have no memory. Every session starts from zero, and engineers end up spending their time re-explaining what was built, why decisions were made, and what still needs to happen. That's not engineering, that's babysitting.
diff --git a/app/layout.tsx b/app/layout.tsx
index 3cfe457..4111c63 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -23,6 +23,17 @@ export const metadata: Metadata = {
template: "%s · Piyaz",
},
description,
+ icons: {
+ icon: [
+ { url: "/favicon.ico?v=3", sizes: "any" },
+ { url: "/piyaz-mark.png?v=3", type: "image/png", sizes: "1024x1024" },
+ ],
+ apple: {
+ url: "/piyaz-icon-dark.png?v=3",
+ type: "image/png",
+ sizes: "512x512",
+ },
+ },
robots: {
index: false,
follow: false,
diff --git a/app/manifest.ts b/app/manifest.ts
new file mode 100644
index 0000000..cd1a537
--- /dev/null
+++ b/app/manifest.ts
@@ -0,0 +1,30 @@
+import type { MetadataRoute } from "next";
+
+/**
+ * Web app manifest for the Piyaz PWA.
+ * @returns Manifest with brand identity, theme colors, and home-screen icons.
+ */
+export default function manifest(): MetadataRoute.Manifest {
+ return {
+ name: "Piyaz",
+ short_name: "Piyaz",
+ description:
+ "A structure that supports organic growth. Track projects created by your coding agent.",
+ start_url: "/",
+ display: "standalone",
+ background_color: "#07080a",
+ theme_color: "#07080a",
+ icons: [
+ {
+ src: "/piyaz-icon-dark-192.png",
+ sizes: "192x192",
+ type: "image/png",
+ },
+ {
+ src: "/piyaz-icon-dark.png",
+ sizes: "512x512",
+ type: "image/png",
+ },
+ ],
+ };
+}
diff --git a/assets/mymir-demo.gif b/assets/piyaz-demo.gif
similarity index 100%
rename from assets/mymir-demo.gif
rename to assets/piyaz-demo.gif
diff --git a/bun.lock b/bun.lock
index 1af7abe..7e31972 100644
--- a/bun.lock
+++ b/bun.lock
@@ -53,6 +53,7 @@
"overrides": {
"form-data": ">=4.0.6",
"hono": ">=4.12.25",
+ "undici": ">=7.28.0 <8",
},
"packages": {
"@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="],
@@ -1689,7 +1690,7 @@
"unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="],
- "undici": ["undici@7.24.8", "", {}, "sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ=="],
+ "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="],
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
diff --git a/lib/mcp/create-server.ts b/lib/mcp/create-server.ts
index 8d4eb72..fed77a7 100644
--- a/lib/mcp/create-server.ts
+++ b/lib/mcp/create-server.ts
@@ -683,7 +683,26 @@ export function registerAllTools(server: McpServer, ctx: AuthContext): void {
*/
export function createMcpServer(ctx: AuthContext): McpServer {
const server = new McpServer(
- { name: "piyaz", version: "0.1.0" },
+ {
+ name: "piyaz",
+ title: "Piyaz",
+ version: "0.1.0",
+ websiteUrl: "https://www.piyaz.ai",
+ icons: [
+ {
+ src: "https://app.piyaz.ai/piyaz-icon-light.png",
+ mimeType: "image/png",
+ sizes: ["512x512"],
+ theme: "light",
+ },
+ {
+ src: "https://app.piyaz.ai/piyaz-icon-dark.png",
+ mimeType: "image/png",
+ sizes: ["512x512"],
+ theme: "dark",
+ },
+ ],
+ },
{ instructions: INSTRUCTIONS },
);
registerAllTools(server, ctx);
diff --git a/package.json b/package.json
index 9c9d1fe..0477a22 100644
--- a/package.json
+++ b/package.json
@@ -4,10 +4,11 @@
"private": true,
"license": "AGPL-3.0-or-later",
"type": "module",
- "//overrides": "TEMP security pins for transitive CVEs whose parent ranges already allow the fix but bun won't bump on its own. REMOVE each entry once its parent ships the fix and `bun audit --audit-level=high` passes without it. form-data >=4.0.6 (GHSA-hmw2-7cc7-3qxx, via @types/node-fetch). hono >=4.12.25 (GHSA-88fw-hqm2-52qc, via @modelcontextprotocol/sdk). ws is handled separately via a CI --ignore (no upstream fix). Tracked in MYMR-226.",
+ "//overrides": "TEMP security pins for transitive CVEs whose parent ranges already allow the fix but bun won't bump on its own. REMOVE each entry once its parent ships the fix and `bun audit --audit-level=high` passes without it. form-data >=4.0.6 (GHSA-hmw2-7cc7-3qxx, via @types/node-fetch). hono >=4.12.25 (GHSA-88fw-hqm2-52qc, via @modelcontextprotocol/sdk). undici >=7.28.0 <8 (GHSA-vmh5-mc38-953g, via wrangler › miniflare; stay on 7.x to match miniflare's pin). ws is handled separately via a CI --ignore (no upstream fix). Tracked in MYMR-226.",
"overrides": {
"form-data": ">=4.0.6",
- "hono": ">=4.12.25"
+ "hono": ">=4.12.25",
+ "undici": ">=7.28.0 <8"
},
"scripts": {
"dev": "next dev --webpack",
diff --git a/plugins/codex/.codex-plugin/plugin.json b/plugins/codex/.codex-plugin/plugin.json
index 4f43294..49d6e16 100644
--- a/plugins/codex/.codex-plugin/plugin.json
+++ b/plugins/codex/.codex-plugin/plugin.json
@@ -33,8 +33,8 @@
"Use $piyaz to record what changed after this task."
],
"brandColor": "#14B8A6",
- "composerIcon": "./assets/mymir-small.png",
- "logo": "./assets/mymir-logo.png",
+ "composerIcon": "./assets/piyaz-mark-small.png",
+ "logo": "./assets/piyaz-mark.png",
"screenshots": []
}
}
diff --git a/plugins/codex/assets/mymir-small.png b/plugins/codex/assets/piyaz-mark-small.png
similarity index 100%
rename from plugins/codex/assets/mymir-small.png
rename to plugins/codex/assets/piyaz-mark-small.png
diff --git a/plugins/codex/assets/mymir-logo.png b/plugins/codex/assets/piyaz-mark.png
similarity index 100%
rename from plugins/codex/assets/mymir-logo.png
rename to plugins/codex/assets/piyaz-mark.png
diff --git a/public/apple-icon.png b/public/apple-icon.png
deleted file mode 100644
index 8fc2b5d..0000000
Binary files a/public/apple-icon.png and /dev/null differ
diff --git a/public/favicon.ico b/public/favicon.ico
index 634f94c..c4335ae 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/icon1.png b/public/icon1.png
deleted file mode 100644
index 9a7c251..0000000
Binary files a/public/icon1.png and /dev/null differ
diff --git a/public/web-app-manifest-192x192.png b/public/piyaz-icon-dark-192.png
similarity index 97%
rename from public/web-app-manifest-192x192.png
rename to public/piyaz-icon-dark-192.png
index 2f7e18c..d2f6e5f 100644
Binary files a/public/web-app-manifest-192x192.png and b/public/piyaz-icon-dark-192.png differ
diff --git a/public/piyaz-icon-dark.png b/public/piyaz-icon-dark.png
new file mode 100644
index 0000000..9fb481d
Binary files /dev/null and b/public/piyaz-icon-dark.png differ
diff --git a/public/piyaz-icon-light.png b/public/piyaz-icon-light.png
new file mode 100644
index 0000000..e276133
Binary files /dev/null and b/public/piyaz-icon-light.png differ
diff --git a/public/piyaz-mark.png b/public/piyaz-mark.png
index c782a95..7e499d1 100644
Binary files a/public/piyaz-mark.png and b/public/piyaz-mark.png differ
diff --git a/public/web-app-manifest-512x512.png b/public/web-app-manifest-512x512.png
deleted file mode 100644
index 521c153..0000000
Binary files a/public/web-app-manifest-512x512.png and /dev/null differ