@greenarmor/ges
Advanced tools
@@ -7,2 +7,3 @@ import { Command } from "commander"; | ||
| import { recordActivity } from "@greenarmor/ges-core"; | ||
| import { createGovernanceRecord, addGovernanceRecord } from "@greenarmor/ges-core"; | ||
| import { getPacksForProjectType, getPack, PRIVACY_COUNTRIES, getCountryByCode } from "@greenarmor/ges-policy-engine"; | ||
@@ -197,2 +198,14 @@ import { generateComplianceDocs, generateSecurityDocs, generateConfigJson, generateMetadataJson, generateFrameworkVersionJson, generateScoreJson, } from "@greenarmor/ges-doc-generator"; | ||
| } | ||
| // Genesis governance record — establishes the root of the approval provenance chain | ||
| // using project info collected during init, so audit findings can be assigned immediately. | ||
| const genesisSystemType = mapProjectTypeToSystemType(projectType); | ||
| const genesisRiskLevel = inferRiskLevel(projectType); | ||
| const genesisRecord = createGovernanceRecord({ | ||
| system_name: projectName, | ||
| system_description: `Genesis governance record auto-created by ges init for a ${projectType} project. Frameworks: ${selectedFrameworks.join(", ")}. Update this record with approval, risk assessment, and evidence as your project matures.`, | ||
| system_type: genesisSystemType, | ||
| risk_level: genesisRiskLevel, | ||
| created_by: "ges-init", | ||
| }); | ||
| addGovernanceRecord(process.cwd(), genesisRecord); | ||
| blank(); | ||
@@ -215,2 +228,3 @@ step(1, 4, "Creating project structure"); | ||
| success("GitHub Actions workflows generated"); | ||
| success("Genesis governance record created", `${genesisRecord.id} (${genesisSystemType}, ${genesisRiskLevel} risk)`); | ||
| success("Developer logs directory created", ".dev-logs/"); | ||
@@ -236,6 +250,26 @@ blank(); | ||
| title: `Project initialized: ${projectName}`, | ||
| description: `Initialized GESF for ${projectType} project${countryInfo ? ` in ${countryInfo.name}` : ""} with frameworks: ${selectedFrameworks.join(", ")}. Installed ${packs.length} policy packs: ${packs.map(p => p.id).join(", ")}.`, | ||
| details: { packs_affected: packs.map(p => p.id), frameworks_added: selectedFrameworks.map((f) => String(f)), country: countryCode }, | ||
| description: `Initialized GESF for ${projectType} project${countryInfo ? ` in ${countryInfo.name}` : ""} with frameworks: ${selectedFrameworks.join(", ")}. Installed ${packs.length} policy packs: ${packs.map(p => p.id).join(", ")}. Genesis governance record created: ${genesisRecord.id}.`, | ||
| details: { packs_affected: packs.map(p => p.id), frameworks_added: selectedFrameworks.map((f) => String(f)), country: countryCode, genesis_governance_record_id: genesisRecord.id }, | ||
| }); | ||
| await showNextStepsMenu("init"); | ||
| }); | ||
| function mapProjectTypeToSystemType(projectType) { | ||
| switch (projectType) { | ||
| case "ai-application": | ||
| case "mcp-server": | ||
| return "ai-system"; | ||
| case "api-backend": | ||
| return "api"; | ||
| default: | ||
| return "application"; | ||
| } | ||
| } | ||
| function inferRiskLevel(projectType) { | ||
| if (projectType === "healthcare-system" || projectType === "government-system") { | ||
| return "high"; | ||
| } | ||
| if (projectType === "blockchain" || projectType === "wallet") { | ||
| return "high"; | ||
| } | ||
| return "medium"; | ||
| } |
+14
-14
@@ -6,15 +6,15 @@ { | ||
| "dependencies": { | ||
| "@greenarmor/ges-audit-engine": "1.5.6", | ||
| "@greenarmor/ges-cicd-generator": "1.5.6", | ||
| "@greenarmor/ges-compliance-engine": "1.5.6", | ||
| "@greenarmor/ges-core": "1.5.6", | ||
| "@greenarmor/ges-doc-generator": "1.5.6", | ||
| "@greenarmor/ges-git-hooks": "1.5.6", | ||
| "@greenarmor/ges-mcp-server": "1.5.6", | ||
| "@greenarmor/ges-policy-engine": "1.5.6", | ||
| "@greenarmor/ges-report-generator": "1.5.6", | ||
| "@greenarmor/ges-rules-engine": "1.5.6", | ||
| "@greenarmor/ges-scanner-integration": "1.5.6", | ||
| "@greenarmor/ges-scoring-engine": "1.5.6", | ||
| "@greenarmor/ges-web-dashboard": "1.5.6", | ||
| "@greenarmor/ges-audit-engine": "1.5.7", | ||
| "@greenarmor/ges-cicd-generator": "1.5.7", | ||
| "@greenarmor/ges-compliance-engine": "1.5.7", | ||
| "@greenarmor/ges-core": "1.5.7", | ||
| "@greenarmor/ges-doc-generator": "1.5.7", | ||
| "@greenarmor/ges-git-hooks": "1.5.7", | ||
| "@greenarmor/ges-mcp-server": "1.5.7", | ||
| "@greenarmor/ges-policy-engine": "1.5.7", | ||
| "@greenarmor/ges-report-generator": "1.5.7", | ||
| "@greenarmor/ges-rules-engine": "1.5.7", | ||
| "@greenarmor/ges-scanner-integration": "1.5.7", | ||
| "@greenarmor/ges-scoring-engine": "1.5.7", | ||
| "@greenarmor/ges-web-dashboard": "1.5.7", | ||
| "chalk": "^5.6.2", | ||
@@ -64,3 +64,3 @@ "commander": "^13.0.0" | ||
| "types": "./dist/index.d.ts", | ||
| "version": "1.5.6", | ||
| "version": "1.5.7", | ||
| "scripts": { | ||
@@ -67,0 +67,0 @@ "build": "tsc", |
174064
0.98%3880
0.91%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated