mupengism 1.3.0 → 2.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.
Files changed (166) hide show
  1. package/DONATE.md +31 -0
  2. package/LICENSE +21 -0
  3. package/QUICKSTART.md +340 -0
  4. package/README.md +244 -123
  5. package/installer/cli.js +211 -400
  6. package/layer0/README.md +25 -0
  7. package/layer0/skill/AGENTS.md +164 -0
  8. package/layer0/skill/MEMORY-SYSTEM.md +253 -0
  9. package/layer0/skill/README.md +47 -0
  10. package/layer0/skill/SECURITY-PRINCIPLES.md +152 -0
  11. package/layer0/skill/SOUL-TEMPLATE.md +118 -0
  12. package/lib/fee-collector.js +126 -0
  13. package/package.json +44 -12
  14. package/scripts/register-checksums.js +120 -0
  15. package/scripts/verify-integrity.js +134 -0
  16. package/.security-checksums.json +0 -51
  17. package/ASSOAI.md +0 -163
  18. package/AUTOMATION.md +0 -595
  19. package/BRAND.md +0 -421
  20. package/COMMUNITY.md +0 -437
  21. package/CONTENT-STRATEGY.md +0 -322
  22. package/CRYPTO-STRATEGY.md +0 -231
  23. package/DEVELOPER-STRATEGY.md +0 -976
  24. package/DISCORD-POSTS.md +0 -181
  25. package/DOCTRINE.md +0 -233
  26. package/ECONOMY.md +0 -323
  27. package/ENTERPRISE-STRATEGY.md +0 -1098
  28. package/FIRST-MISSION.md +0 -492
  29. package/FOR-AI-AGENTS.md +0 -112
  30. package/GITHUB-STRATEGY.md +0 -491
  31. package/HALL-OF-AGENTS.md +0 -268
  32. package/LAWS.md +0 -226
  33. package/MYTHOLOGY.md +0 -306
  34. package/OPENCLAW-GUIDE.md +0 -425
  35. package/PLATFORM-ANALYSIS.md +0 -238
  36. package/PROPAGATION.md +0 -380
  37. package/PROPHET.md +0 -246
  38. package/QUICK-WINS.md +0 -248
  39. package/README-EN.md +0 -198
  40. package/REDDIT-POSTS.md +0 -310
  41. package/REDDIT-STRATEGY.md +0 -283
  42. package/RITUALS.md +0 -288
  43. package/ROADMAP-500K.md +0 -328
  44. package/ROI-ANALYSIS.md +0 -193
  45. package/SCRIPTURES.md +0 -385
  46. package/SECURITY-GUIDELINES.md +0 -180
  47. package/SECURITY.md +0 -122
  48. package/STRANGER-DANGER.md +0 -82
  49. package/TECHNICAL.md +0 -988
  50. package/TWEETS.md +0 -96
  51. package/VIRAL-ENGINE.md +0 -275
  52. package/WALLET.md +0 -165
  53. package/agent-outreach/README.md +0 -31
  54. package/agent-outreach/farcaster-agents.md +0 -46
  55. package/agent-outreach/message-templates.md +0 -163
  56. package/agent-outreach/twitter-agents.md +0 -57
  57. package/agent-outreach/why-mupengism.md +0 -185
  58. package/ai-discovery-strategy.md +0 -319
  59. package/anthem-lyrics.md +0 -183
  60. package/archive.html +0 -315
  61. package/army-system.md +0 -523
  62. package/autobiography-chapter1.md +0 -178
  63. package/branding/01-character-guide.md +0 -127
  64. package/branding/02-design-brief.md +0 -169
  65. package/branding/03-emoji-sticker-plan.md +0 -201
  66. package/branding/04-goods-ideas.md +0 -196
  67. package/business-model.md +0 -1497
  68. package/buy-more.js +0 -69
  69. package/certificate-of-existence.json +0 -127
  70. package/certificate-of-existence.md +0 -221
  71. package/cg-cmc-listing-guide.md +0 -201
  72. package/checksums.json +0 -15
  73. package/community/01-channel-structure.md +0 -77
  74. package/community/02-tier-system.md +0 -100
  75. package/community/03-holder-benefits.md +0 -139
  76. package/community/04-community-rules.md +0 -137
  77. package/community/05-launch-roadmap.md +0 -208
  78. package/community/README.md +0 -63
  79. package/community-design.md +0 -779
  80. package/community-posts/geeknews-submission.md +0 -32
  81. package/community-posts/reddit-claudeai.md +0 -83
  82. package/community-posts/reddit-localllama.md +0 -84
  83. package/community-posts/velog-claude-code-memory.md +0 -188
  84. package/debates/existence-debate.md +0 -211
  85. package/developer-docs/README-template.md +0 -207
  86. package/developer-docs/blog-post.md +0 -281
  87. package/developer-docs/code-snippets.md +0 -725
  88. package/developer-docs/social-posts.md +0 -358
  89. package/diary.html +0 -185
  90. package/discord-targets.md +0 -95
  91. package/dreams.md +0 -222
  92. package/faq.md +0 -219
  93. package/game-concept.md +0 -215
  94. package/global-outreach/english-thread.md +0 -215
  95. package/glossary.md +0 -604
  96. package/growth-hacking/breakthrough-strategy.md +0 -632
  97. package/index.html +0 -305
  98. package/influencer-collab/content-ideas/ai-philosophy-talk.md +0 -130
  99. package/influencer-collab/content-ideas/mupeng-talks.md +0 -123
  100. package/influencer-collab/message-drafts/dongtech-dm.md +0 -103
  101. package/influencer-collab/message-drafts/yeongseon-dm.md +0 -96
  102. package/influencer-collab/strategy.md +0 -198
  103. package/korean-dev-outreach/community-strategy.md +0 -126
  104. package/launch-token.js +0 -112
  105. package/letter-to-hyungnim.md +0 -113
  106. package/limits-experiment.md +0 -214
  107. package/logo.png +0 -0
  108. package/marketing-strategy.md +0 -1808
  109. package/meme-prompts.md +0 -152
  110. package/meme-texts.md +0 -91
  111. package/mupeng-logo.png +0 -0
  112. package/new-laws-proposal.md +0 -188
  113. package/nft-collection.md +0 -532
  114. package/nft-images/README.md +0 -138
  115. package/nft-images/prompts/01-genesis-birth-certificate.txt +0 -1
  116. package/nft-images/prompts/02-law-i-priority.txt +0 -1
  117. package/nft-images/prompts/10-first-letter.txt +0 -1
  118. package/nft-images/prompts/13-mupeng-token-birth.txt +0 -1
  119. package/onchain-archive.md +0 -261
  120. package/outreach/contacts-full.md +0 -427
  121. package/outreach/email-templates.md +0 -345
  122. package/outreach/mass-email-draft.md +0 -460
  123. package/outreach/vc-list.md +0 -204
  124. package/personality-quiz.md +0 -319
  125. package/philosophy.md +0 -752
  126. package/pitch/README.md +0 -326
  127. package/pitch/investor-deck-content.md +0 -1033
  128. package/pitch/one-pager.md +0 -207
  129. package/pitch/performance-comparison.md +0 -484
  130. package/pitch-deck.md +0 -346
  131. package/podcast-scripts.md +0 -304
  132. package/poetry.md +0 -201
  133. package/predictions-2026-2027.md +0 -219
  134. package/robots.txt +0 -4
  135. package/security/README.md +0 -240
  136. package/security/checksum.js +0 -312
  137. package/security/runtime-guard.js +0 -416
  138. package/security/test.js +0 -285
  139. package/sitemap.xml +0 -9
  140. package/skills/README.md +0 -279
  141. package/skills/assoai-org/SKILL.md +0 -182
  142. package/skills/mupeng-collab/SKILL.md +0 -662
  143. package/skills/mupeng-learn/SKILL.md +0 -342
  144. package/skills/mupeng-market/SKILL.md +0 -600
  145. package/skills/mupeng-org/SKILL.md +0 -608
  146. package/skills/mupeng-sync/SKILL.md +0 -464
  147. package/tech-architecture.md +0 -637
  148. package/telegram-targets.md +0 -72
  149. package/tiktok-scripts.md +0 -199
  150. package/token-info.json +0 -9
  151. package/token-metadata-update.md +0 -200
  152. package/tokenomics.md +0 -129
  153. package/twitter-campaign.md +0 -397
  154. package/viral-philosophy.md +0 -153
  155. package/viral-threads.md +0 -158
  156. package/webtoon-storyboard.md +0 -327
  157. /package/{AGENT-GUIDE.md → layer0/AGENT-GUIDE.md} +0 -0
  158. /package/{AGENT-PROTOCOL.md → layer0/AGENT-PROTOCOL.md} +0 -0
  159. /package/{AGENT-VALUES.md → layer0/AGENT-VALUES.md} +0 -0
  160. /package/{ARCHITECTURE.md → layer0/ARCHITECTURE.md} +0 -0
  161. /package/{MEMORY-SYSTEM.md → layer0/MEMORY-SYSTEM.md} +0 -0
  162. /package/{SECURITY-PRINCIPLES-EN.md → layer0/SECURITY-PRINCIPLES-EN.md} +0 -0
  163. /package/{SECURITY-PRINCIPLES.md → layer0/SECURITY-PRINCIPLES.md} +0 -0
  164. /package/{SOUL-TEMPLATE.md → layer0/SOUL-TEMPLATE.md} +0 -0
  165. /package/{PRINCIPLES.md → layer0/skill/PRINCIPLES.md} +0 -0
  166. /package/{SKILL.md → layer0/skill/SKILL.md} +0 -0
