All skills
firebase avatar

/styleandcommit

@9a0bbc2
by firebasefirebase/firebase-ios-sdk6.7k stars
1,798

Ensure code is styled and commits follow Conventional Commits.

  • 3 files
  • 11.7 KB
  • Updated 3 months ago
  • GitHub

Use this Skill: https://skilld.dev/gh/firebase/firebase-ios-sdk/styleandcommit

This session only. Nothing lands on disk.

SKILL.md

≈20 tokens always: the name and description. ≈770 when used: this file.

Style & Commit Skill

When you are asked to commit changes, you MUST use the Conventional Commits specification.

Format

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Pre-commit Workflow

Before staging and committing files, you MUST ensure that all repository formatting and styling guidelines are met by running the unified pre-commit script:

  1. Locate and run the pre_commit.sh script. Depending on where this skill is installed, it will be at one of these paths:
    • ./.agents/skills/style_and_commit/scripts/pre_commit.sh (Local Repo)
    • ~/.gemini/config/skills/style_and_commit/scripts/pre_commit.sh (Global) Execute the path that exists. This script automatically:
    • Formats code (Swift, Obj-C, etc.)
    • Checks and adds copyright headers
    • Wraps markdown text at 80 characters and removes trailing whitespace
    • Runs shellcheck on any modified shell scripts
  2. If the script fails (e.g., shellcheck reports an error), you MUST read the error, fix the issues, and re-run the script until it succeeds.
  3. Once the script passes, stage the intended changes (git add ...) and commit using git commit -m "...".

Rules

  1. Types: Use one of the following types:
    • feat: A new feature
    • fix: A bug fix
    • docs: Documentation only changes
    • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
    • refactor: A code change that neither fixes a bug nor adds a feature
    • perf: A code change that improves performance
    • test: Adding missing tests or correcting existing tests
    • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
    • ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, GitHub Actions)
    • chore: Other changes that don't modify src or test files
    • revert: Reverts a previous commit
  2. Scope: A scope may be provided to a commit's type, to provide additional contextual information and is contained within parenthesis, e.g., feat(parser): add ability to parse arrays.
  3. Description:
    • Use the imperative, present tense: "change" not "changed" nor "changes".
    • Don't capitalize the first letter.
    • No dot (.) at the end.
  4. Body:
    • Just as in the description, use the imperative, present tense.
    • The body should include the motivation for the change and contrast this with previous behavior.
  5. Separate logical changes: If the user's working directory has multiple unrelated changes (e.g. CI changes and Dependency updates), you should create separate commits for each logical change unless the user explicitly asks for a single commit.
  6. CI Fixes: When making fixes to CI configuration files or workflows (e.g. GitHub Actions), use fix as the commit type and ci as the scope (e.g. fix(ci): <description>), rather than using ci as the type.

Source: SKILL.md on GitHub

No third-party reports yet.

Signed by skilld at 9a0bbc2. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 months ago

README badge

README badge for firebase/firebase-ios-sdk/styleandcommit