CtrlK
BlogDocsLog inGet started
Tessl Logo

nicholasjackson/terraform-plugin-framework

Comprehensive documentation and best practices for building Terraform providers with terraform-plugin-framework (v1.17.0). Covers providers, resources, schemas, types, validators, testing, and common pitfalls.

Overall
score

97%

Overview
Eval results
Files

rubric.jsonevals/scenario-5/

{
  "context": "Evaluates whether the agent correctly implements a provider-defined function with proper Definition, Run method, error handling, and tests.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Function interface",
      "description": "The function type implements function.Function interface with Metadata, Definition, and Run methods",
      "max_score": 10
    },
    {
      "name": "Metadata name",
      "description": "Metadata method sets resp.Name to parse_id",
      "max_score": 5
    },
    {
      "name": "Definition parameters",
      "description": "Definition has a Summary, Description, one StringParameter for the input, and a StringReturn for the result",
      "max_score": 15
    },
    {
      "name": "Run reads arguments",
      "description": "Run method reads the input argument using req.Arguments.Get and checks for errors using function.ConcatFuncErrors or direct error check",
      "max_score": 10
    },
    {
      "name": "Run parsing logic",
      "description": "Run method splits the input string on colon and returns the name portion (second part) via resp.Result.Set",
      "max_score": 10
    },
    {
      "name": "Run error handling",
      "description": "Run method returns a function error (using function.NewArgumentFuncError or function.NewFuncError) when the input format is invalid",
      "max_score": 15
    },
    {
      "name": "Provider registration",
      "description": "Provider implements ProviderWithFunctions interface with a Functions method that returns the parse_id function",
      "max_score": 15
    },
    {
      "name": "Unit test",
      "description": "A unit test exists that constructs RunRequest with function.NewArgumentsData, calls Run, and asserts the result for both valid and invalid inputs",
      "max_score": 15
    },
    {
      "name": "Correct imports",
      "description": "Code imports the function package from terraform-plugin-framework (github.com/hashicorp/terraform-plugin-framework/function)",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i nicholasjackson/terraform-plugin-framework@0.1.6

README.md

tile.json