{
	"vibecode": {
		"doc": "miko-formatting-preferences",
		"role": "Miko's personal formatting preferences. Single source of truth for what Miko personally uses; feeds the formatter defaults, the VS Code Caspian extension, Gitter's format toggle, and Differ's normalization layer. Living document — values are added or refined as decisions land.",
		"format_spec": "../formatting.md",
		"scope": "personal, not project policy (see formatting.md philosophy)",
		"shape": "follows the style.json structure defined in formatting.md: three top-level groups (indent, lines, languages); per-language overrides under languages"
	},

	"indent": {
		"character": "tab",
		"width": 4
	},

	"lines": {
		"max_length": 80,
		"trim_trailing_whitespace": true,
		"empty_line_treatment": "neighbors",
		"max_consecutive_blank_lines": 1,
		"final_newline": false,
		"blank_line_around_blocks": true
	},

	"languages": {
		"caspian": {
			"class_body_packing": "tight",
			"empty_param_parens": true,
			"bareword_call_parens": "omit",
			"hash_spacing": "tight",
			"return_parens": true,
			"vibecode_placement": "top_of_section"
		},
		"css": {
			"single_declaration_rules": "inline",
			"single_declaration_trailing_semicolon": false,
			"multi_declaration_rules": "block",
			"single_declaration_example": ".sidebar-search {margin: 0 0 12px}",
			"multi_declaration_example": ".sidebar-search input {\n\twidth: 100%;\n\tpadding: 4px 8px;\n\tborder: 1px solid #d0d7de;\n}"
		},
		"html": {
			"blank_line_around_block_tags": true
		}
	}
}
