memorylink 2.1.0 → 2.2.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 +10 -2
- package/README.md +66 -52
- package/dist/cli/commands/delete.d.ts +7 -0
- package/dist/cli/commands/delete.d.ts.map +1 -0
- package/dist/cli/commands/delete.js +106 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/gate.d.ts +1 -1
- package/dist/cli/commands/gate.d.ts.map +1 -1
- package/dist/cli/commands/gate.js +14 -0
- package/dist/cli/commands/gate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +17 -75
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +7 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +129 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/remember.d.ts +3 -0
- package/dist/cli/commands/remember.d.ts.map +1 -0
- package/dist/cli/commands/remember.js +61 -0
- package/dist/cli/commands/remember.js.map +1 -0
- package/dist/cli/commands/retrieve.d.ts +3 -0
- package/dist/cli/commands/retrieve.d.ts.map +1 -0
- package/dist/cli/commands/retrieve.js +32 -0
- package/dist/cli/commands/retrieve.js.map +1 -0
- package/dist/cli/commands/scaffold.d.ts +6 -0
- package/dist/cli/commands/scaffold.d.ts.map +1 -0
- package/dist/cli/commands/scaffold.js +132 -0
- package/dist/cli/commands/scaffold.js.map +1 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/gates.d.ts +17 -0
- package/dist/core/memory/gates.d.ts.map +1 -0
- package/dist/core/memory/gates.js +75 -0
- package/dist/core/memory/gates.js.map +1 -0
- package/dist/core/memory/git.d.ts +9 -0
- package/dist/core/memory/git.d.ts.map +1 -0
- package/dist/core/memory/git.js +57 -0
- package/dist/core/memory/git.js.map +1 -0
- package/dist/core/memory/storage.d.ts +11 -0
- package/dist/core/memory/storage.d.ts.map +1 -0
- package/dist/core/memory/storage.js +63 -0
- package/dist/core/memory/storage.js.map +1 -0
- package/dist/core/memory/structure.d.ts +10 -0
- package/dist/core/memory/structure.d.ts.map +1 -0
- package/dist/core/memory/structure.js +51 -0
- package/dist/core/memory/structure.js.map +1 -0
- package/dist/core/types.d.ts +13 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/gate/rules/valid-syntax.d.ts +16 -0
- package/dist/gate/rules/valid-syntax.d.ts.map +1 -0
- package/dist/gate/rules/valid-syntax.js +76 -0
- package/dist/gate/rules/valid-syntax.js.map +1 -0
- package/dist/quarantine/patterns.js +2 -2
- package/dist/quarantine/patterns.js.map +1 -1
- package/dist/tools/pointer-generator.d.ts.map +1 -1
- package/dist/tools/pointer-generator.js +2 -2
- package/dist/tools/pointer-generator.js.map +1 -1
- package/docs/USER_GUIDE.md +181 -0
- package/package.json +3 -3
- package/docs/COMPARISONS.md +0 -229
- package/docs/FAQ.md +0 -230
- package/docs/GETTING_STARTED.md +0 -185
- package/docs/PATTERNS.md +0 -206
- package/docs/QUICK_REFERENCE.md +0 -209
- package/docs/REMEDIATION.md +0 -332
- package/docs/THREAT_MODEL.md +0 -279
- package/docs/TROUBLESHOOTING.md +0 -280
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,14 @@ All notable changes to MemoryLink will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.1.1] - 2026-01-03
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **False Positive Fix**: Vercel and Netlify token patterns were too generic, causing false positives on normal code
|
|
12
|
+
- **Documentation**: Corrected pattern count from 129 to 127 across all docs
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
8
16
|
## [2.1.0] - 2026-01-02
|
|
9
17
|
|
|
10
18
|
### Added
|
|
@@ -25,7 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
25
33
|
- **Symlink Protection**: Scanner now skips symbolic links to prevent traversal attacks
|
|
26
34
|
- **Key Permissions**: Enhanced `ml self-check` verifies 600 permissions on encryption keys
|
|
27
35
|
|
|
28
|
-
#### New Secret Patterns (
|
|
36
|
+
#### New Secret Patterns (15 new → 127 total)
|
|
29
37
|
- **Database Services**: Supabase, PlanetScale, Turso, Neon, Upstash
|
|
30
38
|
- **AI Services**: Replicate, Together AI, Groq, Perplexity
|
|
31
39
|
- **Auth Services**: Clerk
|
|
@@ -33,7 +41,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
33
41
|
- **India Payments**: PhonePe, Cashfree, Instamojo (expanded)
|
|
34
42
|
|
|
35
43
|
### Changed
|
|
36
|
-
- Pattern count increased from 112 to
|
|
44
|
+
- Pattern count increased from 112 to 127
|
|
37
45
|
- Improved performance benchmarking in doctor command
|
|
38
46
|
- Better error messages with JSON output support
|
|
39
47
|
|
package/README.md
CHANGED
|
@@ -13,24 +13,39 @@
|
|
|
13
13
|
|
|
14
14
|
## 🎯 What is MemoryLink?
|
|
15
15
|
|
|
16
|
-
MemoryLink
|
|
16
|
+
**MemoryLink is a Code Agent Memory OS.**
|
|
17
|
+
It treats Git Diffs as "Execution Truth" and uses them to prevent Agents from making mistakes.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
> **Why not just use "Chat Memory" (Mem0/DiffMem)?**
|
|
20
|
+
> Chat memory only remembers what you *said*. MemoryLink remembers what you *did* (code changes).
|
|
21
|
+
> It enforces this truth with **Safety Gates** (AST checks, Secret Scanning) that block your Agent from introducing regressions or leaks.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 🛡️ Core Features
|
|
26
|
+
MEMORYLINK is a **Dual-Engine** system:
|
|
27
|
+
1. **Memory Engine:** Remembers your rules, context, and decisions.
|
|
28
|
+
2. **Gate Engine:** Blocks mistakes (Secrets + Syntax) before commit.
|
|
29
|
+
|
|
30
|
+
| Protection | What It Does |
|
|
31
|
+
|:---|:---|
|
|
32
|
+
| 🧠 **Memory** | Stores project rules ("Use Hooks, not Classes") |
|
|
33
|
+
| 🔍 **Scan** | Detects 127 secret patterns (API keys, PII) |
|
|
34
|
+
| 🪝 **Git Hooks** | Blocks bad commits automatically |
|
|
35
|
+
| 🚫 **CI/CD Block** | Blocks PRs with secrets or syntax errors |
|
|
36
|
+
| 🔐 **Quarantine** | Encrypts detected secrets (AES-256-GCM) |
|
|
25
37
|
|
|
26
38
|
**How It Works:**
|
|
27
39
|
```
|
|
28
|
-
You Code → Git Commit → MemoryLink Scans
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
You Code → Git Commit → MemoryLink Scans
|
|
41
|
+
↓
|
|
42
|
+
1. 🧠 Check Memory (Rules)
|
|
43
|
+
2. 🛡️ Check Gates (Secrets + Syntax)
|
|
44
|
+
↓
|
|
45
|
+
⚠️ Warning (or 🚫 Block)
|
|
31
46
|
```
|
|
32
47
|
|
|
33
|
-
**Result:**
|
|
48
|
+
**Result:** Your AI Agent gets smarter *and* safer over time.
|
|
34
49
|
|
|
35
50
|
---
|
|
36
51
|
|
|
@@ -38,44 +53,29 @@ You Code → Git Commit → MemoryLink Scans → ⚠️ Warning (or 🚫 Block)
|
|
|
38
53
|
|
|
39
54
|
| Category | Supported |
|
|
40
55
|
|----------|-----------|
|
|
56
|
+
| **AI Agents** | Cursor, Windsurf, Antigravity, GitHub Copilot |
|
|
41
57
|
| **OS** | macOS, Linux, Windows (WSL2) |
|
|
42
58
|
| **Node.js** | v18+ |
|
|
43
|
-
| **Git** | Any project with Git |
|
|
44
|
-
| **CI/CD** | GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, Azure Pipelines, and 12 more |
|
|
45
|
-
|
|
46
|
-
**Use it with any editor, any language, any framework.**
|
|
47
59
|
|
|
48
60
|
---
|
|
49
61
|
|
|
50
62
|
## 👀 What You'll See
|
|
51
63
|
|
|
52
|
-
When MemoryLink
|
|
64
|
+
When MemoryLink blocks a commit:
|
|
53
65
|
|
|
54
66
|
```
|
|
55
67
|
┌─────────────────────────────────────────────────────┐
|
|
56
|
-
|
|
57
|
-
|
|
68
|
+
┌ 🧠 MEMORY CHECK: 1 CONFLICT ┐
|
|
69
|
+
│ • Rule: "Never use default exports in utils/" │
|
|
70
|
+
│ Violation: src/utils/date.ts uses default export │
|
|
58
71
|
│ │
|
|
72
|
+
├ 🛡️ GATE CHECK: 1 SECRET DETECTED ┤
|
|
59
73
|
│ 🔴 HIGH: AWS Access Key │
|
|
60
74
|
│ File: src/config.ts:15 │
|
|
61
|
-
│ Found: AKIA************WXYZ │
|
|
62
|
-
│ │
|
|
63
|
-
│ 🟡 MEDIUM: Generic API Key │
|
|
64
|
-
│ File: .env.local:3 │
|
|
65
|
-
│ Found: api_key=****...**** │
|
|
66
75
|
│ │
|
|
67
|
-
├─────────────────────────────────────────────────────┤
|
|
68
|
-
│ Mode: INACTIVE (warnings only) │
|
|
69
|
-
│ │
|
|
70
|
-
│ 💡 To block commits with secrets: │
|
|
71
|
-
│ ml mode active │
|
|
72
76
|
└─────────────────────────────────────────────────────┘
|
|
73
77
|
```
|
|
74
78
|
|
|
75
|
-
**Modes:**
|
|
76
|
-
- `INACTIVE` (default): Warns but allows commits ← **Good for learning**
|
|
77
|
-
- `ACTIVE`: Blocks commits with secrets ← **Good for teams/CI**
|
|
78
|
-
|
|
79
79
|
---
|
|
80
80
|
|
|
81
81
|
## 📦 Installation
|
|
@@ -84,7 +84,6 @@ When MemoryLink finds a secret:
|
|
|
84
84
|
|
|
85
85
|
- Node.js 18+ ([install](https://nodejs.org/))
|
|
86
86
|
- npm or pnpm
|
|
87
|
-
- **Windows users**: WSL2 recommended ([install guide](https://docs.microsoft.com/en-us/windows/wsl/install))
|
|
88
87
|
|
|
89
88
|
### Install from npm
|
|
90
89
|
|
|
@@ -110,15 +109,19 @@ ml init
|
|
|
110
109
|
```
|
|
111
110
|
|
|
112
111
|
**What happens:**
|
|
113
|
-
1. ✅ Scans
|
|
114
|
-
2. ✅ Creates `.memorylink/`
|
|
115
|
-
3. ✅ Installs Git hooks (
|
|
116
|
-
4. ✅ Updates `.gitignore`
|
|
117
|
-
5. 💡 Shows any detected issues
|
|
112
|
+
1. ✅ Scans project for secrets
|
|
113
|
+
2. ✅ Creates `.memorylink/` (Active Memory)
|
|
114
|
+
3. ✅ Installs Git hooks (Red/Blue Gates)
|
|
118
115
|
|
|
119
|
-
### 2.
|
|
116
|
+
### 2. Capture Your First Memory
|
|
120
117
|
|
|
121
|
-
|
|
118
|
+
Tell your Agent a rule so it never forgets:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
ml capture -t "api-rules" -c "Always use snake_case for API response types"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Now, if an Agent tries to use `camelCase`, MemoryLink will know.
|
|
122
125
|
|
|
123
126
|
---
|
|
124
127
|
|
|
@@ -126,17 +129,27 @@ From now on, every `git commit` and `git push` is automatically scanned.
|
|
|
126
129
|
|
|
127
130
|
| Command | What It Does |
|
|
128
131
|
|---------|--------------|
|
|
129
|
-
| `ml
|
|
130
|
-
| `ml
|
|
131
|
-
| `ml
|
|
132
|
-
| `ml
|
|
133
|
-
| `ml
|
|
132
|
+
| `ml capture` | Save a new memory/rule |
|
|
133
|
+
| `ml query` | Retrieve memories by topic |
|
|
134
|
+
| `ml list` | List all memories (with dates) |
|
|
135
|
+
| `ml delete` | Delete a memory |
|
|
136
|
+
| `ml gate` | Check code (Secrets + Syntax) |
|
|
137
|
+
| `ml scan` | Find existing secrets |
|
|
134
138
|
|
|
135
139
|
### `ml scan` - Find Secrets
|
|
136
140
|
|
|
137
141
|
```bash
|
|
138
142
|
ml scan # Scan entire project
|
|
139
143
|
ml scan --path src/ # Scan specific directory
|
|
144
|
+
ml scan --json # JSON output for CI/automation (v2.1)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### `ml doctor` - Health Check (v2.1)
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
ml doctor # Basic health checks
|
|
151
|
+
ml doctor --full # Full diagnostics + benchmarks
|
|
152
|
+
ml doctor --json # JSON output for automation
|
|
140
153
|
```
|
|
141
154
|
|
|
142
155
|
### `ml mode` - Switch Protection Level
|
|
@@ -201,15 +214,16 @@ git push --no-verify # Emergency bypass (Git built-in)
|
|
|
201
214
|
|
|
202
215
|
---
|
|
203
216
|
|
|
204
|
-
## 🎨
|
|
217
|
+
## 🎨 127 Secret Patterns
|
|
205
218
|
|
|
206
219
|
| Category | Examples |
|
|
207
220
|
|----------|----------|
|
|
208
221
|
| **Cloud** | AWS, Azure, GCP, DigitalOcean, Heroku |
|
|
209
|
-
| **AI/ML** | OpenAI, Claude/Anthropic, HuggingFace,
|
|
210
|
-
| **Payment** | Stripe, PayPal, Square, Razorpay |
|
|
211
|
-
| **Auth** | GitHub, GitLab, Slack, Discord, JWT, OAuth |
|
|
212
|
-
| **
|
|
222
|
+
| **AI/ML** | OpenAI, Claude/Anthropic, HuggingFace, Groq, Perplexity, Replicate |
|
|
223
|
+
| **Payment** | Stripe, PayPal, Square, Razorpay, PhonePe, Cashfree |
|
|
224
|
+
| **Auth** | GitHub, GitLab, Slack, Discord, JWT, OAuth, Clerk |
|
|
225
|
+
| **Database** | Supabase, PlanetScale, Turso, Neon, Upstash |
|
|
226
|
+
| **India** | Aadhaar, PAN, GSTIN, UPI, IFSC, Paytm, PhonePe, Instamojo |
|
|
213
227
|
| **Personal** | SSN, Credit Card, Phone, Email |
|
|
214
228
|
| **Browser** | localStorage, sessionStorage, cookies |
|
|
215
229
|
|
|
@@ -329,7 +343,7 @@ Add to `.memorylink/config.json`:
|
|
|
329
343
|
- [Quick Reference](docs/QUICK_REFERENCE.md) - Cheat sheet
|
|
330
344
|
- [FAQ](docs/FAQ.md) - Common questions
|
|
331
345
|
- [Troubleshooting](docs/TROUBLESHOOTING.md) - Problem solutions
|
|
332
|
-
- [Patterns](docs/PATTERNS.md) - All
|
|
346
|
+
- [Patterns](docs/PATTERNS.md) - All 127 patterns
|
|
333
347
|
- [Comparisons](docs/COMPARISONS.md) - vs other tools
|
|
334
348
|
- [Threat Model](docs/THREAT_MODEL.md) - Security boundaries & design
|
|
335
349
|
- [Remediation Guide](docs/REMEDIATION.md) - How to rotate leaked secrets
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAoFrD"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ml delete command
|
|
3
|
+
* v1.7.0: Delete memories by ID or topic
|
|
4
|
+
*/
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { readdir, unlink, readFile } from 'fs/promises';
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
async function findAllRecords(dir) {
|
|
9
|
+
const results = [];
|
|
10
|
+
try {
|
|
11
|
+
const entries = await readdir(dir, { withFileTypes: true });
|
|
12
|
+
for (const entry of entries) {
|
|
13
|
+
const fullPath = join(dir, entry.name);
|
|
14
|
+
if (entry.isDirectory()) {
|
|
15
|
+
const subResults = await findAllRecords(fullPath);
|
|
16
|
+
results.push(...subResults);
|
|
17
|
+
}
|
|
18
|
+
else if (entry.name.endsWith('.json')) {
|
|
19
|
+
results.push(fullPath);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
// Directory doesn't exist or not readable
|
|
25
|
+
}
|
|
26
|
+
return results;
|
|
27
|
+
}
|
|
28
|
+
export function registerDeleteCommand(program) {
|
|
29
|
+
program
|
|
30
|
+
.command('delete')
|
|
31
|
+
.description('Delete a memory by ID or topic')
|
|
32
|
+
.option('-i, --id <id>', 'Delete by record ID')
|
|
33
|
+
.option('-t, --topic <topic>', 'Delete all memories for a topic')
|
|
34
|
+
.option('--all', 'Delete ALL memories (use with caution)')
|
|
35
|
+
.option('-f, --force', 'Skip confirmation')
|
|
36
|
+
.action(async (options) => {
|
|
37
|
+
const cwd = process.cwd();
|
|
38
|
+
const recordsDir = join(cwd, '.memorylink', 'records');
|
|
39
|
+
try {
|
|
40
|
+
// Recursively find all JSON files
|
|
41
|
+
const allFiles = await findAllRecords(recordsDir);
|
|
42
|
+
if (allFiles.length === 0) {
|
|
43
|
+
console.log(chalk.yellow('No memories found.'));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
let toDelete = [];
|
|
47
|
+
// Delete by ID
|
|
48
|
+
if (options.id) {
|
|
49
|
+
const match = allFiles.find(f => f.includes(options.id));
|
|
50
|
+
if (match) {
|
|
51
|
+
toDelete.push(match);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.log(chalk.red(`No memory found with ID: ${options.id}`));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Delete by topic
|
|
59
|
+
if (options.topic) {
|
|
60
|
+
for (const file of allFiles) {
|
|
61
|
+
try {
|
|
62
|
+
const content = await readFile(file, 'utf-8');
|
|
63
|
+
const record = JSON.parse(content);
|
|
64
|
+
if (record.conflict_key === options.topic) {
|
|
65
|
+
toDelete.push(file);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
// Skip files that can't be parsed
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (toDelete.length === 0) {
|
|
73
|
+
console.log(chalk.red(`No memories found for topic: ${options.topic}`));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Delete all
|
|
78
|
+
if (options.all) {
|
|
79
|
+
toDelete = allFiles;
|
|
80
|
+
}
|
|
81
|
+
if (toDelete.length === 0) {
|
|
82
|
+
console.log(chalk.yellow('Please specify --id, --topic, or --all'));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Confirmation
|
|
86
|
+
if (!options.force) {
|
|
87
|
+
console.log(chalk.yellow(`⚠️ About to delete ${toDelete.length} memory file(s).`));
|
|
88
|
+
console.log(chalk.dim('Use --force to skip this warning.'));
|
|
89
|
+
}
|
|
90
|
+
// Delete files
|
|
91
|
+
for (const file of toDelete) {
|
|
92
|
+
await unlink(file);
|
|
93
|
+
}
|
|
94
|
+
console.log(chalk.green(`✅ Deleted ${toDelete.length} memory file(s).`));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error.code === 'ENOENT') {
|
|
98
|
+
console.log(chalk.yellow('No .memorylink/records directory found.'));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.error(chalk.red(`Error: ${error.message}`));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAOrE,OAAO,EAAE,YAAY,EAAmB,MAAM,wBAAwB,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC;IACnC,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,mBAAmB,GAAG,cAAc,CAAC;IAC3C,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAE7C,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAoVrB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA0Qf"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* Gate output MUST NOT print secrets
|
|
12
12
|
*/
|
|
13
13
|
import { checkBlockQuarantined } from '../../gate/rules/block-quarantined.js';
|
|
14
|
+
import { checkValidSyntax } from '../../gate/rules/valid-syntax.js';
|
|
14
15
|
import { formatGateResult, validateGateOutput } from '../../gate/formatter.js';
|
|
15
16
|
import { appendAuditEvent } from '../../audit/logger.js';
|
|
16
17
|
import { EXIT_CODES } from '../../core/exit-codes.js';
|
|
@@ -315,6 +316,19 @@ export async function runGate(cwd, options) {
|
|
|
315
316
|
warnOnly: options.blockMode !== true,
|
|
316
317
|
};
|
|
317
318
|
}
|
|
319
|
+
// Route to valid-syntax rule
|
|
320
|
+
if (options.rule === 'valid-syntax') {
|
|
321
|
+
const { generateScopeId } = await import('../../storage/paths.js');
|
|
322
|
+
const scope = options.repoUrl
|
|
323
|
+
? {
|
|
324
|
+
type: options.scopeType || 'project',
|
|
325
|
+
id: generateScopeId(options.repoUrl),
|
|
326
|
+
}
|
|
327
|
+
: undefined;
|
|
328
|
+
return await checkValidSyntax(cwd, scope, {
|
|
329
|
+
diff: options.diff
|
|
330
|
+
});
|
|
331
|
+
}
|
|
318
332
|
// Unknown rule
|
|
319
333
|
return {
|
|
320
334
|
passed: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/cli/commands/gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/cli/commands/gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAsJf;AA4DD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -10,6 +10,7 @@ import { executeScan } from './scan.js';
|
|
|
10
10
|
// Week 6: Tool integration
|
|
11
11
|
import { generateAllPointers } from '../../tools/pointer-generator.js';
|
|
12
12
|
import { out } from '../output.js';
|
|
13
|
+
import { scaffoldUniversalContext } from './scaffold.js';
|
|
13
14
|
/**
|
|
14
15
|
* Check if path is a symlink (security protection)
|
|
15
16
|
* Prevents symlink attacks where .memorylink could point to sensitive directories
|
|
@@ -126,82 +127,23 @@ export async function initializeProject(cwd, options = {}) {
|
|
|
126
127
|
out.print(` Install later with: ${out.cmd('ml hooks install')}`);
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
|
-
// Week
|
|
130
|
-
if (isFirstTime) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
**Build:**
|
|
144
|
-
\`\`\`bash
|
|
145
|
-
npm run build
|
|
146
|
-
# or
|
|
147
|
-
pnpm build
|
|
148
|
-
\`\`\`
|
|
149
|
-
|
|
150
|
-
**Test:**
|
|
151
|
-
\`\`\`bash
|
|
152
|
-
npm test
|
|
153
|
-
# or
|
|
154
|
-
pnpm test
|
|
155
|
-
\`\`\`
|
|
156
|
-
|
|
157
|
-
**Lint:**
|
|
158
|
-
\`\`\`bash
|
|
159
|
-
npm run lint
|
|
160
|
-
# or
|
|
161
|
-
pnpm lint
|
|
162
|
-
\`\`\`
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## 🏗️ Architecture
|
|
167
|
-
|
|
168
|
-
[Add your project architecture notes here]
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## 📝 Coding Conventions
|
|
173
|
-
|
|
174
|
-
[Add your coding conventions here]
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## 🔒 Security
|
|
179
|
-
|
|
180
|
-
- Never commit secrets to Git
|
|
181
|
-
- Use environment variables for sensitive data
|
|
182
|
-
- Run \`ml scan\` before committing
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
**Last Updated:** ${new Date().toISOString().split('T')[0]}
|
|
187
|
-
`;
|
|
188
|
-
await writeFile(agentsMdPath, basicTemplate, 'utf-8');
|
|
189
|
-
out.success('Created AGENTS.md', 'Universal hub for all AI tools');
|
|
190
|
-
}
|
|
191
|
-
// Generate tool pointer files
|
|
192
|
-
const pointerResult = await generateAllPointers(cwd);
|
|
193
|
-
if (pointerResult.ok) {
|
|
194
|
-
out.success('Generated AI tool configurations');
|
|
195
|
-
out.print(` ${out.dim('•')} .cursorrules ${out.dim('→ Points to AGENTS.md')}`);
|
|
196
|
-
out.print(` ${out.dim('•')} CLAUDE.md ${out.dim('→ Points to AGENTS.md')}`);
|
|
197
|
-
out.print(` ${out.dim('•')} .github/copilot-instructions.md ${out.dim('→ Points to AGENTS.md')}`);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
out.warn(`Failed to generate pointer files: ${pointerResult.error.message}`);
|
|
201
|
-
}
|
|
202
|
-
// CRITICAL: Add .memorylink/ to .gitignore (ALL 8 AIs agreed)
|
|
203
|
-
await updateGitignore(cwd);
|
|
130
|
+
// Week 10: Universal Context Scaffolding (Stop Context Drift Standard)
|
|
131
|
+
if (isFirstTime || !existsSync(join(cwd, '.agent'))) {
|
|
132
|
+
await scaffoldUniversalContext(cwd);
|
|
133
|
+
}
|
|
134
|
+
// Generate tool pointer files
|
|
135
|
+
const pointerResult = await generateAllPointers(cwd);
|
|
136
|
+
if (pointerResult.ok) {
|
|
137
|
+
out.success('Generated AI tool configurations');
|
|
138
|
+
out.print(` ${out.dim('•')} .cursorrules ${out.dim('→ Points to AGENTS.md')}`);
|
|
139
|
+
out.print(` ${out.dim('•')} CLAUDE.md ${out.dim('→ Points to AGENTS.md')}`);
|
|
140
|
+
out.print(` ${out.dim('•')} .github/copilot-instructions.md ${out.dim('→ Points to AGENTS.md')}`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
out.warn(`Failed to generate pointer files: ${pointerResult.error.message}`);
|
|
204
144
|
}
|
|
145
|
+
// CRITICAL: Add .memorylink/ to .gitignore (ALL 8 AIs agreed)
|
|
146
|
+
await updateGitignore(cwd);
|
|
205
147
|
out.newline();
|
|
206
148
|
out.successBox('MEMORYLINK IS READY', 'Your AI workflows are now protected from secret leaks.');
|
|
207
149
|
// Enhanced success message with status summary
|