configerator-development

Automate editing, building, linting, and submitting Meta Configerator configurations.

1|Updated Nov 29, 2021
One-click install
npx skills add https://github.com/mkarrmann/dotfiles --skill configerator-development
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: configerator-development
Source: https://github.com/mkarrmann/dotfiles/tree/main/agent_config/skills/configerator-development
Command: npx skills add https://github.com/mkarrmann/dotfiles --skill configerator-development

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers work with Meta's bespoke Configerator system by providing guidance on editing .cinc/.cconf/.mcconf files, running builds, linting, submitting changes, debugging build failures, and understanding the unique import system.

Core Features & Use Cases

  • Not standard Python: Configerator uses a bespoke dialect compiled via exec() with a custom import system and builtins.
  • Workflow tooling: Guidance for conf build, conf lint, conf submit, and debugging failures; materialized configs must be committed.
  • Use Case: A developer working on a config file can validate changes locally, lint for correctness, and submit with a mutation ID.

Quick Start

Run a local configerator build to validate changes in .cconf/.cinc files.

Frequently Asked Questions about configerator-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build and validate Configerator .cconf files locally?

To validate Configerator .cconf files locally, run a local configerator build using the `conf build` command. This processes your bespoke Python dialect configurations and materializes the output, which must be committed alongside your changes.

What is the best way to lint Configerator configurations before submitting?

The best way to lint Configerator configurations is by running the `conf lint` command. This checks your .cinc, .cconf, and .mcconf files for correctness against the custom import system and CI hooks, ensuring your submission passes validation.

Why does my Configerator build fail with custom import errors?

Configerator build failures with import errors often stem from its bespoke Python dialect, which is compiled via exec() with a custom import system and builtins. Debugging requires understanding that standard Python import rules do not apply to .cinc and .cconf files.

How do I submit Configerator configuration changes with a mutation ID?

To submit Configerator configuration changes, use the `conf submit` command with a designated mutation ID. This process ensures your validated and linted .cconf and .cinc file modifications are properly tracked and integrated into the system.

Does Configerator use standard Python syntax for .cinc and .mcconf files?

No, Configerator does not use standard Python syntax. It uses a bespoke Python dialect compiled via exec(), featuring a custom import system and builtins specifically designed for handling materialized configs within the .cinc, .cconf, and .mcconf file formats.

What are the limitations of debugging Configerator build failures?

Debugging Configerator build failures is limited by its non-standard Python execution model via exec() and custom builtins. Developers must account for materialized configs and CI hooks, as traditional Python debugging tools may not correctly interpret the custom import system.