diff --git a/modules/rdesign/mod.ts b/modules/rdesign/mod.ts
index d560a06..d385218 100644
--- a/modules/rdesign/mod.ts
+++ b/modules/rdesign/mod.ts
@@ -49,6 +49,14 @@ routes.get("/", (c) => {
}));
});
+function renderDesignLanding(): string {
+ return `
+
🎯
+
rDesign
+
Collaborative design workspace powered by Affine. Whiteboard, docs, and kanban — all in one tool for your community.
+
`;
+}
+
export const designModule: RSpaceModule = {
id: "rdesign",
name: "rDesign",
@@ -56,8 +64,13 @@ export const designModule: RSpaceModule = {
description: "Collaborative design workspace with whiteboard and docs",
scoping: { defaultScope: 'global', userConfigurable: false },
routes,
+ landingPage: renderDesignLanding,
standaloneDomain: "rdesign.online",
externalApp: { url: AFFINE_URL, name: "Affine" },
+ feeds: [
+ { id: "design-assets", name: "Design Assets", kind: "resource", description: "Design files, mockups, and whiteboard exports" },
+ ],
+ acceptsFeeds: ["data", "resource"],
outputPaths: [
{ path: "designs", name: "Designs", icon: "🎯", description: "Design files and mockups" },
{ path: "templates", name: "Templates", icon: "📐", description: "Reusable design templates" },
diff --git a/modules/rdocs/mod.ts b/modules/rdocs/mod.ts
index 0e90ab9..e7d0605 100644
--- a/modules/rdocs/mod.ts
+++ b/modules/rdocs/mod.ts
@@ -49,6 +49,14 @@ routes.get("/", (c) => {
}));
});
+function renderDocsLanding(): string {
+ return `
+
📝
+
rDocs
+
Collaborative documentation powered by Docmost. Create wikis, knowledge bases, and shared documents for your community.
+
`;
+}
+
export const docsModule: RSpaceModule = {
id: "rdocs",
name: "rDocs",
@@ -56,8 +64,13 @@ export const docsModule: RSpaceModule = {
description: "Collaborative documentation and knowledge base",
scoping: { defaultScope: 'global', userConfigurable: true },
routes,
+ landingPage: renderDocsLanding,
standaloneDomain: "rdocs.online",
externalApp: { url: DOCMOST_URL, name: "Docmost" },
+ feeds: [
+ { id: "documents", name: "Documents", kind: "data", description: "Collaborative documents and wiki pages" },
+ ],
+ acceptsFeeds: ["data"],
outputPaths: [
{ path: "documents", name: "Documents", icon: "📝", description: "Collaborative documents" },
{ path: "wikis", name: "Wikis", icon: "📖", description: "Knowledge base wikis" },
diff --git a/modules/rschedule/mod.ts b/modules/rschedule/mod.ts
index c6655d7..c4cd55b 100644
--- a/modules/rschedule/mod.ts
+++ b/modules/rschedule/mod.ts
@@ -847,6 +847,7 @@ export const scheduleModule: RSpaceModule = {
description: "Job execution events with status, timing, and output",
},
],
+ acceptsFeeds: ["data", "governance"],
outputPaths: [
{ path: "jobs", name: "Jobs", icon: "⏱", description: "Scheduled jobs and their configurations" },
{ path: "log", name: "Execution Log", icon: "📋", description: "History of job executions" },
diff --git a/modules/rsplat/mod.ts b/modules/rsplat/mod.ts
index 23eb342..b071a9f 100644
--- a/modules/rsplat/mod.ts
+++ b/modules/rsplat/mod.ts
@@ -723,6 +723,11 @@ export const splatModule: RSpaceModule = {
routes,
landingPage: renderLanding,
seedTemplate: seedTemplateSplat,
+ feeds: [
+ { id: "splat-scenes", name: "3D Scenes", kind: "resource", description: "Gaussian splat 3D captures" },
+ { id: "splat-activity", name: "Capture Activity", kind: "data", description: "Upload and view events for 3D scenes" },
+ ],
+ acceptsFeeds: ["data", "resource"],
standaloneDomain: "rsplat.online",
hidden: true,
outputPaths: [