Skip to content
cccskills
FreePublished on GitHub

linting

Code formatting and linting context for the Megahub project. Use when writing or reviewing code in C++ or JavaScript, or when running format/lint checks. Describes tool commands, style conventions, and when to apply them.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Linting & Formatting — Megahub

Tools

LayerToolConfig filePurpose
C++clang-format/.clang-formatCode formatting
C++cppcheck— (run manually)Static analysis
JS/CSSPrettier/frontend/prettier.config.jsCode formatting
JSESLint v9/frontend/eslint.config.jsBug detection
Pre-commitlefthook/lefthook.ymlRuns all checks on staged files

Running Tools

JavaScript (run from frontend/)

npm run lint           # ESLint check (errors and warnings)
npm run lint:fix       # ESLint auto-fix where possible
npm run format         # Prettier — write formatted output
npm run format:check   # Prettier — check only (no writes)

C++ (run from project root)

# Format a single file in-place
clang-format -i lib/megahub/src/megahub.cpp

# Check all lib and src files without modifying
find lib src -name "*.cpp" -o -name "*.h" | xargs clang-format --dry-run --Werror

# Static analysis
cppcheck --enable=warning,performance,portability \
         --suppress=missingInclude \
         --suppress=unusedFunction \
         --suppress=ctuOneDefinitionRuleViolation \
         --inline-suppr \
         --error-exitcode=1 \
         --quiet \
         lib/btremote lib/commands lib/configuration lib/hubwebserver \
         lib/i2csync lib/imu lib/inputdevices lib/logging lib/lpfuart \
         lib/megahub lib/portstatus lib/statusmonitor \
         src/

When to Apply

  • After writing any JS code: run npm run format then npm run lint from frontend/
  • After writing any C++ code: run clang-format -i on the modified files
  • The pre-commit hook runs automatically on staged files if lefthook is installed

Pre-commit Hook Setup (one-time)

brew install lefthook   # macOS
lefthook install        # registers the git hooks

After this, every git commit automatically checks:

  • C++ staged files → clang-format (fails if unformatted)
  • JS staged files → ESLint (fails on errors)
  • JS/CSS staged files → Prettier (fails if unformatted)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ble

Free

Bluetooth context for the Megahub project. Use when working on BLE GATT server, Classic Bluetooth HID host, Web Bluetooth API integration, btremote library, connection handling, or any Bluetooth-related firmware code.

The English summary is being prepared. Showing the original description.

mirkosertic/Megahub7Updated Oct 18, 2026

Blockly visual programming context for the Megahub project. Use when adding, modifying, or debugging custom Blockly blocks, the Lua code generator, the toolbox, block colors, or the BLOCKS.md documentation generation script.

The English summary is being prepared. Showing the original description.

mirkosertic/Megahub7Updated Oct 18, 2026

Documentation structure and maintenance rules for the Megahub project. Use whenever making user-facing changes — adding features, changing behavior, fixing hardware compatibility, or modifying configuration. Describes which files to update, the README structure, and writing style.

The English summary is being prepared. Showing the original description.

mirkosertic/Megahub7Updated Oct 18, 2026

Core firmware context for the Megahub ESP32 project. Use when working on PlatformIO configuration, build scripts, library structure, main.cpp, or general ESP32 firmware development. Covers build system, project structure, common pitfalls, and debugging.

The English summary is being prepared. Showing the original description.

mirkosertic/Megahub7Updated Oct 18, 2026

Frontend development context for the Megahub project. Use when working on the web-based IDE, Vite build system, Blockly visual programming, Web Bluetooth API integration, JavaScript frontend code, CSS/styles, UI components, or anything in the /frontend/ directory.

The English summary is being prepared. Showing the original description.

mirkosertic/Megahub7Updated Oct 18, 2026

LEGO Powered Up protocol context for the Megahub project. Use when working on LEGO device communication, lpfuart library, UART parsing, motor control, sensor modes, device initialization, or debugging UART noise/corruption issues.

The English summary is being prepared. Showing the original description.

mirkosertic/Megahub7Updated Oct 18, 2026

See all skills by mirkosertic

Report a problem with this skill