safepropel 1.0.9 → 1.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 CHANGED
@@ -65,6 +65,18 @@ After installation, use workflows directly in Cascade chat:
65
65
  - All 35+ workflows execute with full AI integration
66
66
  - Bundle content remains encrypted and protected
67
67
 
68
+ ### 💡 Automatic IDE Configuration
69
+
70
+ The postinstall script automatically creates `.vscode/settings.json` to hide the `node_modules/` folder in VS Code/Windsurf. This prevents confusion from seeing files in both `safepropel/` and `node_modules/safepropel/`.
71
+
72
+ **What you'll see:**
73
+ - ✅ `safepropel/` - Working files
74
+ - ✅ `.windsurf/` - Cascade integration
75
+ - ✅ `.windsurfrules` - Cascade integration
76
+ - ❌ `node_modules/` - Hidden automatically
77
+
78
+ **Note:** This is standard npm behavior - the package must exist in `node_modules/`, and the postinstall script copies working files to your project root for Cascade to use.
79
+
68
80
  ## Setup (Required)
69
81
 
70
82
  After installation, set your license key as an environment variable:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safepropel",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "SafePropel Framework - Unified Protection System for AI Workflow Execution with 4-layer security (Compilation, Encryption, Runtime Engine, Firewall)",
5
5
  "main": "engine/workflow-executor.js",
6
6
  "scripts": {
package/postinstall.js CHANGED
@@ -67,6 +67,42 @@ try {
67
67
  console.log(`⚠️ .windsurfrules already exists - skipping`);
68
68
  }
69
69
 
70
+ // Step 4: Create .vscode/settings.json to hide node_modules (for cleaner IDE view)
71
+ const vscodeDir = path.join(projectRoot, '.vscode');
72
+ const vscodeSettingsPath = path.join(vscodeDir, 'settings.json');
73
+
74
+ if (!fs.existsSync(vscodeSettingsPath)) {
75
+ fs.mkdirSync(vscodeDir, { recursive: true });
76
+
77
+ const settings = {
78
+ "files.exclude": {
79
+ "**/node_modules": true
80
+ }
81
+ };
82
+
83
+ fs.writeFileSync(vscodeSettingsPath, JSON.stringify(settings, null, 2), 'utf8');
84
+ console.log(`✅ Created .vscode/settings.json (hides node_modules)`);
85
+ } else {
86
+ // Settings file exists - merge our setting
87
+ try {
88
+ const existingSettings = JSON.parse(fs.readFileSync(vscodeSettingsPath, 'utf8'));
89
+
90
+ if (!existingSettings['files.exclude']) {
91
+ existingSettings['files.exclude'] = {};
92
+ }
93
+
94
+ if (!existingSettings['files.exclude']['**/node_modules']) {
95
+ existingSettings['files.exclude']['**/node_modules'] = true;
96
+ fs.writeFileSync(vscodeSettingsPath, JSON.stringify(existingSettings, null, 2), 'utf8');
97
+ console.log(`✅ Updated .vscode/settings.json (added node_modules exclusion)`);
98
+ } else {
99
+ console.log(`⚠️ .vscode/settings.json already excludes node_modules - skipping`);
100
+ }
101
+ } catch (error) {
102
+ console.log(`⚠️ Could not update .vscode/settings.json: ${error.message}`);
103
+ }
104
+ }
105
+
70
106
  } catch (error) {
71
107
  console.error(`❌ Installation failed: ${error.message}`);
72
108
  process.exit(1);
@@ -75,16 +111,18 @@ try {
75
111
  console.log(`
76
112
  📁 Project structure:
77
113
  your-project/
78
- ├── .windsurf/ (Cascade integration - at root)
114
+ ├── .vscode/
115
+ │ └── settings.json (IDE config - hides node_modules)
116
+ ├── .windsurf/
79
117
  │ └── rules/
80
118
  │ └── safepropel-framework-autoload.md
81
- ├── .windsurfrules (Cascade integration - at root)
82
- ├── safepropel/ (Framework files only)
119
+ ├── .windsurfrules
120
+ ├── safepropel/
83
121
  │ ├── engine/
84
122
  │ │ └── prompt_bundle.enc
85
123
  │ └── safepropel.js
86
- └── node_modules/
87
- └── safepropel/ (npm package - not used directly)
124
+ └── node_modules/ (hidden in IDE)
125
+ └── safepropel/
88
126
 
89
127
  📋 REQUIRED SETUP - Set License Key:
90
128