tenets:
  - name: context-first-arg
    flows:
      codelingo/docs:
        title: Context as First Argument
        body: |
          Values of the context.Context type carry security credentials, tracing information, 
          deadlines, and cancellation signals across API and process boundaries. Go programs 
          pass Contexts explicitly along the entire function call chain from incoming RPCs 
          and HTTP requests to outgoing requests.

          Most functions that use a Context should accept it as their first parameter.
      codelingo/review:
        comment: |
          Most functions that use a Context should accept it as their first parameter. 
          Consider moving Context to the front.
    query: |
      import codelingo/ast/go
      
      go.field_list(depth = any):
        sibling_order == 0
        go.field:
          go.names:
            go.ident
          @review comment
          go.selector_expr:
            go.ident:
              name == "context"
            go.ident:
              name == "Context"
tenets:
  - name: context-first-arg
    flows:
      codelingo/docs:
        title: Context as First Argument
        body: |
          Values of the context.Context type carry security credentials, tracing information, 
          deadlines, and cancellation signals across API and process boundaries. Go programs 
          pass Contexts explicitly along the entire function call chain from incoming RPCs 
          and HTTP requests to outgoing requests.

          Most functions that use a Context should accept it as their first parameter.
      codelingo/review:
        comment: |
          Most functions that use a Context should accept it as their first parameter. 
          Consider moving Context to the front.
    query: |
      import codelingo/ast/go
      
      go.field_list(depth = any):
        sibling_order == 0
        go.field:
          sibling_order == 0
          go.names:
            go.ident
          @review comment
          go.selector_expr:
            go.ident:
              name == "context"
            go.ident:
              name == "Context"
Exclude first param in list as it is valid
Exclude first param in list as it is valid
