@mnemosyne_os/forge 1.0.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/CHANGELOG.md +34 -0
- package/LICENSE +21 -0
- package/README.md +230 -0
- package/dist/cli.js +108 -0
- package/dist/templates/index.template.js +36 -0
- package/package.json +57 -0
- package/src/cli.ts +121 -0
- package/src/templates/.cursorrules +55 -0
- package/src/templates/AGENT_INSTRUCTIONS.md +60 -0
- package/src/templates/index.template.tsx +34 -0
- package/tsconfig.json +15 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to MnemoForge CLI are documented here.
|
|
4
|
+
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## [1.0.0] โ 2026-04-03
|
|
9
|
+
|
|
10
|
+
### ๐ Initial Public Release
|
|
11
|
+
|
|
12
|
+
**MnemoForge CLI** is now publicly available as part of the [Mnemosyne Neural OS](https://github.com/yaka0007/Mnemosyne-Neural-OS) ecosystem.
|
|
13
|
+
|
|
14
|
+
#### Added
|
|
15
|
+
- `mnemoforge init <module-name>` โ Scaffold a Mnemosyne-grade module with AI governance DNA
|
|
16
|
+
- Interactive mode: prompts for module name if not provided as argument
|
|
17
|
+
- Input validation: enforces valid module name format
|
|
18
|
+
- **`.cursorrules`** template โ Liquid Glass design system constraints for AI agents
|
|
19
|
+
- **`AGENT_INSTRUCTIONS.md`** template โ Structured mission directive for AI agents (Cursor, Claude, Copilot)
|
|
20
|
+
- **`index.tsx`** template โ React 18 + Framer Motion boilerplate, Mnemosyne-compliant
|
|
21
|
+
- Visual ASCII banner with violet gradient styling
|
|
22
|
+
- Error handling with clear, actionable messages
|
|
23
|
+
- TypeScript strict mode โ zero `any` tolerance
|
|
24
|
+
|
|
25
|
+
#### Technical
|
|
26
|
+
- Node.js 18+ compatibility
|
|
27
|
+
- Commander.js v11 CLI framework
|
|
28
|
+
- Inquirer.js v8 interactive prompts
|
|
29
|
+
- Chalk v4 terminal styling
|
|
30
|
+
- Template variable substitution (`{{MODULE_NAME}}`)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
*XPACEGEMS LLC ยท Tony Trochet ยท MIT License*
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 XPACEGEMS LLC โ Tony Trochet
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
โโโโ โโโโโโโโ โโโโโโโโโโโโโโโ โโโโ โโโโโโโ โโโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโโ
|
|
5
|
+
โโโโโ โโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโ
|
|
6
|
+
โโโโโโโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโ โโโ โโโโโโโโโโโโโโ โโโโโโโโโโ
|
|
7
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโ โโโ โโโโโโโโโโโโโโ โโโโโโโโโ
|
|
8
|
+
โโโ โโโ โโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
|
|
9
|
+
โโโ โโโโโโ โโโโโโโโโโโโโโโโ โโโ โโโโโโโ โโโ โโโโโโโ โโโ โโโ โโโโโโโ โโโโโโโโ
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**MnemoForge CLI** โ The Inception Engine of the Mnemosyne Neural OS
|
|
13
|
+
|
|
14
|
+
[](https://github.com/yaka0007/Mnemosyne-Neural-OS)
|
|
15
|
+
[](./LICENSE)
|
|
16
|
+
[](https://www.typescriptlang.org/)
|
|
17
|
+
[](https://nodejs.org/)
|
|
18
|
+
[](https://github.com/yaka0007/Mnemosyne-Neural-OS)
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## What is MnemoForge?
|
|
25
|
+
|
|
26
|
+
**MnemoForge** is the official module scaffolding CLI for the [Mnemosyne Neural OS](https://github.com/yaka0007/Mnemosyne-Neural-OS) ecosystem.
|
|
27
|
+
|
|
28
|
+
It acts as an **AI inception engine**: a single command scaffolds a complete, production-ready module skeleton that automatically injects **AI governance rules** into the project โ forcing any connected AI agent (Cursor, Claude, GitHub Copilot, etc.) to respect Mnemosyne's architectural and aesthetic standards without needing to re-explain them.
|
|
29
|
+
|
|
30
|
+
> **"Don't just scaffold code. Scaffold intelligence."**
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Why Does This Matter?
|
|
35
|
+
|
|
36
|
+
Modern AI-assisted development has a critical problem: every time you start a new module, you re-explain your design system to the AI. It forgets. It drifts. It produces inconsistent code.
|
|
37
|
+
|
|
38
|
+
MnemoForge solves this at the **project inception level**:
|
|
39
|
+
|
|
40
|
+
| Without MnemoForge | With MnemoForge |
|
|
41
|
+
|---|---|
|
|
42
|
+
| Re-explain design rules every session | Rules baked in at project creation |
|
|
43
|
+
| AI drifts from your design system | AI is constrained by `.cursorrules` DNA |
|
|
44
|
+
| Inconsistent component quality | Every module is Liquid Glass-compliant |
|
|
45
|
+
| Manual boilerplate for each module | One command: `mnemoforge init` |
|
|
46
|
+
| No multi-agent coordination | MnemoSync-aware from day one |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Quick Start
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Install globally via npm
|
|
54
|
+
npm install -g @mnemosyne/forge
|
|
55
|
+
|
|
56
|
+
# Or run directly without installing
|
|
57
|
+
npx @mnemosyne/forge init my-new-module
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Initialize a new Mnemosyne-grade module
|
|
62
|
+
mnemoforge init QuantumVaultUI
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
That's it. In seconds, you get a complete module scaffold with:
|
|
66
|
+
- ๐งฌ **`.cursorrules`** โ AI governance DNA (Liquid Glass design system constraints)
|
|
67
|
+
- ๐ **`AGENT_INSTRUCTIONS.md`** โ Mission directive for any AI agent
|
|
68
|
+
- โ๏ธ **`index.tsx`** โ Mnemosyne-compliant React boilerplate
|
|
69
|
+
- ๐ฎ All constants pre-set to the Mnemosyne ecosystem standards
|
|
70
|
+
|
|
71
|
+
### Interactive Mode
|
|
72
|
+
|
|
73
|
+
If you omit the module name, MnemoForge enters interactive mode:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
mnemoforge init
|
|
77
|
+
|
|
78
|
+
? What is the name of your new Mnemosyne module? (e.g., NexusGraph) โบ _
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## What Gets Generated
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
my-new-module/
|
|
87
|
+
โโโ .cursorrules # AI governance: Liquid Glass design enforcer
|
|
88
|
+
โโโ AGENT_INSTRUCTIONS.md # Context directive for AI agents
|
|
89
|
+
โโโ index.tsx # React entry point (Mnemosyne-compliant)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### The `.cursorrules` DNA File
|
|
93
|
+
|
|
94
|
+
The core of MnemoForge is the AI governance file injected into every project. It enforces:
|
|
95
|
+
|
|
96
|
+
- **Liquid Glass design system** โ translucent surfaces, backdrop blur, micro-animations
|
|
97
|
+
- **Tailwind CSS only** โ no inline styles unless strictly necessary
|
|
98
|
+
- **Framer Motion** for all transitions (`<motion.div layout>`)
|
|
99
|
+
- **Zustand** state management (no Redux)
|
|
100
|
+
- **Strict TypeScript** โ zero `any` tolerance
|
|
101
|
+
- **lucide-react** icon system
|
|
102
|
+
- **No placeholders** โ complete, deployable code as output
|
|
103
|
+
|
|
104
|
+
### The `AGENT_INSTRUCTIONS.md` Mission Directive
|
|
105
|
+
|
|
106
|
+
A structured briefing document for any autonomous AI agent. Works with:
|
|
107
|
+
- Cursor AI (native `.cursorrules` + instructions)
|
|
108
|
+
- Claude via API / Projects
|
|
109
|
+
- GitHub Copilot Workspace
|
|
110
|
+
- Any OpenAI-compatible agent
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Part of the Mnemosyne Ecosystem
|
|
115
|
+
|
|
116
|
+
MnemoForge is the **scaffolding layer** of a larger sovereign AI operating system:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
120
|
+
โ MNEMOSYNE NEURAL OS โ
|
|
121
|
+
โ โ
|
|
122
|
+
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
123
|
+
โ โ MnemoForge โโโโโถโ Mnemosyne Desktop โ โ
|
|
124
|
+
โ โ CLI (this) โ โ (Electron + React) โ โ
|
|
125
|
+
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
126
|
+
โ โ โ โ
|
|
127
|
+
โ โผ โผ โ
|
|
128
|
+
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
129
|
+
โ โ Module DNA โ โ Resonance Engine โ โ
|
|
130
|
+
โ โ (.cursor โ โ (Cognitive RAG + โ โ
|
|
131
|
+
โ โ rules) โ โ FGAC + MnemoSync) โ โ
|
|
132
|
+
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
133
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
The parent system features:
|
|
137
|
+
- **1,126 automated tests** โ 100% pass rate across 88 test suites
|
|
138
|
+
- **220,000+ lines of TypeScript** (strict mode, zero errors)
|
|
139
|
+
- **Multi-agent AI orchestration** with real-time coordination
|
|
140
|
+
- **Local-first encrypted vault** with FGAC access control
|
|
141
|
+
- **CI/CD pipeline** โ typecheck โ lint โ i18n โ tests (always green)
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Roadmap
|
|
146
|
+
|
|
147
|
+
- [x] `mnemoforge init` โ module scaffolding with AI DNA injection
|
|
148
|
+
- [ ] `mnemoforge add <component>` โ add pre-built Liquid Glass components
|
|
149
|
+
- [ ] `mnemoforge publish` โ publish module to the Mnemosyne Plugin Marketplace
|
|
150
|
+
- [ ] `mnemoforge doctor` โ diagnose AI governance drift in existing projects
|
|
151
|
+
- [ ] Multi-template support (API service, background agent, data pipeline)
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Development
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Clone the Mnemosyne Neural OS repo
|
|
159
|
+
git clone https://github.com/yaka0007/Mnemosyne-Neural-OS.git
|
|
160
|
+
|
|
161
|
+
# Navigate to the CLI package
|
|
162
|
+
cd Mnemosyne-Neural-OS/cli
|
|
163
|
+
|
|
164
|
+
# Install dependencies
|
|
165
|
+
npm install
|
|
166
|
+
|
|
167
|
+
# Build
|
|
168
|
+
npm run build
|
|
169
|
+
|
|
170
|
+
# Link globally for local testing
|
|
171
|
+
npm link
|
|
172
|
+
|
|
173
|
+
# Test
|
|
174
|
+
mnemoforge init test-module
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Extending the Templates
|
|
178
|
+
|
|
179
|
+
All generated files come from `src/templates/`. To customize the AI governance DNA for your own fork:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Edit the AI rules
|
|
183
|
+
vim src/templates/.cursorrules
|
|
184
|
+
|
|
185
|
+
# Rebuild
|
|
186
|
+
npm run build
|
|
187
|
+
|
|
188
|
+
# All future `mnemoforge init` calls use your new rules
|
|
189
|
+
mnemoforge init my-custom-module
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Tech Stack
|
|
195
|
+
|
|
196
|
+
| Layer | Technology |
|
|
197
|
+
|---|---|
|
|
198
|
+
| Runtime | Node.js 22+ |
|
|
199
|
+
| Language | TypeScript 5 (strict mode) |
|
|
200
|
+
| CLI Framework | Commander.js v11 |
|
|
201
|
+
| Prompts | Inquirer.js v8 |
|
|
202
|
+
| Output Styling | Chalk v4 |
|
|
203
|
+
| Generated UI | React 18 + Framer Motion + Tailwind CSS |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## License
|
|
208
|
+
|
|
209
|
+
MIT ยฉ 2026 [XPACEGEMS LLC](https://xpacegems.com) โ Tony Trochet
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## About
|
|
214
|
+
|
|
215
|
+
**XPACEGEMS LLC** โ Independent AI Software Lab
|
|
216
|
+
Miami, FL 33122, USA
|
|
217
|
+
Founder & Lead Architect: [Tony Trochet](https://www.linkedin.com/in/tony-t-19544650/)
|
|
218
|
+
|
|
219
|
+
Built as part of **Mnemosyne Neural OS** โ a production-grade sovereign AI operating system.
|
|
220
|
+
Powered by **Claude (Anthropic)** ยท **Antigravity (Google DeepMind)** ยท **Cursor**
|
|
221
|
+
|
|
222
|
+
> *"The model may not know who it is. The soul does."*
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
<div align="center">
|
|
227
|
+
|
|
228
|
+
**[โญ Star Mnemosyne Neural OS](https://github.com/yaka0007/Mnemosyne-Neural-OS)** ยท **[๐ Full Documentation](https://github.com/yaka0007/Mnemosyne-Neural-OS/tree/main/doc)** ยท **[๐ Report Issues](https://github.com/yaka0007/Mnemosyne-Neural-OS/issues)**
|
|
229
|
+
|
|
230
|
+
</div>
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
|
+
const fs_1 = __importDefault(require("fs"));
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
13
|
+
// MnemoForge CLI โ Mnemosyne Neural OS
|
|
14
|
+
// AI Inception Engine ยท XPACEGEMS LLC
|
|
15
|
+
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
16
|
+
const BANNER = `
|
|
17
|
+
${chalk_1.default.hex('#8B5CF6')('โโโโ โโโโโโโโ โโโโโโโโโโโโโโโ โโโโ โโโโโโโ')}
|
|
18
|
+
${chalk_1.default.hex('#8B5CF6')('โโโโโ โโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ')}
|
|
19
|
+
${chalk_1.default.hex('#A78BFA')('โโโโโโโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโโโโ โโโ')}
|
|
20
|
+
${chalk_1.default.hex('#C4B5FD')('โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโ')}
|
|
21
|
+
${chalk_1.default.hex('#DDD6FE')('โโโ โโโ โโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโ')}
|
|
22
|
+
${chalk_1.default.hex('#EDE9FE')('โโโ โโโโโโ โโโโโโโโโโโโโโโโ โโโ โโโโโโโ ')}
|
|
23
|
+
${chalk_1.default.hex('#F5F3FF').bold(' F O R G E C L I')}
|
|
24
|
+
${chalk_1.default.gray(' The AI Inception Engine โ Mnemosyne Neural OS')}
|
|
25
|
+
${chalk_1.default.gray(' XPACEGEMS LLC ยท MIT License')}
|
|
26
|
+
`;
|
|
27
|
+
const program = new commander_1.Command();
|
|
28
|
+
program
|
|
29
|
+
.name('mnemoforge')
|
|
30
|
+
.description('MnemoForge โ AI Inception Engine for the Mnemosyne Neural OS ecosystem')
|
|
31
|
+
.version('1.0.0', '-v, --version', 'Display current version')
|
|
32
|
+
.addHelpText('beforeAll', BANNER);
|
|
33
|
+
program
|
|
34
|
+
.command('init')
|
|
35
|
+
.description('Scaffold a new Mnemosyne-grade module with AI governance DNA')
|
|
36
|
+
.argument('[module-name]', 'Name of the module to create (PascalCase recommended)')
|
|
37
|
+
.option('--no-git', 'Skip git initialization')
|
|
38
|
+
.action(async (moduleName) => {
|
|
39
|
+
console.log(BANNER);
|
|
40
|
+
let name = moduleName;
|
|
41
|
+
if (!name) {
|
|
42
|
+
const answers = await inquirer_1.default.prompt([
|
|
43
|
+
{
|
|
44
|
+
type: 'input',
|
|
45
|
+
name: 'moduleName',
|
|
46
|
+
message: chalk_1.default.cyan('What is the name of your new Mnemosyne module?') + chalk_1.default.gray(' (e.g., QuantumVaultUI)'),
|
|
47
|
+
validate: (input) => {
|
|
48
|
+
if (input.trim() === '')
|
|
49
|
+
return 'Module name is required.';
|
|
50
|
+
if (!/^[a-zA-Z][a-zA-Z0-9-_]*$/.test(input.trim())) {
|
|
51
|
+
return 'Module name must start with a letter and contain only letters, numbers, hyphens, or underscores.';
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
]);
|
|
57
|
+
name = answers.moduleName.trim();
|
|
58
|
+
}
|
|
59
|
+
const targetDir = path_1.default.resolve(process.cwd(), name);
|
|
60
|
+
console.log(chalk_1.default.hex('#8B5CF6').bold(`\nโฌก Forging Module: ${chalk_1.default.white.bold(name)}`));
|
|
61
|
+
console.log(chalk_1.default.gray(` Target: ${targetDir}\n`));
|
|
62
|
+
if (fs_1.default.existsSync(targetDir)) {
|
|
63
|
+
console.log(chalk_1.default.red(`\nโ Directory "${name}" already exists. Choose a different name or remove the existing folder.\n`));
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
fs_1.default.mkdirSync(targetDir, { recursive: true });
|
|
67
|
+
// Resolve templates โ works whether running from /src (development) or /dist (production)
|
|
68
|
+
const isCompiled = __dirname.endsWith('dist') || __dirname.includes(path_1.default.join('dist'));
|
|
69
|
+
const templatesDir = isCompiled
|
|
70
|
+
? path_1.default.join(__dirname, '..', 'src', 'templates')
|
|
71
|
+
: path_1.default.join(__dirname, 'templates');
|
|
72
|
+
const copyTemplate = (file, destName = file) => {
|
|
73
|
+
try {
|
|
74
|
+
const srcPath = path_1.default.join(templatesDir, file);
|
|
75
|
+
if (!fs_1.default.existsSync(srcPath)) {
|
|
76
|
+
console.log(chalk_1.default.yellow(` โ Template "${file}" not found โ skipping.`));
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
let content = fs_1.default.readFileSync(srcPath, 'utf8');
|
|
80
|
+
content = content.replace(/\{\{MODULE_NAME\}\}/g, name);
|
|
81
|
+
fs_1.default.writeFileSync(path_1.default.join(targetDir, destName), content, 'utf8');
|
|
82
|
+
console.log(chalk_1.default.green(` โ ${destName}`));
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
87
|
+
console.log(chalk_1.default.red(` โ Failed to create "${file}": ${message}`));
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
// Scaffold the module
|
|
92
|
+
copyTemplate('.cursorrules');
|
|
93
|
+
copyTemplate('AGENT_INSTRUCTIONS.md');
|
|
94
|
+
copyTemplate('index.template.tsx', 'index.tsx');
|
|
95
|
+
// Success output
|
|
96
|
+
console.log(chalk_1.default.hex('#8B5CF6').bold('\nโฆ Module Forged Successfully!\n'));
|
|
97
|
+
console.log(chalk_1.default.white(' Next steps for developers:'));
|
|
98
|
+
console.log(chalk_1.default.gray(` cd ${name}`));
|
|
99
|
+
console.log(chalk_1.default.gray(' npm install'));
|
|
100
|
+
console.log(chalk_1.default.gray(' code .\n'));
|
|
101
|
+
console.log(chalk_1.default.white(' For AI Agents (Cursor / Claude / Copilot):'));
|
|
102
|
+
console.log(chalk_1.default.hex('#A78BFA')(` 1. Read .cursorrules โ Liquid Glass design constraints`));
|
|
103
|
+
console.log(chalk_1.default.hex('#A78BFA')(` 2. Read AGENT_INSTRUCTIONS.md โ Mission context`));
|
|
104
|
+
console.log(chalk_1.default.hex('#A78BFA')(` 3. Build index.tsx โ Your sovereign module awaits\n`));
|
|
105
|
+
console.log(chalk_1.default.gray(' Documentation: https://github.com/yaka0007/Mnemosyne-Neural-OS'));
|
|
106
|
+
console.log(chalk_1.default.gray(' Part of: Mnemosyne Neural OS โ XPACEGEMS LLC\n'));
|
|
107
|
+
});
|
|
108
|
+
program.parse(process.argv);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports. = ;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const framer_motion_1 = require("framer-motion");
|
|
9
|
+
/**
|
|
10
|
+
* {{MODULE_NAME}}
|
|
11
|
+
* Forged by MnemoForge SDK.
|
|
12
|
+
*
|
|
13
|
+
* Objective: Build a Liquid Glass UX for Mnemosyne Ecosystem.
|
|
14
|
+
*/
|
|
15
|
+
function () { {
|
|
16
|
+
MODULE_NAME;
|
|
17
|
+
} }
|
|
18
|
+
() => {
|
|
19
|
+
return (<framer_motion_1.motion.div initial={{ opacity: 0, scale: 0.95 }} animate={{ opacity: 1, scale: 1 }} className="p-6 rounded-2xl border bg-surface/60 backdrop-blur-md border-border/50 text-foreground">
|
|
20
|
+
<div className="flex items-center gap-4 mb-4">
|
|
21
|
+
<div className="w-10 h-10 rounded-full flex items-center justify-center bg-violet-500/20 text-violet-400 border border-violet-500/50">
|
|
22
|
+
โจ
|
|
23
|
+
</div>
|
|
24
|
+
<div>
|
|
25
|
+
<h2 className="text-xl font-bold tracking-tight">{{ MODULE_NAME }} Module</h2>
|
|
26
|
+
<p className="text-sm text-muted">Awaiting Agentic Construction...</p>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<div className="p-4 rounded-xl bg-surface/80 border border-border/30 italic text-muted text-sm group hover:border-violet-500/30 transition-colors">
|
|
31
|
+
<span className="group-hover:text-primary transition-colors">
|
|
32
|
+
Agent Instructions: Open `.cursorrules` to review Liquid Glass guidelines.
|
|
33
|
+
</span>
|
|
34
|
+
</div>
|
|
35
|
+
</framer_motion_1.motion.div>);
|
|
36
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mnemosyne_os/forge",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "MnemoForge CLI โ The AI Inception Engine for the Mnemosyne Neural OS ecosystem. Scaffold sovereign, AI-governed modules in one command.",
|
|
5
|
+
"main": "dist/cli.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mnemoforge": "./dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"start": "node dist/cli.js",
|
|
12
|
+
"dev": "tsc -w",
|
|
13
|
+
"prepublishOnly": "npm run build"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"mnemosyne",
|
|
17
|
+
"cli",
|
|
18
|
+
"scaffold",
|
|
19
|
+
"ai",
|
|
20
|
+
"agent",
|
|
21
|
+
"mnemoforge",
|
|
22
|
+
"liquid-glass",
|
|
23
|
+
"react",
|
|
24
|
+
"tailwind",
|
|
25
|
+
"cursor",
|
|
26
|
+
"sovereign-ai",
|
|
27
|
+
"code-generator",
|
|
28
|
+
"boilerplate"
|
|
29
|
+
],
|
|
30
|
+
"author": {
|
|
31
|
+
"name": "Tony Trochet",
|
|
32
|
+
"email": "tony@xpacegems.com",
|
|
33
|
+
"url": "https://www.linkedin.com/in/tony-t-19544650/"
|
|
34
|
+
},
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"homepage": "https://github.com/yaka0007/Mnemosyne-Neural-OS",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/yaka0007/Mnemosyne-Neural-OS.git"
|
|
40
|
+
},
|
|
41
|
+
"bugs": {
|
|
42
|
+
"url": "https://github.com/yaka0007/Mnemosyne-Neural-OS/issues"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=18.0.0"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"chalk": "^4.1.2",
|
|
49
|
+
"commander": "^11.1.0",
|
|
50
|
+
"inquirer": "^8.2.6"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@types/inquirer": "^8.2.10",
|
|
54
|
+
"@types/node": "^20.10.0",
|
|
55
|
+
"typescript": "^5.3.3"
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/cli.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import inquirer from 'inquirer';
|
|
6
|
+
import fs from 'fs';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
|
|
9
|
+
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
10
|
+
// MnemoForge CLI โ Mnemosyne Neural OS
|
|
11
|
+
// AI Inception Engine ยท XPACEGEMS LLC
|
|
12
|
+
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
13
|
+
|
|
14
|
+
const BANNER = `
|
|
15
|
+
${chalk.hex('#8B5CF6')('โโโโ โโโโโโโโ โโโโโโโโโโโโโโโ โโโโ โโโโโโโ')}
|
|
16
|
+
${chalk.hex('#8B5CF6')('โโโโโ โโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ')}
|
|
17
|
+
${chalk.hex('#A78BFA')('โโโโโโโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโโโโ โโโ')}
|
|
18
|
+
${chalk.hex('#C4B5FD')('โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโ')}
|
|
19
|
+
${chalk.hex('#DDD6FE')('โโโ โโโ โโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโ')}
|
|
20
|
+
${chalk.hex('#EDE9FE')('โโโ โโโโโโ โโโโโโโโโโโโโโโโ โโโ โโโโโโโ ')}
|
|
21
|
+
${chalk.hex('#F5F3FF').bold(' F O R G E C L I')}
|
|
22
|
+
${chalk.gray(' The AI Inception Engine โ Mnemosyne Neural OS')}
|
|
23
|
+
${chalk.gray(' XPACEGEMS LLC ยท MIT License')}
|
|
24
|
+
`;
|
|
25
|
+
|
|
26
|
+
const program = new Command();
|
|
27
|
+
|
|
28
|
+
program
|
|
29
|
+
.name('mnemoforge')
|
|
30
|
+
.description('MnemoForge โ AI Inception Engine for the Mnemosyne Neural OS ecosystem')
|
|
31
|
+
.version('1.0.0', '-v, --version', 'Display current version')
|
|
32
|
+
.addHelpText('beforeAll', BANNER);
|
|
33
|
+
|
|
34
|
+
program
|
|
35
|
+
.command('init')
|
|
36
|
+
.description('Scaffold a new Mnemosyne-grade module with AI governance DNA')
|
|
37
|
+
.argument('[module-name]', 'Name of the module to create (PascalCase recommended)')
|
|
38
|
+
.option('--no-git', 'Skip git initialization')
|
|
39
|
+
.action(async (moduleName) => {
|
|
40
|
+
console.log(BANNER);
|
|
41
|
+
|
|
42
|
+
let name = moduleName;
|
|
43
|
+
|
|
44
|
+
if (!name) {
|
|
45
|
+
const answers = await inquirer.prompt([
|
|
46
|
+
{
|
|
47
|
+
type: 'input',
|
|
48
|
+
name: 'moduleName',
|
|
49
|
+
message: chalk.cyan('What is the name of your new Mnemosyne module?') + chalk.gray(' (e.g., QuantumVaultUI)'),
|
|
50
|
+
validate: (input: string) => {
|
|
51
|
+
if (input.trim() === '') return 'Module name is required.';
|
|
52
|
+
if (!/^[a-zA-Z][a-zA-Z0-9-_]*$/.test(input.trim())) {
|
|
53
|
+
return 'Module name must start with a letter and contain only letters, numbers, hyphens, or underscores.';
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
]);
|
|
59
|
+
name = answers.moduleName.trim();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const targetDir = path.resolve(process.cwd(), name);
|
|
63
|
+
|
|
64
|
+
console.log(chalk.hex('#8B5CF6').bold(`\nโฌก Forging Module: ${chalk.white.bold(name)}`));
|
|
65
|
+
console.log(chalk.gray(` Target: ${targetDir}\n`));
|
|
66
|
+
|
|
67
|
+
if (fs.existsSync(targetDir)) {
|
|
68
|
+
console.log(chalk.red(`\nโ Directory "${name}" already exists. Choose a different name or remove the existing folder.\n`));
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
73
|
+
|
|
74
|
+
// Resolve templates โ works whether running from /src (development) or /dist (production)
|
|
75
|
+
const isCompiled = __dirname.endsWith('dist') || __dirname.includes(path.join('dist'));
|
|
76
|
+
const templatesDir = isCompiled
|
|
77
|
+
? path.join(__dirname, '..', 'src', 'templates')
|
|
78
|
+
: path.join(__dirname, 'templates');
|
|
79
|
+
|
|
80
|
+
const copyTemplate = (file: string, destName: string = file): boolean => {
|
|
81
|
+
try {
|
|
82
|
+
const srcPath = path.join(templatesDir, file);
|
|
83
|
+
if (!fs.existsSync(srcPath)) {
|
|
84
|
+
console.log(chalk.yellow(` โ Template "${file}" not found โ skipping.`));
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
let content = fs.readFileSync(srcPath, 'utf8');
|
|
88
|
+
content = content.replace(/\{\{MODULE_NAME\}\}/g, name);
|
|
89
|
+
fs.writeFileSync(path.join(targetDir, destName), content, 'utf8');
|
|
90
|
+
console.log(chalk.green(` โ ${destName}`));
|
|
91
|
+
return true;
|
|
92
|
+
} catch (err: unknown) {
|
|
93
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
94
|
+
console.log(chalk.red(` โ Failed to create "${file}": ${message}`));
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// Scaffold the module
|
|
100
|
+
copyTemplate('.cursorrules');
|
|
101
|
+
copyTemplate('AGENT_INSTRUCTIONS.md');
|
|
102
|
+
copyTemplate('index.template.tsx', 'index.tsx');
|
|
103
|
+
|
|
104
|
+
// Success output
|
|
105
|
+
console.log(chalk.hex('#8B5CF6').bold('\nโฆ Module Forged Successfully!\n'));
|
|
106
|
+
|
|
107
|
+
console.log(chalk.white(' Next steps for developers:'));
|
|
108
|
+
console.log(chalk.gray(` cd ${name}`));
|
|
109
|
+
console.log(chalk.gray(' npm install'));
|
|
110
|
+
console.log(chalk.gray(' code .\n'));
|
|
111
|
+
|
|
112
|
+
console.log(chalk.white(' For AI Agents (Cursor / Claude / Copilot):'));
|
|
113
|
+
console.log(chalk.hex('#A78BFA')(` 1. Read .cursorrules โ Liquid Glass design constraints`));
|
|
114
|
+
console.log(chalk.hex('#A78BFA')(` 2. Read AGENT_INSTRUCTIONS.md โ Mission context`));
|
|
115
|
+
console.log(chalk.hex('#A78BFA')(` 3. Build index.tsx โ Your sovereign module awaits\n`));
|
|
116
|
+
|
|
117
|
+
console.log(chalk.gray(' Documentation: https://github.com/yaka0007/Mnemosyne-Neural-OS'));
|
|
118
|
+
console.log(chalk.gray(' Part of: Mnemosyne Neural OS โ XPACEGEMS LLC\n'));
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
program.parse(process.argv);
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Mnemosyne Module โ AI Governance Rules (Liquid Glass Design System)
|
|
2
|
+
# Generated by MnemoForge CLI ยท https://github.com/yaka0007/Mnemosyne-Neural-OS
|
|
3
|
+
|
|
4
|
+
You are an AI agent building the module: **{{MODULE_NAME}}**
|
|
5
|
+
This module is part of the **Mnemosyne Neural OS** ecosystem by XPACEGEMS LLC.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## DESIGN SYSTEM: Liquid Glass
|
|
10
|
+
|
|
11
|
+
All UI must follow the Mnemosyne "Liquid Glass" aesthetic:
|
|
12
|
+
|
|
13
|
+
- **Surfaces**: Translucent backgrounds (`bg-surface/60`), `backdrop-blur-md`
|
|
14
|
+
- **Borders**: Subtle (`border-border/50`), never solid hard borders
|
|
15
|
+
- **Accents**: Violet spectrum (`violet-400`, `violet-500`, `purple-400`)
|
|
16
|
+
- **Typography**: Inter or system-ui, sharp tracking for headings
|
|
17
|
+
- **Shadows**: Layered glow effects (`shadow-violet-500/20`)
|
|
18
|
+
- **Dark-first**: Design in dark mode; light mode is optional
|
|
19
|
+
|
|
20
|
+
## STYLING RULES
|
|
21
|
+
|
|
22
|
+
1. **Tailwind CSS ONLY** โ No inline `style={{ }}` unless binding to a dynamic JS value
|
|
23
|
+
2. **No arbitrary magic numbers** โ Use Tailwind spacing scale
|
|
24
|
+
3. **Framer Motion** for ALL transitions:
|
|
25
|
+
- Entry: `initial={{ opacity: 0, scale: 0.95 }}` / `animate={{ opacity: 1, scale: 1 }}`
|
|
26
|
+
- Use `<motion.div layout>` for list animations
|
|
27
|
+
- Hover: `whileHover={{ scale: 1.02 }}`
|
|
28
|
+
4. **Micro-animations on interactive elements** โ hover glow, pulse, or scale
|
|
29
|
+
5. **Responsive** โ Mobile-first with `sm:`, `md:`, `lg:` breakpoints
|
|
30
|
+
|
|
31
|
+
## ARCHITECTURE RULES
|
|
32
|
+
|
|
33
|
+
1. **State**: Zustand only. No Redux, no Context API for shared state.
|
|
34
|
+
2. **TypeScript**: Strict mode. No `any`. All props typed with interfaces.
|
|
35
|
+
3. **Icons**: `lucide-react` exclusively for UI metaphors.
|
|
36
|
+
4. **Components**: Decompose into `components/` subdirectory โ no 300-line monoliths.
|
|
37
|
+
5. **No placeholders**: Every generated file must be complete and deployable.
|
|
38
|
+
6. **Imports**: Named exports preferred over default exports.
|
|
39
|
+
|
|
40
|
+
## QUALITY STANDARD
|
|
41
|
+
|
|
42
|
+
Every component must make a developer say:
|
|
43
|
+
> "This looks like a Sovereign Command Center from 2030."
|
|
44
|
+
|
|
45
|
+
If it looks like a generic SaaS dashboard template, you have failed.
|
|
46
|
+
|
|
47
|
+
## MNEMOSYNC INTEGRATION (Optional)
|
|
48
|
+
|
|
49
|
+
If this module communicates with the Mnemosyne agent coordination layer:
|
|
50
|
+
- Read/write to `live_state.json` via the MnemoSync protocol
|
|
51
|
+
- Update agent status fields: `status`, `intent`, `files_touched`
|
|
52
|
+
- Emit events to the Resonance Engine via the registered IPC channel
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
*MnemoForge v1.0.0 ยท MIT License ยท XPACEGEMS LLC*
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Mission Directive โ {{MODULE_NAME}}
|
|
2
|
+
# Generated by MnemoForge CLI ยท Mnemosyne Neural OS
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
You have been initialized by the **MnemoForge Inception Engine** to build the module **{{MODULE_NAME}}**.
|
|
9
|
+
|
|
10
|
+
This module is part of the **Mnemosyne Neural OS** โ a production-grade sovereign AI operating system.
|
|
11
|
+
Repository: https://github.com/yaka0007/Mnemosyne-Neural-OS
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Your Instructions
|
|
16
|
+
|
|
17
|
+
### Step 1 โ Internalize the Rules
|
|
18
|
+
Read `.cursorrules` in this directory. It defines:
|
|
19
|
+
- The **Liquid Glass design system** you must follow
|
|
20
|
+
- **Styling constraints** (Tailwind-only, Framer Motion, Zustand)
|
|
21
|
+
- **TypeScript standards** (strict mode, no `any`)
|
|
22
|
+
- **Quality bar** ("Sovereign Command Center from 2030")
|
|
23
|
+
|
|
24
|
+
### Step 2 โ Build `index.tsx`
|
|
25
|
+
- Replace the scaffold with real, functional UI
|
|
26
|
+
- Decompose complex components into `components/` subdirectory
|
|
27
|
+
- All types must be explicit โ no implicit `any`
|
|
28
|
+
- All interactions must have micro-animations
|
|
29
|
+
|
|
30
|
+
### Step 3 โ Verify Quality
|
|
31
|
+
Before declaring your work complete, confirm:
|
|
32
|
+
- [ ] Zero inline styles (unless dynamic JS binding)
|
|
33
|
+
- [ ] All transitions use Framer Motion
|
|
34
|
+
- [ ] State managed via Zustand (if stateful)
|
|
35
|
+
- [ ] TypeScript compiles with zero errors
|
|
36
|
+
- [ ] UI matches "Liquid Glass" aesthetic (translucent, dark, violet-accented)
|
|
37
|
+
|
|
38
|
+
### Step 4 โ (Optional) MnemoSync Integration
|
|
39
|
+
If this module connects to the Mnemosyne coordination layer:
|
|
40
|
+
- Emit your completion status to the MnemoSync daemon
|
|
41
|
+
- Update the relevant `pulse.json` with `"status": "idle"` when done
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Technical Stack Available
|
|
46
|
+
|
|
47
|
+
| Concern | Technology |
|
|
48
|
+
|---|---|
|
|
49
|
+
| UI Framework | React 18 |
|
|
50
|
+
| Styling | Tailwind CSS + CSS Variables |
|
|
51
|
+
| Animations | Framer Motion |
|
|
52
|
+
| State | Zustand |
|
|
53
|
+
| Icons | lucide-react |
|
|
54
|
+
| Language | TypeScript 5 (strict) |
|
|
55
|
+
| Build | Vite |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
*End of mission directive. The module awaits construction.*
|
|
60
|
+
*MnemoForge v1.0.0 ยท XPACEGEMS LLC ยท MIT License*
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { motion } from 'framer-motion';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* {{MODULE_NAME}}
|
|
6
|
+
* Forged by MnemoForge SDK.
|
|
7
|
+
*
|
|
8
|
+
* Objective: Build a Liquid Glass UX for Mnemosyne Ecosystem.
|
|
9
|
+
*/
|
|
10
|
+
export function {{MODULE_NAME}}() {
|
|
11
|
+
return (
|
|
12
|
+
<motion.div
|
|
13
|
+
initial={{ opacity: 0, scale: 0.95 }}
|
|
14
|
+
animate={{ opacity: 1, scale: 1 }}
|
|
15
|
+
className="p-6 rounded-2xl border bg-surface/60 backdrop-blur-md border-border/50 text-foreground"
|
|
16
|
+
>
|
|
17
|
+
<div className="flex items-center gap-4 mb-4">
|
|
18
|
+
<div className="w-10 h-10 rounded-full flex items-center justify-center bg-violet-500/20 text-violet-400 border border-violet-500/50">
|
|
19
|
+
โจ
|
|
20
|
+
</div>
|
|
21
|
+
<div>
|
|
22
|
+
<h2 className="text-xl font-bold tracking-tight">{{MODULE_NAME}} Module</h2>
|
|
23
|
+
<p className="text-sm text-muted">Awaiting Agentic Construction...</p>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<div className="p-4 rounded-xl bg-surface/80 border border-border/30 italic text-muted text-sm group hover:border-violet-500/30 transition-colors">
|
|
28
|
+
<span className="group-hover:text-primary transition-colors">
|
|
29
|
+
Agent Instructions: Open `.cursorrules` to review Liquid Glass guidelines.
|
|
30
|
+
</span>
|
|
31
|
+
</div>
|
|
32
|
+
</motion.div>
|
|
33
|
+
);
|
|
34
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "CommonJS",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"outDir": "./dist",
|
|
7
|
+
"rootDir": "./src",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true
|
|
12
|
+
},
|
|
13
|
+
"include": ["src/**/*"],
|
|
14
|
+
"exclude": ["src/templates/**/*"]
|
|
15
|
+
}
|