- name
- flex
- version
- 1.0.0
- description
- Generate CSS Flexbox layouts using interactive CLI commands. Use when building responsive flex containers, rows, columns, or alignment configurations.
- author
- BytesAgain
- homepage
- https://bytesagain.com
- source
- https://github.com/bytesagain/ai-skills
Flex — CSS Flexbox Layout Generator
A CLI tool for generating CSS Flexbox layouts. Create flex containers, configure alignment, justify, wrap, gap, and order properties, then export production-ready CSS code.
Prerequisites
- Python 3.8+
bashshell- Write access to
~/.flex/
Data Storage
All layout configurations are stored in JSONL format at ~/.flex/data.jsonl. Each record represents a saved flex layout with all its properties.
Commands
Run commands via: bash scripts/script.sh <command> [arguments...]
create
Create a new flex container layout with a name and optional initial properties.
bash scripts/script.sh create --name "navbar" --direction row --items 5
bash scripts/script.sh create --name "sidebar" --direction columnArguments:
--name— Layout name (required)--direction— Flex direction:row,column,row-reverse,column-reverse(optional, default:row)--items— Number of child items (optional, default: 3)
row
Create a quick horizontal row layout preset.
bash scripts/script.sh row --name "header-row" --items 4
bash scripts/script.sh row --name "card-grid" --gap 16Arguments:
--name— Layout name (required)--items— Number of items (optional, default: 3)--gap— Gap in pixels (optional, default: 0)
column
Create a quick vertical column layout preset.
bash scripts/script.sh column --name "sidebar-nav" --items 6Arguments:
--name— Layout name (required)--items— Number of items (optional, default: 3)--gap— Gap in pixels (optional, default: 0)
wrap
Toggle or set flex-wrap on an existing layout.
bash scripts/script.sh wrap --id <layout_id> --value wrap
bash scripts/script.sh wrap --id <layout_id> --value nowrapArguments:
--id— Layout ID (required)--value— Wrap value:wrap,nowrap,wrap-reverse(optional, default:wrap)
align
Set align-items property on a layout.
bash scripts/script.sh align --id <layout_id> --value centerArguments:
--id— Layout ID (required)--value— Alignment:flex-start,flex-end,center,stretch,baseline(required)
justify
Set justify-content property on a layout.
bash scripts/script.sh justify --id <layout_id> --value space-betweenArguments:
--id— Layout ID (required)--value— Justify:flex-start,flex-end,center,space-between,space-around,space-evenly(required)
gap
Set the gap property on a layout.
bash scripts/script.sh gap --id <layout_id> --value 16
bash scripts/script.sh gap --id <layout_id> --row 8 --column 16Arguments:
--id— Layout ID (required)--value— Gap in pixels (optional)--row— Row gap in pixels (optional)--column— Column gap in pixels (optional)
order
Set the order of a specific child item within a layout.
bash scripts/script.sh order --id <layout_id> --item 2 --value -1Arguments:
--id— Layout ID (required)--item— Item index, 1-based (required)--value— Order value (required)
grow
Set flex-grow for a child item.
bash scripts/script.sh grow --id <layout_id> --item 1 --value 2Arguments:
--id— Layout ID (required)--item— Item index (required)--value— Flex-grow value (required)
shrink
Set flex-shrink for a child item.
bash scripts/script.sh shrink --id <layout_id> --item 3 --value 0Arguments:
--id— Layout ID (required)--item— Item index (required)--value— Flex-shrink value (required)
export
Export a layout or all layouts as CSS code.
bash scripts/script.sh export --id <layout_id>
bash scripts/script.sh export --all --output layouts.cssArguments:
--id— Export a specific layout (optional)--all— Export all layouts (optional)--output— Output file path (optional, default: stdout)
help
Display help information and list all available commands.
bash scripts/script.sh helpversion
Display the current tool version.
bash scripts/script.sh versionExamples
# Create a navigation bar
bash scripts/script.sh create --name "navbar" --direction row --items 5
bash scripts/script.sh justify --id abc123 --value space-between
bash scripts/script.sh align --id abc123 --value center
bash scripts/script.sh export --id abc123
# Quick card grid
bash scripts/script.sh row --name "cards" --items 4 --gap 16
bash scripts/script.sh wrap --id def456 --value wrap
# Export everything
bash scripts/script.sh export --all --output flex-layouts.cssNotes
- Each layout stores complete flex properties: direction, wrap, align, justify, gap, and per-item grow/shrink/order
- The
exportcommand generates clean, production-ready CSS with class names derived from layout names - Use
rowandcolumnshortcuts for common patterns instead ofcreate - Item properties (grow, shrink, order) are stored per item index within each layout
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com