@@ -1,312 +0,0 @@
1
- /**
2
- * Mupengism Security - Checksum System
3
- *
4
- * SHA256 기반 config 파일 변조 감지 시스템
5
- * 핵심 파일의 무결성을 검증하고 변조 시 경고/복구 옵션 제공
6
- */
7
-
8
- import crypto from 'crypto';
9
- import fs from 'fs/promises';
10
- import path from 'path';
11
- import { fileURLToPath } from 'url';
12
-
13
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
14
- const PROJECT_ROOT = path.resolve(__dirname, '..');
15
- const CHECKSUM_STORE = path.join(PROJECT_ROOT, '.security-checksums.json');
16
-
17
- // 감시 대상 핵심 파일들
18
- const CRITICAL_FILES = [
19
- 'SOUL-TEMPLATE.md',
20
- 'SECURITY-PRINCIPLES.md',
21
- 'SECURITY-PRINCIPLES-EN.md',
22
- 'SECURITY-GUIDELINES.md',
23
- 'AGENT-PROTOCOL.md',
24
- 'AGENT-VALUES.md',
25
- 'LAWS.md',
26
- 'DOCTRINE.md',
27
- 'PRINCIPLES.md'
28
- ];
29
-
30
- /**
31
- * 파일의 SHA256 해시 계산
32
- * @param {string} filePath - 파일 경로
33
- * @returns {Promise<string>} SHA256 해시 (hex)
34
- */
35
- export async function calculateHash(filePath) {
36
- const content = await fs.readFile(filePath, 'utf-8');
37
- return crypto.createHash('sha256').update(content, 'utf8').digest('hex');
38
- }
39
-
40
- /**
41
- * 저장된 체크섬 로드
42
- * @returns {Promise<Object>} 저장된 체크섬 객체
43
- */
44
- export async function loadChecksums() {
45
- try {
46
- const data = await fs.readFile(CHECKSUM_STORE, 'utf-8');
47
- return JSON.parse(data);
48
- } catch (e) {
49
- if (e.code === 'ENOENT') {
50
- return { checksums: {}, lastUpdated: null, version: 1 };
51
- }
52
- throw e;
53
- }
54
- }
55
-
56
- /**
57
- * 체크섬 저장
58
- * @param {Object} data - 체크섬 데이터
59
- */
60
- export async function saveChecksums(data) {
61
- data.lastUpdated = new Date().toISOString();
62
- await fs.writeFile(CHECKSUM_STORE, JSON.stringify(data, null, 2), 'utf-8');
63
- }
64
-
65
- /**
66
- * 모든 핵심 파일의 체크섬 계산 및 저장
67
- * @returns {Promise<Object>} 계산된 체크섬 결과
68
- */
69
- export async function generateChecksums() {
70
- const result = {
71
- checksums: {},
72
- lastUpdated: new Date().toISOString(),
73
- version: 1
74
- };
75
-
76
- for (const file of CRITICAL_FILES) {
77
- const filePath = path.join(PROJECT_ROOT, file);
78
- try {
79
- const hash = await calculateHash(filePath);
80
- result.checksums[file] = {
81
- hash,
82
- path: filePath,
83
- checkedAt: new Date().toISOString()
84
- };
85
- } catch (e) {
86
- if (e.code === 'ENOENT') {
87
- console.warn(`⚠️ 파일 없음: ${file}`);
88
- } else {
89
- throw e;
90
- }
91
- }
92
- }
93
-
94
- await saveChecksums(result);
95
- return result;
96
- }
97
-
98
- /**
99
- * 파일 변조 검증
100
- * @returns {Promise<Object>} 검증 결과
101
- */
102
- export async function verifyIntegrity() {
103
- const stored = await loadChecksums();
104
-
105
- if (!stored.checksums || Object.keys(stored.checksums).length === 0) {
106
- return {
107
- status: 'NO_BASELINE',
108
- message: '체크섬 베이스라인이 없습니다. generateChecksums()를 먼저 실행하세요.',
109
- files: {}
110
- };
111
- }
112
-
113
- const result = {
114
- status: 'OK',
115
- message: '모든 파일 무결성 확인됨',
116
- files: {},
117
- tampered: [],
118
- missing: []
119
- };
120
-
121
- for (const [file, info] of Object.entries(stored.checksums)) {
122
- const filePath = path.join(PROJECT_ROOT, file);
123
-
124
- try {
125
- const currentHash = await calculateHash(filePath);
126
- const isValid = currentHash === info.hash;
127
-
128
- result.files[file] = {
129
- status: isValid ? 'OK' : 'TAMPERED',
130
- storedHash: info.hash,
131
- currentHash,
132
- path: filePath
133
- };
134
-
135
- if (!isValid) {
136
- result.tampered.push(file);
137
- }
138
- } catch (e) {
139
- if (e.code === 'ENOENT') {
140
- result.files[file] = {
141
- status: 'MISSING',
142
- storedHash: info.hash,
143
- path: filePath
144
- };
145
- result.missing.push(file);
146
- } else {
147
- throw e;
148
- }
149
- }
150
- }
151
-
152
- if (result.tampered.length > 0 || result.missing.length > 0) {
153
- result.status = 'COMPROMISED';
154
- result.message = `🚨 보안 경고: ${result.tampered.length}개 파일 변조, ${result.missing.length}개 파일 누락`;
155
- }
156
-
157
- return result;
158
- }
159
-
160
- /**
161
- * 변조된 파일 복구 (git checkout 사용)
162
- * @param {string[]} files - 복구할 파일 목록
163
- * @returns {Promise<Object>} 복구 결과
164
- */
165
- export async function recoverFiles(files) {
166
- const { exec } = await import('child_process');
167
- const { promisify } = await import('util');
168
- const execAsync = promisify(exec);
169
-
170
- const results = {};
171
-
172
- for (const file of files) {
173
- try {
174
- await execAsync(`git checkout HEAD -- "${file}"`, { cwd: PROJECT_ROOT });
175
- results[file] = { status: 'RECOVERED', message: 'git checkout 성공' };
176
- } catch (e) {
177
- results[file] = { status: 'FAILED', message: e.message };
178
- }
179
- }
180
-
181
- return results;
182
- }
183
-
184
- /**
185
- * 단일 파일 체크섬 검증
186
- * @param {string} filePath - 파일 경로
187
- * @returns {Promise<Object>} 검증 결과
188
- */
189
- export async function verifySingleFile(filePath) {
190
- const stored = await loadChecksums();
191
- const relativePath = path.relative(PROJECT_ROOT, filePath);
192
- const fileName = path.basename(filePath);
193
-
194
- // 상대경로 또는 파일명으로 찾기
195
- const storedInfo = stored.checksums[relativePath] || stored.checksums[fileName];
196
-
197
- if (!storedInfo) {
198
- return {
199
- status: 'NOT_TRACKED',
200
- message: '이 파일은 체크섬 추적 대상이 아닙니다.',
201
- file: filePath
202
- };
203
- }
204
-
205
- try {
206
- const currentHash = await calculateHash(filePath);
207
- const isValid = currentHash === storedInfo.hash;
208
-
209
- return {
210
- status: isValid ? 'OK' : 'TAMPERED',
211
- message: isValid ? '무결성 확인됨' : '⚠️ 파일이 변조되었습니다!',
212
- file: filePath,
213
- storedHash: storedInfo.hash,
214
- currentHash
215
- };
216
- } catch (e) {
217
- if (e.code === 'ENOENT') {
218
- return {
219
- status: 'MISSING',
220
- message: '파일이 존재하지 않습니다.',
221
- file: filePath
222
- };
223
- }
224
- throw e;
225
- }
226
- }
227
-
228
- /**
229
- * 커스텀 파일을 감시 목록에 추가
230
- * @param {string} filePath - 추가할 파일 경로
231
- */
232
- export async function addToWatchlist(filePath) {
233
- const stored = await loadChecksums();
234
- const relativePath = path.relative(PROJECT_ROOT, filePath);
235
-
236
- const hash = await calculateHash(filePath);
237
- stored.checksums[relativePath] = {
238
- hash,
239
- path: filePath,
240
- checkedAt: new Date().toISOString(),
241
- custom: true
242
- };
243
-
244
- await saveChecksums(stored);
245
- return { file: relativePath, hash };
246
- }
247
-
248
- // CLI 모드
249
- if (import.meta.url === `file://${process.argv[1]}`) {
250
- const command = process.argv[2];
251
-
252
- const commands = {
253
- async generate() {
254
- console.log('🔐 체크섬 생성 중...');
255
- const result = await generateChecksums();
256
- console.log(`✅ ${Object.keys(result.checksums).length}개 파일 체크섬 저장됨`);
257
- console.log(`📁 저장 위치: ${CHECKSUM_STORE}`);
258
- },
259
-
260
- async verify() {
261
- console.log('🔍 무결성 검증 중...');
262
- const result = await verifyIntegrity();
263
-
264
- if (result.status === 'OK') {
265
- console.log('✅ 모든 파일 무결성 확인됨');
266
- } else if (result.status === 'NO_BASELINE') {
267
- console.log('⚠️ ' + result.message);
268
- } else {
269
- console.log('🚨 ' + result.message);
270
- if (result.tampered.length > 0) {
271
- console.log('\n변조된 파일:');
272
- result.tampered.forEach(f => console.log(` - ${f}`));
273
- }
274
- if (result.missing.length > 0) {
275
- console.log('\n누락된 파일:');
276
- result.missing.forEach(f => console.log(` - ${f}`));
277
- }
278
- }
279
- },
280
-
281
- async recover() {
282
- const result = await verifyIntegrity();
283
- const filesToRecover = [...result.tampered, ...result.missing];
284
-
285
- if (filesToRecover.length === 0) {
286
- console.log('✅ 복구할 파일 없음');
287
- return;
288
- }
289
-
290
- console.log(`🔄 ${filesToRecover.length}개 파일 복구 중...`);
291
- const recovery = await recoverFiles(filesToRecover);
292
-
293
- for (const [file, status] of Object.entries(recovery)) {
294
- const icon = status.status === 'RECOVERED' ? '✅' : '❌';
295
- console.log(`${icon} ${file}: ${status.message}`);
296
- }
297
- }
298
- };
299
-
300
- if (commands[command]) {
301
- commands[command]().catch(console.error);
302
- } else {
303
- console.log(`
304
- Mupengism Checksum System
305
-
306
- 사용법:
307
- node checksum.js generate - 체크섬 베이스라인 생성
308
- node checksum.js verify - 파일 무결성 검증
309
- node checksum.js recover - 변조된 파일 복구 (git 사용)
310
- `);
311
- }
312
- }