aurora-sheets-sync

- User wants to sync YAML schemas to Google Sheets (push )

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "aurora-sheets-sync" with this command: npx skills add avvale/aurora-front/avvale-aurora-front-aurora-sheets-sync

When to Use

  • User wants to sync YAML schemas to Google Sheets (push )

  • User wants to sync Google Sheets to YAML schemas (pull )

  • User mentions "sincronizar", "spreadsheet", "google sheets", "exportar schemas"

  • Troubleshooting sync issues or configuration problems

Critical Patterns

  1. Spreadsheet Structure

Sheet Purpose

DATA

Dropdown values, validations (don't modify)

TEMPLATE

Template duplicated for new modules

MODULES

Index with hyperlinks to module sheets

{module-name}

One sheet per module (e.g., business-partner )

  1. Module Sheet Format
  • Row 1: Headers (read dynamically)

  • Row 2+: Properties (one per row)

  • Booleans: ✓ (CHAR 9989) = true, empty = false

  1. Pull is Idempotent

Rule: If no content changes in spreadsheet, YAML files must NOT be modified.

// Content comparison before writing if (normalizeYamlForComparison(existing) === normalizeYamlForComparison(new)) { // Skip write - preserves original formatting }

  1. Preserve Fields Not in Spreadsheet

Fields in YAML without spreadsheet columns are preserved on pull:

  • relationship.singularName , relationship.aggregateName , relationship.modulePath

  • relationship.key , relationship.field , relationship.avoidConstraint

  • webComponent

  1. Field Mappings

Sheet Column YAML Field Notes

relationship

relationship.type

1:1 , N:1 , 1:N , N:N

master

relationship.modulePath

Module name only

subtype

arrayOptions.type

When type=array

values

Multiple enumOptions , decimals , or arrayOptions.enumOptions

hasAuth

hasOAuth

Header mapping

  1. Array Format in YAML

Inline format [A, B, C] :

  • enumOptions

  • decimals

  • defaultValue (when array)

Multi-line format (for readability):

  • excludedOperations

  • excludedFiles

  1. Nullable and DefaultValue Rules
  • nullable: If not checked (✓), defaults to false (never undefined)

  • defaultValue: Wrapped in array [value] when type=array

  • description: Format preserved even when field is renamed (matched by content)

Commands

Navigate to tool directory

cd scripts/aurora-sheets-sync

Install dependencies (first time)

npm install

Push: YAML → Google Sheets

npx ts-node src/index.ts push --bc business-partner-portal npx ts-node src/index.ts push --all npx ts-node src/index.ts push --bc iam --dry-run

Pull: Google Sheets → YAML

npx ts-node src/index.ts pull --bc business-partner-portal npx ts-node src/index.ts pull --bc iam --no-backup npx ts-node src/index.ts pull --all --dry-run

Validate connection

npx ts-node src/index.ts validate --bc business-partner-portal

List configured bounded contexts

npx ts-node src/index.ts list

Configuration

aurora-sheets.config.json

{ "credentialsPath": "./scripts/aurora-sheets-sync/credentials/service-account.json", "boundedContexts": { "business-partner-portal": { "spreadsheetId": "1ABC123xyz...", "description": "Business Partner Portal" } }, "backupsPath": "backups/aurora-schemas", "cliterPath": "cliter" }

Google Cloud Setup (Quick Reference)

  • Create project in Google Cloud Console

  • Enable Google Sheets API (APIs & Services → Library)

  • Create Service Account (APIs & Services → Credentials)

  • Download JSON key → save to credentials/service-account.json

  • Share spreadsheet with service account email (Editor role)

Troubleshooting

Error Solution

The caller does not have permission

Share spreadsheet with service account email

Google Sheets API has not been enabled

Enable API in Google Cloud Console

Could not load credentials

Check credentialsPath in config

Skipped: X (empty or invalid)

Sheet missing headers or name /type columns

Pull shows "(no changes)" Idempotent - content unchanged, file preserved

Key Files

scripts/aurora-sheets-sync/ ├── src/ │ ├── index.ts # CLI entry point │ ├── sync/ │ │ ├── yaml-to-sheet.ts # Push logic │ │ └── sheet-to-yaml.ts # Pull logic (idempotent) │ └── transformers/ │ └── property-transformer.ts # YAML ↔ Row conversion ├── credentials/ │ └── service-account.json # Google credentials (gitignored) ├── CONTEXT.md # Technical documentation └── README.md # User guide

Resources

  • Technical Context: See CONTEXT.md

  • User Guide: See README.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

angular-19

No summary provided by upstream source.

Repository SourceNeeds Review
General

angular-material-19

No summary provided by upstream source.

Repository SourceNeeds Review
General

prettier

No summary provided by upstream source.

Repository SourceNeeds Review