Skip to main content

credential-setup

Standardize credential handling for an ESP32 project (credentials.h.example, .gitignore, pre-commit protection)

الانتقال إلى التثبيت

معلومات المصدر

المستودع
laurigates/mcu-tinkering-lab
آخر نشاط في المصدر
١٨ أبريل ٢٠٢٦ في ١٢:٢١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٧
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
credential-setup
description
Standardize credential handling for an ESP32 project (credentials.h.example, .gitignore, pre-commit protection)
argument-hint
<project-path>
user-invocable
true
allowed-tools
Read, Write, Edit, Grep, Glob
## Task Standardize credential handling for the project at `$1` (relative path under `packages/<domain>/`). ## Standard Patterns ### ESP-IDF Projects Use `credentials.h` + `credentials.h.example`: ```c // credentials.h.example — Template for project credentials // Copy to credentials.h and fill in your values: // cp credentials.h.example credentials.h #ifndef CREDENTIALS_H #define CREDENTIALS_H // WiFi Configuration #define WIFI_SSID "your-wifi-ssid" #define WIFI_PASSWORD "your-wifi-password" // API Keys (uncomment and fill in as needed) // #define API_KEY "your-api-key" #endif // CREDENTIALS_H ``` ### ESPHome Projects Use `secrets.yaml` + `secrets.yaml.example`: ```yaml # secrets.yaml.example — Template for project secrets # Copy to secrets.yaml and fill in your values: # cp secrets.yaml.example secrets.yaml wifi_ssid: "your-wifi-ssid" wifi_password: "your-wifi-password" api_encryption_key: "generate-with-esphome" ota_password: "your-ota-password" ``` ## Process 1. **Detect project type** (ESP-IDF or ESPHome) by checking for `CMakeLists.txt` vs `.yaml` config 2. **Scan source** for credential usage: - `#include "credentials.h"` or `#include "secrets.h"` or `#include "wifi_config.h"` - `WIFI_SSID`, `WIFI_PASSWORD`, `API_KEY`, etc. 3. **Check current state**: - Does a `.example` file exist? - Is the credential file gitignored? - Are pre-commit hooks protecting it? 4. **Fix non-conforming patterns**: - `wifi_config.h` / `wifi_config_example.h` → rename to `credentials.h` / `credentials.h.example` - `secrets.h` / `secrets.h.example` → rename to `credentials.h` / `credentials.h.example` - Update `#include` statements in source to match 5. **Ensure protection**: - Verify `.gitignore` covers `credentials.h` and `secrets.yaml` - Verify root `.pre-commit-config.yaml` blocks credential files ## Migration Table | Current File | Standard Name | Action | |-------------|--------------|--------| | `wifi_config.h` | `credentials.h` | Rename, update includes | | `wifi_config_example.h` | `credentials.h.example` | Rename | | `secrets.h` | `credentials.h` | Rename, update includes | | `secrets.h.example` | `credentials.h.example` | Rename | | `credentials.h.template` | `credentials.h.example` | Rename | | `credentials.h.example` | (already correct) | No action | ## Output Report what was found and what was changed: - Current credential pattern detected - Files renamed/created - .gitignore status - Pre-commit protection status - Source files updated (if includes were changed)
عرض على GitHub