fix(installer): remove double-escaping of quotes in CSV manifest pipeline (#1746)

* fix(installer): remove double-escaping of quotes in CSV manifest pipeline

cleanForCSV() pre-escaped " to "" before storing in memory, then
escapeCsv() escaped again at CSV write time. After csv-parse round-trip
(which only un-escapes once), descriptions retained doubled quotes
instead of originals, corrupting generated output files.

Fix: remove the redundant quote escaping from cleanForCSV() since
escapeCsv() already handles CSV quoting correctly at write time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(installer): use single quotes for description in Gemini workflow templates

Replace triple-quoted """{{description}}""" with single-quoted '{{description}}'
to avoid TOML escaping issues in Gemini workflow templates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
PinkyD 2026-02-24 16:43:33 -08:00 committed by GitHub
parent b83ccc71b9
commit 97a533e298
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 8 deletions

View File

@ -24,16 +24,14 @@ class ManifestGenerator {
}
/**
* Clean text for CSV output by normalizing whitespace and escaping quotes
* Clean text for CSV output by normalizing whitespace.
* Note: Quote escaping is handled by escapeCsv() at write time.
* @param {string} text - Text to clean
* @returns {string} Cleaned text safe for CSV
* @returns {string} Cleaned text
*/
cleanForCSV(text) {
if (!text) return '';
return text
.trim()
.replaceAll(/\s+/g, ' ') // Normalize all whitespace (including newlines) to single space
.replaceAll('"', '""'); // Escape quotes for CSV
return text.trim().replaceAll(/\s+/g, ' '); // Normalize all whitespace (including newlines) to single space
}
/**

View File

@ -1,4 +1,4 @@
description = """{{description}}"""
description = '{{description}}'
prompt = """
Execute the BMAD '{{name}}' workflow.

View File

@ -1,4 +1,4 @@
description = """{{description}}"""
description = '{{description}}'
prompt = """
Execute the BMAD '{{name}}' workflow.