feat(ecosystem): register EffoRise — backend :4020, web :3080, product.json, AGENTS.md
This commit is contained in:
parent
b261c5d13f
commit
26739e36db
@ -9,11 +9,11 @@
|
|||||||
## 1. Project Identity
|
## 1. Project Identity
|
||||||
|
|
||||||
| Key | Value |
|
| Key | Value |
|
||||||
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **Root package** | `@bytelyst/root` |
|
| **Root package** | `@bytelyst/root` |
|
||||||
| **Library scope** | `@bytelyst/*` (packages/) |
|
| **Library scope** | `@bytelyst/*` (packages/) |
|
||||||
| **Service scope** | `@lysnrai/*` (services/) |
|
| **Service scope** | `@lysnrai/*` (services/) |
|
||||||
| **Product consumers** | [LysnrAI](../learning_voice_ai_agent), [MindLyst](../learning_multimodal_memory_agents), [ChronoMind](../learning_ai_clock), [JarvisJr](../learning_ai_jarvis_jr), [NomGap](../learning_ai_fastgap), [PeakPulse](../learning_ai_peakpulse) |
|
| **Product consumers** | [LysnrAI](../learning_voice_ai_agent), [MindLyst](../learning_multimodal_memory_agents), [ChronoMind](../learning_ai_clock), [JarvisJr](../learning_ai_jarvis_jr), [NomGap](../learning_ai_fastgap), [PeakPulse](../learning_ai_peakpulse), [FlowMonk](../learning_ai_flowmonk), [NoteLett](../learning_ai_notes), [ActionTrail](../learning_ai_trails), [LocalMemGPT](../learning_ai_local_memory_gpt), [EffoRise](../learning_ai_efforise) |
|
||||||
| **Product-agnostic** | Yes — every Cosmos doc includes `productId` |
|
| **Product-agnostic** | Yes — every Cosmos doc includes `productId` |
|
||||||
| **Runtime** | Node.js (ESM), TypeScript 5.7+ |
|
| **Runtime** | Node.js (ESM), TypeScript 5.7+ |
|
||||||
| **Package manager** | pnpm (workspace) |
|
| **Package manager** | pnpm (workspace) |
|
||||||
|
|||||||
@ -21,10 +21,11 @@
|
|||||||
# Products: peakpulse 4010, chronomind 4011, jarvisjr 4012,
|
# Products: peakpulse 4010, chronomind 4011, jarvisjr 4012,
|
||||||
# nomgap 4013, mindlyst 4014, lysnrai 4015,
|
# nomgap 4013, mindlyst 4014, lysnrai 4015,
|
||||||
# notelett 4016, flowmonk 4017, actiontrail 4018,
|
# notelett 4016, flowmonk 4017, actiontrail 4018,
|
||||||
# localmemgpt 4019
|
# localmemgpt 4019, efforise 4020
|
||||||
# Product webs: chronomind 3030, jarvisjr 3035, flowmonk 3040,
|
# Product webs: chronomind 3030, jarvisjr 3035, flowmonk 3040,
|
||||||
# notelett 3045, mindlyst 3050, nomgap 3055,
|
# notelett 3045, mindlyst 3050, nomgap 3055,
|
||||||
# actiontrail 3060, localmemgpt 3070, lysnrai 3002
|
# actiontrail 3060, localmemgpt 3070, efforise 3080,
|
||||||
|
# lysnrai 3002
|
||||||
|
|
||||||
# Product Dockerfiles require BuildKit secrets for Gitea npm registry access.
|
# Product Dockerfiles require BuildKit secrets for Gitea npm registry access.
|
||||||
# GITEA_NPM_HOST defaults to host.docker.internal (Mac local dev).
|
# GITEA_NPM_HOST defaults to host.docker.internal (Mac local dev).
|
||||||
@ -519,6 +520,29 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
efforise-backend:
|
||||||
|
build:
|
||||||
|
<<: *product-build
|
||||||
|
context: ../learning_ai_efforise
|
||||||
|
dockerfile: backend/Dockerfile
|
||||||
|
ports:
|
||||||
|
- '4020:4020'
|
||||||
|
env_file:
|
||||||
|
- .env.ecosystem
|
||||||
|
environment:
|
||||||
|
- PORT=4020
|
||||||
|
- HOST=0.0.0.0
|
||||||
|
- PLATFORM_SERVICE_URL=http://platform-service:4003
|
||||||
|
depends_on:
|
||||||
|
platform-service:
|
||||||
|
condition: service_healthy
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:4020/health']
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
# ═════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════
|
||||||
# PRODUCT WEB APPS (from sibling repos)
|
# PRODUCT WEB APPS (from sibling repos)
|
||||||
# ═════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════
|
||||||
@ -781,6 +805,23 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
efforise-web:
|
||||||
|
build:
|
||||||
|
<<: *product-build
|
||||||
|
context: ../learning_ai_efforise
|
||||||
|
dockerfile: client/Dockerfile
|
||||||
|
ports:
|
||||||
|
- '3080:3080'
|
||||||
|
depends_on:
|
||||||
|
efforise-backend:
|
||||||
|
condition: service_healthy
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3080']
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
# ═════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════
|
||||||
# VOLUMES
|
# VOLUMES
|
||||||
# ═════════════════════════════════════════════════════════════════
|
# ═════════════════════════════════════════════════════════════════
|
||||||
|
|||||||
45
products/efforise/product.json
Normal file
45
products/efforise/product.json
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"id": "efforise",
|
||||||
|
"name": "EffoRise",
|
||||||
|
"displayName": "EffoRise",
|
||||||
|
"bundleId": "com.saravana.efforise",
|
||||||
|
"domain": "efforise.app",
|
||||||
|
"description": "Identity-based habit tracker — rise with efforts",
|
||||||
|
"platforms": ["web", "mobile"],
|
||||||
|
"version": "0.1.0",
|
||||||
|
"theme": {
|
||||||
|
"primary": "#6366F1",
|
||||||
|
"secondary": "#8B5CF6",
|
||||||
|
"accent": "#F59E0B",
|
||||||
|
"background": "#09090B",
|
||||||
|
"surface": "#18181B",
|
||||||
|
"text": "#FAFAFA",
|
||||||
|
"error": "#EF4444",
|
||||||
|
"warning": "#F59E0B",
|
||||||
|
"success": "#22C55E"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"identities": true,
|
||||||
|
"efforts": true,
|
||||||
|
"habits": true,
|
||||||
|
"streaks": true,
|
||||||
|
"insights": true
|
||||||
|
},
|
||||||
|
"cosmos": {
|
||||||
|
"containers": [
|
||||||
|
{ "name": "effo_identities", "partitionKey": "/userId" },
|
||||||
|
{ "name": "effo_efforts", "partitionKey": "/userId" },
|
||||||
|
{ "name": "effo_habits", "partitionKey": "/userId" },
|
||||||
|
{ "name": "effo_streaks", "partitionKey": "/userId" },
|
||||||
|
{ "name": "effo_insights", "partitionKey": "/userId" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"flags": [
|
||||||
|
{ "key": "pro-features", "defaultValue": false },
|
||||||
|
{ "key": "max-identities-free", "defaultValue": 3 }
|
||||||
|
],
|
||||||
|
"ports": {
|
||||||
|
"service": 4020,
|
||||||
|
"dashboard": 3080
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user