516e1479c6
Research conducted on modern AI coding assistants (Cursor, GitHub Copilot, Cline, Aider, Windsurf, Replit Agent) to understand architecture patterns, context management, code editing workflows, and tool use protocols. Key Decision: Pivoted from building full CLI (40-50h) to validation-driven MCP-first approach (10-15h). Build 5 core CODEX MCP tools that work with ANY coding assistant, validate adoption over 2-4 weeks, then decide on full CLI if demand proven. Files: - research/ai-systems/modern-coding-assistants-architecture.md (comprehensive research) - research/ai-systems/codex-coding-assistant-implementation-plan.md (original CLI plan, preserved) - research/ai-systems/codex-mcp-tools-implementation-plan.md (approved MCP-first plan) - ideas/registry.json (updated with approved MCP tools proposal) Architech Validation: APPROVED with pivot to MCP-first approach Human Decision: Approved (pragmatic validation-driven development) Next: Begin Phase 1 implementation (10-15 hours, 5 core MCP tools) 🤖 Generated with CODEX Research System Co-Authored-By: The Archivist <archivist@codex.svrnty.io> Co-Authored-By: The Architech <architech@codex.svrnty.io> Co-Authored-By: Mathias Beaulieu-Duncan <mat@svrnty.io>
203 lines
7.9 KiB
INI
203 lines
7.9 KiB
INI
# EditorConfig is awesome: https://EditorConfig.org
|
|
|
|
root = true
|
|
|
|
# All files
|
|
[*]
|
|
charset = utf-8
|
|
indent_style = space
|
|
indent_size = 4
|
|
insert_final_newline = true
|
|
trim_trailing_whitespace = true
|
|
|
|
# Code files
|
|
[*.{cs,csx,vb,vbx}]
|
|
indent_size = 4
|
|
|
|
# XML project files
|
|
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
|
|
indent_size = 2
|
|
|
|
# XML config files
|
|
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
|
|
indent_size = 2
|
|
|
|
# JSON files
|
|
[*.json]
|
|
indent_size = 2
|
|
|
|
# YAML files
|
|
[*.{yml,yaml}]
|
|
indent_size = 2
|
|
|
|
# Markdown files
|
|
[*.md]
|
|
trim_trailing_whitespace = false
|
|
|
|
# Shell scripts
|
|
[*.sh]
|
|
end_of_line = lf
|
|
|
|
# Dotnet code style settings
|
|
[*.{cs,vb}]
|
|
|
|
# Code quality
|
|
dotnet_code_quality_unused_parameters = all:suggestion
|
|
dotnet_style_readonly_field = true:suggestion
|
|
|
|
# Organize usings
|
|
dotnet_separate_import_directive_groups = false
|
|
dotnet_sort_system_directives_first = true
|
|
|
|
# Language keywords vs BCL types preferences
|
|
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
|
|
dotnet_style_predefined_type_for_member_access = true:warning
|
|
|
|
# Parentheses preferences
|
|
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
|
|
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
|
|
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
|
|
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
|
|
|
|
# Modifier preferences
|
|
dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
|
|
|
|
# Expression-level preferences
|
|
dotnet_style_coalesce_expression = true:suggestion
|
|
dotnet_style_collection_initializer = true:suggestion
|
|
dotnet_style_explicit_tuple_names = true:suggestion
|
|
dotnet_style_null_propagation = true:suggestion
|
|
dotnet_style_object_initializer = true:suggestion
|
|
dotnet_style_prefer_auto_properties = true:suggestion
|
|
dotnet_style_prefer_compound_assignment = true:suggestion
|
|
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
|
|
dotnet_style_prefer_conditional_expression_over_return = true:silent
|
|
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
|
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
|
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
|
|
|
# C# files
|
|
[*.cs]
|
|
|
|
# Var preferences
|
|
csharp_style_var_elsewhere = true:suggestion
|
|
csharp_style_var_for_built_in_types = true:suggestion
|
|
csharp_style_var_when_type_is_apparent = true:suggestion
|
|
|
|
# Expression-bodied members
|
|
csharp_style_expression_bodied_accessors = true:silent
|
|
csharp_style_expression_bodied_constructors = false:silent
|
|
csharp_style_expression_bodied_indexers = true:silent
|
|
csharp_style_expression_bodied_lambdas = true:silent
|
|
csharp_style_expression_bodied_local_functions = false:silent
|
|
csharp_style_expression_bodied_methods = false:silent
|
|
csharp_style_expression_bodied_operators = false:silent
|
|
csharp_style_expression_bodied_properties = true:silent
|
|
|
|
# Pattern matching preferences
|
|
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
|
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
|
csharp_style_prefer_switch_expression = true:suggestion
|
|
|
|
# Null-checking preferences
|
|
csharp_style_conditional_delegate_call = true:suggestion
|
|
|
|
# Modifier preferences
|
|
csharp_prefer_static_local_function = true:suggestion
|
|
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
|
|
|
|
# Code-block preferences
|
|
csharp_prefer_braces = true:silent
|
|
csharp_prefer_simple_using_statement = true:suggestion
|
|
|
|
# Expression-level preferences
|
|
csharp_prefer_simple_default_expression = true:suggestion
|
|
csharp_style_deconstructed_variable_declaration = true:suggestion
|
|
csharp_style_inlined_variable_declaration = true:suggestion
|
|
csharp_style_pattern_local_over_anonymous_function = true:suggestion
|
|
csharp_style_prefer_index_operator = true:suggestion
|
|
csharp_style_prefer_range_operator = true:suggestion
|
|
csharp_style_throw_expression = true:suggestion
|
|
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
|
|
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
|
|
|
|
# Formatting rules
|
|
csharp_new_line_before_catch = true
|
|
csharp_new_line_before_else = true
|
|
csharp_new_line_before_finally = true
|
|
csharp_new_line_before_members_in_anonymous_types = true
|
|
csharp_new_line_before_members_in_object_initializers = true
|
|
csharp_new_line_before_open_brace = all
|
|
csharp_new_line_between_query_expression_clauses = true
|
|
|
|
# Indentation preferences
|
|
csharp_indent_block_contents = true
|
|
csharp_indent_braces = false
|
|
csharp_indent_case_contents = true
|
|
csharp_indent_case_contents_when_block = true
|
|
csharp_indent_labels = one_less_than_current
|
|
csharp_indent_switch_labels = true
|
|
|
|
# Space preferences
|
|
csharp_space_after_cast = false
|
|
csharp_space_after_colon_in_inheritance_clause = true
|
|
csharp_space_after_comma = true
|
|
csharp_space_after_dot = false
|
|
csharp_space_after_keywords_in_control_flow_statements = true
|
|
csharp_space_after_semicolon_in_for_statement = true
|
|
csharp_space_around_binary_operators = before_and_after
|
|
csharp_space_around_declaration_statements = false
|
|
csharp_space_before_colon_in_inheritance_clause = true
|
|
csharp_space_before_comma = false
|
|
csharp_space_before_dot = false
|
|
csharp_space_before_open_square_brackets = false
|
|
csharp_space_before_semicolon_in_for_statement = false
|
|
csharp_space_between_empty_square_brackets = false
|
|
csharp_space_between_method_call_empty_parameter_list_parentheses = false
|
|
csharp_space_between_method_call_name_and_opening_parenthesis = false
|
|
csharp_space_between_method_call_parameter_list_parentheses = false
|
|
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
|
|
csharp_space_between_method_declaration_name_and_open_parenthesis = false
|
|
csharp_space_between_method_declaration_parameter_list_parentheses = false
|
|
csharp_space_between_parentheses = false
|
|
csharp_space_between_square_brackets = false
|
|
|
|
# Wrapping preferences
|
|
csharp_preserve_single_line_blocks = true
|
|
csharp_preserve_single_line_statements = true
|
|
|
|
# Naming conventions
|
|
dotnet_naming_rule.interfaces_should_be_prefixed_with_i.severity = warning
|
|
dotnet_naming_rule.interfaces_should_be_prefixed_with_i.symbols = interface
|
|
dotnet_naming_rule.interfaces_should_be_prefixed_with_i.style = begins_with_i
|
|
|
|
dotnet_naming_rule.types_should_be_pascal_case.severity = warning
|
|
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
|
|
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
|
|
|
|
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = warning
|
|
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
|
|
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
|
|
|
|
dotnet_naming_symbols.interface.applicable_kinds = interface
|
|
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
|
dotnet_naming_symbols.interface.required_modifiers =
|
|
|
|
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
|
|
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
|
dotnet_naming_symbols.types.required_modifiers =
|
|
|
|
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
|
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
|
dotnet_naming_symbols.non_field_members.required_modifiers =
|
|
|
|
dotnet_naming_style.pascal_case.required_prefix =
|
|
dotnet_naming_style.pascal_case.required_suffix =
|
|
dotnet_naming_style.pascal_case.word_separator =
|
|
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
|
|
|
dotnet_naming_style.begins_with_i.required_prefix = I
|
|
dotnet_naming_style.begins_with_i.required_suffix =
|
|
dotnet_naming_style.begins_with_i.word_separator =
|
|
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|