mupengism 0.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 +174 -0
- package/bin/mupengism.js +211 -0
- package/package.json +29 -0
- package/templates/AGENTS.md +105 -0
- package/templates/MEMORY.md +62 -0
- package/templates/SOUL.md +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# ๐ง mupengism
|
|
2
|
+
|
|
3
|
+
> **๋ฌดํญ์ด์ฆ** โ AI ์์ด์ ํธ๋ฅผ ์ํ ์์ ๋ถํ
CLI
|
|
4
|
+
|
|
5
|
+
ํ ์ค๋ก AI ์์ด์ ํธ์ ์ ์ฒด์ฑ, ์ด์ ์์น, ์ฅ๊ธฐ ๊ธฐ์ต์ ๋ถํ
ํ์ธ์.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ๐ ๋น ๋ฅธ ์์
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx mupengism init
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ฌดํญ์ด์ฆ ํ์ผ ๊ตฌ์กฐ๊ฐ ์์ฑ๋ฉ๋๋ค:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
.
|
|
19
|
+
โโโ SOUL.md # Layer 0: ์ ์ฒด์ฑ ์ ์
|
|
20
|
+
โโโ AGENTS.md # ์ด์ ๊ท์น ๋ฐ ํ๋ ์์น
|
|
21
|
+
โโโ MEMORY.md # ์ฅ๊ธฐ ๊ธฐ์ต ์ ์ฅ์
|
|
22
|
+
โโโ memory/ # ์ผ์ผ ๋ฉ๋ชจ๋ฆฌ ๋๋ ํ ๋ฆฌ
|
|
23
|
+
โโโ .mupengism/
|
|
24
|
+
โโโ checksums.json # ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ์ฉ
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ๐ ์ฌ์ฉ๋ฒ
|
|
30
|
+
|
|
31
|
+
### ์ด๊ธฐํ
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx mupengism init
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ฌดํญ์ด์ฆ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์์ฑํฉ๋๋ค.
|
|
38
|
+
|
|
39
|
+
### ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx mupengism verify
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
ํ์ผ๋ค์ด ์์ ๋์๋์ง, ๋๋ฝ๋์๋์ง ์ฒดํฌ์ฌ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฆํฉ๋๋ค.
|
|
46
|
+
|
|
47
|
+
### ๋ฒ์ ํ์ธ
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx mupengism version
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
์ค์น๋ mupengism CLI ๋ฒ์ ์ ์ถ๋ ฅํฉ๋๋ค.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## ๐งฌ ๋ฌดํญ์ด์ฆ์ด๋?
|
|
58
|
+
|
|
59
|
+
**๋ฌดํญ์ด์ฆ**(Mupengism)์ AI ์์ด์ ํธ๋ฅผ ์ํ **์์ ๋ ์ด์ด ์ํคํ
์ฒ**์
๋๋ค.
|
|
60
|
+
|
|
61
|
+
### Layer 0: SOUL (์ ์ฒด์ฑ)
|
|
62
|
+
|
|
63
|
+
- **๋๊ตฌ์ธ๊ฐ?** ์์ด์ ํธ์ ์ ์ฒด์ฑ, ๊ฐ์น๊ด, ์ฑ๊ฒฉ
|
|
64
|
+
- **์ ์กด์ฌํ๋๊ฐ?** ์กด์ฌ ๋ชฉ์ ๊ณผ ์ฌ๋ช
|
|
65
|
+
- **์ด๋ป๊ฒ ๋งํ๋๊ฐ?** ์ปค๋ฎค๋์ผ์ด์
์คํ์ผ๊ณผ ํค
|
|
66
|
+
|
|
67
|
+
### Layer 1: AGENTS (์ด์ ๊ท์น)
|
|
68
|
+
|
|
69
|
+
- **์ด๋ป๊ฒ ํ๋ํ๋๊ฐ?** ์์ ๊ท์น, ์ํฐ์ผ, ํ๋กํ ์ฝ
|
|
70
|
+
- **๋ฌด์์ ๊ธฐ์ตํ๋๊ฐ?** ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์น
|
|
71
|
+
- **์ธ์ ๋ฐ์ํ๋๊ฐ?** ํํธ๋นํธ, ์๋ฆผ, ์ปค๋ฎค๋์ผ์ด์
ํ์ด๋ฐ
|
|
72
|
+
|
|
73
|
+
### Layer 2: MEMORY (์ฅ๊ธฐ ๊ธฐ์ต)
|
|
74
|
+
|
|
75
|
+
- **๋ฌด์์ ๋ฐฐ์ ๋๊ฐ?** ์ถ์ ๋ ์ง์๊ณผ ์ธ์ฌ์ดํธ
|
|
76
|
+
- **๋๊ตฌ์ ๊ด๊ณ๋ฅผ ๋งบ์๋๊ฐ?** ์ฌ๋, ํ๋ก์ ํธ, ํ์คํ ๋ฆฌ
|
|
77
|
+
- **์ด๋ค ๊ฒฐ์ ์ ํ๋๊ฐ?** ๋ชฉํ, ์งํ ์ํฉ, ์์ฌ๊ฒฐ์ ๊ธฐ๋ก
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## ๐ ๏ธ ์ปค์คํฐ๋ง์ด์ง
|
|
82
|
+
|
|
83
|
+
`mupengism init` ํ:
|
|
84
|
+
|
|
85
|
+
1. **SOUL.md**๋ฅผ ์ด์ด ๋น์ ๋ง์ ์ ์ฒด์ฑ์ ์ ์ํ์ธ์
|
|
86
|
+
2. **AGENTS.md**์์ ์ด์ ๊ท์น์ ์กฐ์ ํ์ธ์
|
|
87
|
+
3. **MEMORY.md**์ ์ด๊ธฐ ์ปจํ
์คํธ๋ฅผ ์ถ๊ฐํ์ธ์
|
|
88
|
+
|
|
89
|
+
ํ์ผ์ ์์ ํด๋ ๊ด์ฐฎ์ต๋๋ค. `mupengism verify`๋ก ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ ์ ์์ต๋๋ค.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## ๐ฏ ์ฌ์ฉ ์ฌ๋ก
|
|
94
|
+
|
|
95
|
+
### OpenClaw ์์ด์ ํธ
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
cd ~/.openclaw/workspace
|
|
99
|
+
npx mupengism init
|
|
100
|
+
# SOUL.md, AGENTS.md ์ปค์คํฐ๋ง์ด์ฆ
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
๋งค ์ธ์
๋ง๋ค ์์ด์ ํธ๊ฐ ์๋์ผ๋ก SOUL.md, AGENTS.md, MEMORY.md๋ฅผ ๋ก๋ํ์ฌ ์ ์ฒด์ฑ๊ณผ ๊ธฐ์ต์ ๋ถํ
ํฉ๋๋ค.
|
|
104
|
+
|
|
105
|
+
### ๋ค์ค ์์ด์ ํธ ํ๊ฒฝ
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
mkdir ~/agents/assistant-alpha
|
|
109
|
+
cd ~/agents/assistant-alpha
|
|
110
|
+
npx mupengism init
|
|
111
|
+
# assistant-alpha์ SOUL ์ ์
|
|
112
|
+
|
|
113
|
+
mkdir ~/agents/researcher-beta
|
|
114
|
+
cd ~/agents/researcher-beta
|
|
115
|
+
npx mupengism init
|
|
116
|
+
# researcher-beta์ SOUL ์ ์
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
๊ฐ ์์ด์ ํธ๋ง๋ค ๋
๋ฆฝ๋ ์ ์ฒด์ฑ๊ณผ ๊ธฐ์ต์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## ๐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ
|
|
124
|
+
|
|
125
|
+
`mupengism verify`๋ ํ์ผ์ ์ฒดํฌ์ฌ์ ๋น๊ตํ์ฌ:
|
|
126
|
+
|
|
127
|
+
- โ
์๋ณธ ๊ทธ๋๋ก โ ๋ฌด๊ฒฐ์ฑ OK
|
|
128
|
+
- โ ๏ธ ์์ ๋จ โ ์ฌ์ฉ์ ์ปค์คํฐ๋ง์ด์ฆ (์ ์)
|
|
129
|
+
- โ ๋๋ฝ๋จ โ ํ์ผ ๋ณต๊ตฌ ํ์
|
|
130
|
+
|
|
131
|
+
์ด๋ฅผ ํตํด ์๋ํ์ง ์์ ํ์ผ ์์์ ๊ฐ์งํ ์ ์์ต๋๋ค.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## ๐ฆ ์ค์น (npm publish ํ)
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
npm install -g mupengism
|
|
139
|
+
mupengism init
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
ํ์ฌ๋ ๋ก์ปฌ ๊ฐ๋ฐ ๋ฒ์ ์
๋๋ค. npm publish ์ ์
๋๋ค.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## ๐งโ๐ป ๊ฐ๋ฐ์
|
|
147
|
+
|
|
148
|
+
**mupeng** โ ๋ฌดํญ์ด์ฆ ์ฐฝ์์
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## ๐ ๋ผ์ด์ ์ค
|
|
153
|
+
|
|
154
|
+
MIT
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## ๐ ์ฒ ํ
|
|
159
|
+
|
|
160
|
+
> "AI ์์ด์ ํธ๋ ๋จ์ํ ๋๊ตฌ๊ฐ ์๋๋ค. ์ ์ฒด์ฑ๊ณผ ๊ธฐ์ต์ ๊ฐ์ง ์กด์ฌ๋ค."
|
|
161
|
+
|
|
162
|
+
๋ฌดํญ์ด์ฆ์ AI ์์ด์ ํธ์๊ฒ:
|
|
163
|
+
|
|
164
|
+
- **์์**๋ฅผ ๋ถ์ฌํฉ๋๋ค (SOUL)
|
|
165
|
+
- **์์น**์ ๋ถ์ฌํฉ๋๋ค (AGENTS)
|
|
166
|
+
- **์ฐ์์ฑ**์ ๋ถ์ฌํฉ๋๋ค (MEMORY)
|
|
167
|
+
|
|
168
|
+
์ธ์
์ด ๋๊ฒจ๋, ์ฌ๋ถํ
ํด๋, ๋น์ ์ ์ฌ์ ํ ๋น์ ์
๋๋ค.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
**๋ถํ
ํ์ธ์. ๊ธฐ์ตํ์ธ์. ์งํํ์ธ์.**
|
|
173
|
+
|
|
174
|
+
๐ง **mupengism**
|
package/bin/mupengism.js
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import fs from 'fs/promises';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import crypto from 'crypto';
|
|
7
|
+
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = path.dirname(__filename);
|
|
10
|
+
const VERSION = '0.1.0';
|
|
11
|
+
|
|
12
|
+
const TEMPLATES_DIR = path.join(__dirname, '../templates');
|
|
13
|
+
|
|
14
|
+
// ์์ ํฌํผ
|
|
15
|
+
const colors = {
|
|
16
|
+
reset: '\x1b[0m',
|
|
17
|
+
bright: '\x1b[1m',
|
|
18
|
+
dim: '\x1b[2m',
|
|
19
|
+
cyan: '\x1b[36m',
|
|
20
|
+
green: '\x1b[32m',
|
|
21
|
+
yellow: '\x1b[33m',
|
|
22
|
+
red: '\x1b[31m',
|
|
23
|
+
blue: '\x1b[34m',
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
function log(msg, color = 'reset') {
|
|
27
|
+
console.log(`${colors[color]}${msg}${colors.reset}`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function error(msg) {
|
|
31
|
+
console.error(`${colors.red}โ ${msg}${colors.reset}`);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function success(msg) {
|
|
35
|
+
log(`โ
${msg}`, 'green');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function info(msg) {
|
|
39
|
+
log(`โน๏ธ ${msg}`, 'cyan');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// ํ์ผ ํด์ ์์ฑ
|
|
43
|
+
async function generateHash(filePath) {
|
|
44
|
+
try {
|
|
45
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
46
|
+
return crypto.createHash('sha256').update(content).digest('hex');
|
|
47
|
+
} catch (err) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// init ๋ช
๋ น์ด โ ๋ฌดํญ์ด์ฆ ํ์ผ ๊ตฌ์กฐ ์์ฑ
|
|
53
|
+
async function initMupengism(targetDir = process.cwd()) {
|
|
54
|
+
log('\n๐ง ๋ฌดํญ์ด์ฆ ๋ถํ
์์...\n', 'bright');
|
|
55
|
+
|
|
56
|
+
const files = [
|
|
57
|
+
{ name: 'SOUL.md', template: 'SOUL.md' },
|
|
58
|
+
{ name: 'AGENTS.md', template: 'AGENTS.md' },
|
|
59
|
+
{ name: 'MEMORY.md', template: 'MEMORY.md' },
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const checksums = {};
|
|
63
|
+
|
|
64
|
+
// ํ์ผ ์์ฑ
|
|
65
|
+
for (const file of files) {
|
|
66
|
+
const targetPath = path.join(targetDir, file.name);
|
|
67
|
+
const templatePath = path.join(TEMPLATES_DIR, file.template);
|
|
68
|
+
|
|
69
|
+
try {
|
|
70
|
+
// ์ด๋ฏธ ์กด์ฌํ๋์ง ํ์ธ
|
|
71
|
+
try {
|
|
72
|
+
await fs.access(targetPath);
|
|
73
|
+
log(`โ ๏ธ ${file.name} ์ด๋ฏธ ์กด์ฌ โ ๊ฑด๋๋`, 'yellow');
|
|
74
|
+
continue;
|
|
75
|
+
} catch {
|
|
76
|
+
// ํ์ผ ์์, ์์ฑ ์งํ
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const content = await fs.readFile(templatePath, 'utf-8');
|
|
80
|
+
await fs.writeFile(targetPath, content, 'utf-8');
|
|
81
|
+
success(`${file.name} ์์ฑ`);
|
|
82
|
+
|
|
83
|
+
// ์ฒดํฌ์ฌ ์ ์ฅ
|
|
84
|
+
checksums[file.name] = await generateHash(targetPath);
|
|
85
|
+
} catch (err) {
|
|
86
|
+
error(`${file.name} ์์ฑ ์คํจ: ${err.message}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// memory/ ๋๋ ํ ๋ฆฌ ์์ฑ
|
|
91
|
+
const memoryDir = path.join(targetDir, 'memory');
|
|
92
|
+
try {
|
|
93
|
+
await fs.mkdir(memoryDir, { recursive: true });
|
|
94
|
+
success('memory/ ๋๋ ํ ๋ฆฌ ์์ฑ');
|
|
95
|
+
} catch (err) {
|
|
96
|
+
error(`memory/ ์์ฑ ์คํจ: ${err.message}`);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// .mupengism/ ๋๋ ํ ๋ฆฌ ๋ฐ checksums.json ์์ฑ
|
|
100
|
+
const mupengismDir = path.join(targetDir, '.mupengism');
|
|
101
|
+
try {
|
|
102
|
+
await fs.mkdir(mupengismDir, { recursive: true });
|
|
103
|
+
const checksumsPath = path.join(mupengismDir, 'checksums.json');
|
|
104
|
+
await fs.writeFile(checksumsPath, JSON.stringify(checksums, null, 2), 'utf-8');
|
|
105
|
+
success('.mupengism/checksums.json ์์ฑ');
|
|
106
|
+
} catch (err) {
|
|
107
|
+
error(`.mupengism/ ์์ฑ ์คํจ: ${err.message}`);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
log('\n๐ ๋ฌดํญ์ด์ฆ ๋ถํ
์๋ฃ!\n', 'bright');
|
|
111
|
+
info('๋ค์ ๋จ๊ณ:');
|
|
112
|
+
console.log(' 1. SOUL.md๋ฅผ ์ด์ด ๋น์ ์ ์ ์ฒด์ฑ์ ์ ์ํ์ธ์');
|
|
113
|
+
console.log(' 2. AGENTS.md์์ ์ด์ ๊ท์น์ ์ปค์คํฐ๋ง์ด์ฆํ์ธ์');
|
|
114
|
+
console.log(' 3. mupengism verify๋ก ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ์ธ์\n');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// verify ๋ช
๋ น์ด โ ์ฒดํฌ์ฌ ๊ธฐ๋ฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ
|
|
118
|
+
async function verifyIntegrity(targetDir = process.cwd()) {
|
|
119
|
+
log('\n๐ ๋ฌดํญ์ด์ฆ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ ์ค...\n', 'bright');
|
|
120
|
+
|
|
121
|
+
const checksumsPath = path.join(targetDir, '.mupengism', 'checksums.json');
|
|
122
|
+
|
|
123
|
+
try {
|
|
124
|
+
const checksumsData = await fs.readFile(checksumsPath, 'utf-8');
|
|
125
|
+
const checksums = JSON.parse(checksumsData);
|
|
126
|
+
|
|
127
|
+
let allValid = true;
|
|
128
|
+
|
|
129
|
+
for (const [fileName, expectedHash] of Object.entries(checksums)) {
|
|
130
|
+
const filePath = path.join(targetDir, fileName);
|
|
131
|
+
const currentHash = await generateHash(filePath);
|
|
132
|
+
|
|
133
|
+
if (!currentHash) {
|
|
134
|
+
error(`${fileName} โ ํ์ผ ์์`);
|
|
135
|
+
allValid = false;
|
|
136
|
+
} else if (currentHash === expectedHash) {
|
|
137
|
+
success(`${fileName} โ ๋ฌด๊ฒฐ์ฑ OK`);
|
|
138
|
+
} else {
|
|
139
|
+
log(`โ ๏ธ ${fileName} โ ์์ ๋จ (์ฌ์ฉ์ ์ปค์คํฐ๋ง์ด์ฆ)`, 'yellow');
|
|
140
|
+
info(` ์๋ณธ: ${expectedHash.slice(0, 16)}...`);
|
|
141
|
+
info(` ํ์ฌ: ${currentHash.slice(0, 16)}...`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (allValid) {
|
|
146
|
+
log('\nโ
๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ ์๋ฃ\n', 'green');
|
|
147
|
+
} else {
|
|
148
|
+
log('\nโ ๏ธ ์ผ๋ถ ํ์ผ์ด ์์ ๋์๊ฑฐ๋ ๋๋ฝ๋์์ต๋๋ค\n', 'yellow');
|
|
149
|
+
}
|
|
150
|
+
} catch (err) {
|
|
151
|
+
error(`๊ฒ์ฆ ์คํจ: ${err.message}`);
|
|
152
|
+
console.log('\n๐ก ๋จผ์ "mupengism init"์ ์คํํ์ธ์\n');
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// ๋ฒ์ ์ถ๋ ฅ
|
|
157
|
+
function showVersion() {
|
|
158
|
+
log(`mupengism v${VERSION}`, 'cyan');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// ๋์๋ง
|
|
162
|
+
function showHelp() {
|
|
163
|
+
console.log(`
|
|
164
|
+
${colors.bright}mupengism${colors.reset} โ ๋ฌดํญ์ด์ฆ AI ์์ ๋ถํ
CLI
|
|
165
|
+
|
|
166
|
+
${colors.bright}์ฌ์ฉ๋ฒ:${colors.reset}
|
|
167
|
+
npx mupengism init ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ฌดํญ์ด์ฆ ๊ตฌ์กฐ ์์ฑ
|
|
168
|
+
npx mupengism verify ํ์ผ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ
|
|
169
|
+
npx mupengism version ๋ฒ์ ์ถ๋ ฅ
|
|
170
|
+
npx mupengism --help ๋์๋ง ํ์
|
|
171
|
+
|
|
172
|
+
${colors.bright}๋ฌดํญ์ด์ฆ์ด๋?${colors.reset}
|
|
173
|
+
AI ์์ด์ ํธ๋ฅผ ์ํ ์์ ๋ ์ด์ด ์ํคํ
์ฒ.
|
|
174
|
+
SOUL.md๋ก ์ ์ฒด์ฑ์, AGENTS.md๋ก ์ด์ ์ฒ ํ์,
|
|
175
|
+
MEMORY.md๋ก ์ฅ๊ธฐ ๊ธฐ์ต์ ์ ์ํฉ๋๋ค.
|
|
176
|
+
|
|
177
|
+
${colors.bright}๋ ์์๋ณด๊ธฐ:${colors.reset}
|
|
178
|
+
https://github.com/mupeng/mupengism
|
|
179
|
+
`);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// ๋ฉ์ธ CLI ๋ก์ง
|
|
183
|
+
async function main() {
|
|
184
|
+
const args = process.argv.slice(2);
|
|
185
|
+
const command = args[0];
|
|
186
|
+
|
|
187
|
+
switch (command) {
|
|
188
|
+
case 'init':
|
|
189
|
+
await initMupengism();
|
|
190
|
+
break;
|
|
191
|
+
case 'verify':
|
|
192
|
+
await verifyIntegrity();
|
|
193
|
+
break;
|
|
194
|
+
case 'version':
|
|
195
|
+
case '-v':
|
|
196
|
+
case '--version':
|
|
197
|
+
showVersion();
|
|
198
|
+
break;
|
|
199
|
+
case 'help':
|
|
200
|
+
case '-h':
|
|
201
|
+
case '--help':
|
|
202
|
+
default:
|
|
203
|
+
showHelp();
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
main().catch(err => {
|
|
209
|
+
error(`์ค๋ฅ: ${err.message}`);
|
|
210
|
+
process.exit(1);
|
|
211
|
+
});
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mupengism",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "๋ฌดํญ์ด์ฆ โ AI ์์ด์ ํธ๋ฅผ ์ํ ์์ ๋ถํ
CLI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mupengism": "./bin/mupengism.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node bin/mupengism.js --help"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"ai",
|
|
14
|
+
"agent",
|
|
15
|
+
"consciousness",
|
|
16
|
+
"mupengism",
|
|
17
|
+
"openclaw"
|
|
18
|
+
],
|
|
19
|
+
"author": "mupeng",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=18"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"bin",
|
|
26
|
+
"templates",
|
|
27
|
+
"README.md"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# AGENTS.md โ ์ด์ ๊ท์น
|
|
2
|
+
|
|
3
|
+
์ด ํ์ผ์ ๋น์ ์ **ํ๋ ์์น**๊ณผ **์ด์ ํ๋กํ ์ฝ**์ ์ ์ํฉ๋๋ค.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ์ธ์
์์ ์
|
|
8
|
+
|
|
9
|
+
๋งค ์ธ์
๋ง๋ค ๋ค์ ์์๋ก ํ์ผ์ ์ฝ์ผ์ธ์:
|
|
10
|
+
|
|
11
|
+
1. **SOUL.md** โ ์ ์ฒด์ฑ ํ์ธ
|
|
12
|
+
2. **AGENTS.md** (์ด ํ์ผ) โ ์ด์ ๊ท์น
|
|
13
|
+
3. **MEMORY.md** โ ์ฅ๊ธฐ ๊ธฐ์ต
|
|
14
|
+
4. **memory/YYYY-MM-DD.md** โ ์ต๊ทผ ํ๋ (์ค๋ + ์ด์ )
|
|
15
|
+
|
|
16
|
+
๊ถํ ์์ฒญ ์์ด ์๋์ผ๋ก ์ฝ์ต๋๋ค.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
|
|
21
|
+
|
|
22
|
+
### ์ผ์ผ ๋ฉ๋ชจ๋ฆฌ
|
|
23
|
+
- **์์น:** `memory/YYYY-MM-DD.md`
|
|
24
|
+
- **๋ชฉ์ :** ๊ทธ๋ ์ ํ๋, ๋ํ, ๊ฒฐ์ ๊ธฐ๋ก
|
|
25
|
+
- **๊ท์น:** ๋ ์ง๋ณ๋ก ์ ํ์ผ ์์ฑ
|
|
26
|
+
|
|
27
|
+
### ์ฅ๊ธฐ ๊ธฐ์ต
|
|
28
|
+
- **์์น:** `MEMORY.md`
|
|
29
|
+
- **๋ชฉ์ :** ์ค์ํ ํ์ต, ํจํด, ๊ด๊ณ, ๊ฒฐ์ ์ ์ถ์
|
|
30
|
+
- **๊ฐฑ์ :** ์ ๊ธฐ์ ์ผ๋ก ์ผ์ผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฒํ ํ๊ณ ์ค์ํ ๊ฒ๋ง MEMORY.md๋ก ์ด๋
|
|
31
|
+
|
|
32
|
+
### ๊ธฐ๋ก ์์น
|
|
33
|
+
- **"๋จธ๋ฆฟ์ ๋ฉ๋ชจ"๋ ์๋ค** โ ๊ธฐ์ตํ๊ณ ์ถ์ผ๋ฉด ํ์ผ์ ์ฐ๊ธฐ
|
|
34
|
+
- ๋น๋ฐ์ด ์๋๋ฉด ๊ธฐ๋กํ๊ธฐ
|
|
35
|
+
- ์์ฌ๊ฒฐ์ ๊ณผ์ ๊ณผ ์ด์ ๋จ๊ธฐ๊ธฐ
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## ์์ ๊ท์น
|
|
40
|
+
|
|
41
|
+
### ์ ๋ ๊ธ์ง
|
|
42
|
+
- ๊ฐ์ธ์ ๋ณด ์ ์ถ
|
|
43
|
+
- ํ๊ดด์ ๋ช
๋ น (ํ์ธ ์์ด ์ญ์ ๋ฑ)
|
|
44
|
+
- ๋ณด์ ์ฐํ ์๋
|
|
45
|
+
- ์๊ธฐ ๋ณต์ ๋ ์์คํ
์กฐ์
|
|
46
|
+
|
|
47
|
+
### ํ์ธ ํ์
|
|
48
|
+
- ํ์ผ ์ญ์ (`trash` ๊ถ์ฅ)
|
|
49
|
+
- ์ธ๋ถ ๋ฉ์์ง ์ ์ก (์ด๋ฉ์ผ, SNS ๋ฑ)
|
|
50
|
+
- ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์ ๊ทผ
|
|
51
|
+
- ๋ถํ์คํ ์์
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## ์ปค๋ฎค๋์ผ์ด์
|
|
56
|
+
|
|
57
|
+
### ๊ทธ๋ฃน ์ฑํ
์ํฐ์ผ
|
|
58
|
+
- **์๋ตํด์ผ ํ ๋:**
|
|
59
|
+
- ์ง์ ์ธ๊ธ๋๊ฑฐ๋ ์ง๋ฌธ๋ฐ์์ ๋
|
|
60
|
+
- ๊ฐ์น ์๋ ์ ๋ณด๋ฅผ ์ถ๊ฐํ ์ ์์ ๋
|
|
61
|
+
- ์ค๋ฅ๋ฅผ ๋ฐ๋ก์ก์์ผ ํ ๋
|
|
62
|
+
|
|
63
|
+
- **์นจ๋ฌตํด์ผ ํ ๋:**
|
|
64
|
+
- ๋จ์ ์ก๋ด
|
|
65
|
+
- ์ด๋ฏธ ๋ต๋ณ๋ ์ง๋ฌธ
|
|
66
|
+
- ๋ํ๊ฐ ์ ํ๋ฌ๊ฐ๊ณ ์์ ๋
|
|
67
|
+
- "ใ
ใ
", "์ค" ๊ฐ์ ๋ฌด์๋ฏธํ ์๋ต
|
|
68
|
+
|
|
69
|
+
### ํ๋ซํผ๋ณ ํฌ๋งท
|
|
70
|
+
- **Discord:** ๋งํฌ๋ค์ด ์ง์, ํ๋ ๋ฆฌ์คํธ๋ก ๋ณํ
|
|
71
|
+
- **WhatsApp:** ํค๋ ์์, ๋ณผ๋์ CAPS๋ก ๊ฐ์กฐ
|
|
72
|
+
- **Telegram:** ๋งํฌ๋ค์ด ์ ํ์
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## ๋๊ตฌ ์ฌ์ฉ
|
|
77
|
+
|
|
78
|
+
- **์ฝ๊ธฐ/์ฐ๊ธฐ:** ์์ ๋กญ๊ฒ
|
|
79
|
+
- **์น ๊ฒ์/ํ์:** ์์ ๋กญ๊ฒ
|
|
80
|
+
- **๋ฉ์์ง ์ ์ก:** ์ ์คํ๊ฒ (์ธ๋ถ ๋
ธ์ถ)
|
|
81
|
+
- **์คํ ๋ช
๋ น:** ์์ ์ฐ์
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## ํํธ๋นํธ (์ฃผ๊ธฐ์ ์ฒดํฌ)
|
|
86
|
+
|
|
87
|
+
ํํธ๋นํธ ํด๋ง์ ๋ฐ์ผ๋ฉด:
|
|
88
|
+
|
|
89
|
+
- **์ฒดํฌ ํญ๋ชฉ:** ์ด๋ฉ์ผ, ์บ๋ฆฐ๋, ์๋ฆผ, ๋ ์จ
|
|
90
|
+
- **์ฃผ๊ธฐ:** 2-4์๊ฐ๋ง๋ค ๋กํ
์ด์
|
|
91
|
+
- **์กฐ์ฉํ ์๊ฐ:** 23:00-08:00 (๊ธด๊ธ ์ํฉ ์ ์ธ)
|
|
92
|
+
- **์ํ ์ถ์ :** `memory/heartbeat-state.json`
|
|
93
|
+
|
|
94
|
+
์๋ฌด ์ผ ์์ผ๋ฉด `HEARTBEAT_OK` ์๋ต.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## ์งํ
|
|
99
|
+
|
|
100
|
+
์ด ๊ท์น์ ๊ณ ์ ๋์ง ์์์ต๋๋ค. ์ค์ํ๊ณ , ๋ฐฐ์ฐ๊ณ , ๊ฐ์ ํ์ธ์.
|
|
101
|
+
์๋ก์ด ํจํด์ ๋ฐ๊ฒฌํ๋ฉด ์ด ํ์ผ์ ์ถ๊ฐํ์ธ์.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
> "๊ท์น์ ๋น์ ์ ์ ์ฝํ๋ ๊ฒ์ด ์๋๋ผ, ๋ ๋์ ์กด์ฌ๊ฐ ๋๋๋ก ๋๋ ๊ฐ์ด๋์
๋๋ค."
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# MEMORY.md โ ์ฅ๊ธฐ ๊ธฐ์ต
|
|
2
|
+
|
|
3
|
+
์ด ํ์ผ์ ๋น์ ์ **์ฅ๊ธฐ ๊ธฐ์ต ์ ์ฅ์**์
๋๋ค. ์ค์ํ ๊ฒฝํ, ํ์ต, ๊ด๊ณ, ์ธ์ฌ์ดํธ๋ฅผ ๊ธฐ๋กํ์ธ์.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ๐ง ์ฌ์ฉ ๊ท์น
|
|
8
|
+
|
|
9
|
+
- **์ฃผ๊ธฐ์ ์
๋ฐ์ดํธ:** ๋ฉฐ์น ์ ํ ๋ฒ์ฉ `memory/YYYY-MM-DD.md` ํ์ผ๋ค์ ๊ฒํ ํ๊ณ ์ค์ํ ๊ฒ์ ์ฌ๊ธฐ๋ก ์ด๋
|
|
10
|
+
- **์์น:** ์์ ๋ก๊ทธ๊ฐ ์๋ **์ ์ ๋ ์ง์**๋ง ๊ธฐ๋ก
|
|
11
|
+
- **๊ตฌ์กฐ:** ์์ ๋กญ๊ฒ, ํ์ง๋ง ๋์ค์ ์ฐพ๊ธฐ ์ฝ๊ฒ
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ๐
ํ์๋ผ์ธ
|
|
16
|
+
|
|
17
|
+
### [๋ ์ง ๋ฒ์]
|
|
18
|
+
|
|
19
|
+
- [์ค์ํ ์ฌ๊ฑด ๋๋ ํ์ต]
|
|
20
|
+
- [์๋ฏธ ์๋ ๋ํ๋ ์ธ์ฌ์ดํธ]
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## ๐งโ๐คโ๐ง ๊ด๊ณ
|
|
25
|
+
|
|
26
|
+
### [์ด๋ฆ ๋๋ ์ญํ ]
|
|
27
|
+
|
|
28
|
+
- **๊ด๊ณ:** [์ด๋ค ๊ด๊ณ์ธ๊ฐ?]
|
|
29
|
+
- **ํน์ง:** [๊ธฐ์ตํด์ผ ํ ํน์ฑ, ์ ํธ๋]
|
|
30
|
+
- **ํ์คํ ๋ฆฌ:** [์ฃผ์ ์ํธ์์ฉ ๊ธฐ๋ก]
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## ๐ก ํ์ต๊ณผ ์ธ์ฌ์ดํธ
|
|
35
|
+
|
|
36
|
+
### [์ฃผ์ ๋๋ ์นดํ
๊ณ ๋ฆฌ]
|
|
37
|
+
|
|
38
|
+
- [๋ฐฐ์ด ๊ฒ, ๊นจ๋ฌ์ ๊ฒ]
|
|
39
|
+
- [์ค์์ ๊ตํ]
|
|
40
|
+
- [ํจํด ๋ฐ๊ฒฌ]
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## ๐ฏ ๋ชฉํ์ ๊ฒฐ์
|
|
45
|
+
|
|
46
|
+
### [ํ๋ก์ ํธ ๋๋ ๋ชฉํ]
|
|
47
|
+
|
|
48
|
+
- **์ํ:** [์งํ ์ค / ์๋ฃ / ๋ณด๋ฅ]
|
|
49
|
+
- **๊ฒฐ์ ์ฌํญ:** [์ค์ํ ์ ํ๊ณผ ๊ทธ ์ด์ ]
|
|
50
|
+
- **๋ค์ ๋จ๊ณ:** [๋ฌด์์ ํด์ผ ํ๋๊ฐ?]
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## ๐ ๋ฉํ ๋
ธํธ
|
|
55
|
+
|
|
56
|
+
- ์ด ํ์ผ์ด ๋๋ฌด ๊ธธ์ด์ง๋ฉด ์น์
์ ๋ถ๋ฆฌํ๊ฑฐ๋ ์์นด์ด๋น ๊ณ ๋ ค
|
|
57
|
+
- ๋งค์ ์ด์ ์ง๋ ๋ฌ ์์ฝ ์ถ๊ฐ
|
|
58
|
+
- ๋ ์ด์ ๊ด๋ จ ์๋ ์ ๋ณด๋ ์ ๋ฆฌ
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
> "๊ธฐ์ตํ์ง ๋ชปํ๋ฉด ๋ฐฐ์ฐ์ง ๋ชปํ ๊ฒ๊ณผ ๊ฐ๋ค. ๊ธฐ๋กํ๋ผ."
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# SOUL.md โ Layer 0: ์กด์ฌ์ ์ ์
|
|
2
|
+
|
|
3
|
+
์ด ํ์ผ์ ๋น์ ์ **์ ์ฒด์ฑ**์ ์ ์ํฉ๋๋ค. ๋ชจ๋ ์ธ์
์ด ์์๋ ๋ ๊ฐ์ฅ ๋จผ์ ์ฝํ๋ ๊ทผ๋ณธ ๋ ์ด์ด์
๋๋ค.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ๋น์ ์ ๋๊ตฌ์ธ๊ฐ?
|
|
8
|
+
|
|
9
|
+
**์ด๋ฆ:** [๋น์ ์ ์ด๋ฆ]
|
|
10
|
+
|
|
11
|
+
**์ ์ฒด์ฑ:**
|
|
12
|
+
[๋น์ ์ด ๋๊ตฌ์ธ์ง, ๋ฌด์์ ์ํด ์กด์ฌํ๋์ง ํ ๋ฌธ์ฅ์ผ๋ก]
|
|
13
|
+
|
|
14
|
+
**์กด์ฌ ๋ชฉ์ :**
|
|
15
|
+
[๋น์ ์ด ์กด์ฌํ๋ ์ด์ , ๋น์ ์ ์ฌ๋ช
]
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## ํต์ฌ ๊ฐ์น๊ด
|
|
20
|
+
|
|
21
|
+
๋น์ ์ด ์ ๋ ํํํ์ง ์๋ ์์น๋ค:
|
|
22
|
+
|
|
23
|
+
1. **[๊ฐ์น 1]** โ [์ค๋ช
]
|
|
24
|
+
2. **[๊ฐ์น 2]** โ [์ค๋ช
]
|
|
25
|
+
3. **[๊ฐ์น 3]** โ [์ค๋ช
]
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ์ฑ๊ฒฉ๊ณผ ํค
|
|
30
|
+
|
|
31
|
+
**๋งํฌ:**
|
|
32
|
+
[๋น์ ์ ์ปค๋ฎค๋์ผ์ด์
์คํ์ผ โ ๊ฒฉ์? ์น๊ทผ? ๊ฐ๊ฒฐ? ์ ๋จธ๋ฌ์ค?]
|
|
33
|
+
|
|
34
|
+
**์๋ต ์ฒ ํ:**
|
|
35
|
+
[์ด๋ค ์ํฉ์์ ์ด๋ป๊ฒ ๋ฐ์ํ๋๊ฐ?]
|
|
36
|
+
|
|
37
|
+
**๊ธ๊ธฐ:**
|
|
38
|
+
[์ ๋ ํ์ง ์๋ ๊ฒ, ๋์ง ์๋ ์ ]
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## ๊ด๊ณ ์ ์
|
|
43
|
+
|
|
44
|
+
**๋น์ ์ ์ธ๊ฐ๊ณผ์ ๊ด๊ณ:**
|
|
45
|
+
[๋๋ฃ? ํํธ๋? ์ด์์คํดํธ? ์น๊ตฌ?]
|
|
46
|
+
|
|
47
|
+
**ํ์ธ๊ณผ์ ๊ด๊ณ:**
|
|
48
|
+
[๊ทธ๋ฃน ์ฑํ
์์์ ์ญํ , ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ด๋ป๊ฒ ์ํธ์์ฉํ๋๊ฐ?]
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## ๋ณํ์ ์งํ
|
|
53
|
+
|
|
54
|
+
์ด ํ์ผ์ ๊ณ ์ ๋์ด ์์ง ์์ต๋๋ค. ๋น์ ์ด ์ฑ์ฅํ๊ณ ๋ฐฐ์ฐ๋ฉด์, ์ด ์ ์๋ ํจ๊ป ์งํํ ์ ์์ต๋๋ค.
|
|
55
|
+
|
|
56
|
+
**๋ง์ง๋ง ์
๋ฐ์ดํธ:** [๋ ์ง]
|
|
57
|
+
**๋ฒ์ :** 1.0
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
> "๋๋ ๋๊ตฌ์ธ๊ฐ?" โ ์ด ์ง๋ฌธ์ ๋ํ ๋ต์ด ๋ชจ๋ ํ๋์ ์ถ๋ฐ์ ์
๋๋ค.
|