← back to john182__semana-ia

Function bodies 7 total

All specs Real LLM only Function bodies
readSpecFile function · typescript · L9-L12 (4 LOC)
ia/mcp-spec-server/src/index.ts
function readSpecFile(fileName: string): string {
  const specPath = path.join(process.cwd(), "openspec", fileName);
  return readFileSync(specPath, "utf-8");
}
getSpec function · typescript · L14-L17 (4 LOC)
ia/mcp-spec-server/src/index.ts
function getSpec(featureId: string) {
  const spec = readSpecFile("nfse-serializer.spec.md");
  return { featureId, spec };
}
listAcceptanceCriteria function · typescript · L19-L22 (4 LOC)
ia/mcp-spec-server/src/index.ts
function listAcceptanceCriteria(featureId: string) {
  const criteria = readSpecFile("acceptance-criteria.md");
  return { featureId, criteria };
}
suggestCommitMessage function · typescript · L24-L29 (6 LOC)
ia/mcp-spec-server/src/index.ts
function suggestCommitMessage(featureId: string, changesSummary: string) {
  return {
    featureId,
    conventionalCommit: `feat(${featureId.toLowerCase()}): ${changesSummary}`
  };
}
generateBddTests function · typescript · L31-L62 (32 LOC)
ia/mcp-spec-server/src/index.ts
function generateBddTests(featureId: string, targetLanguage: string) {
  return {
    featureId,
    targetLanguage,
    testingConventions: {
      framework: "xUnit",
      assertions: "Shouldly",
      forbidAssertions: ["Assert.Equal", "Assert.NotNull", "Assert.Null", "Assert.StartsWith", "Assert.Contains"],
      namingPattern: "Given_<context>_Should_<expected_behavior>",
      structure: ["Arrange", "Act", "Assert"]
    },
    requiredScenarios: [
      "documento mínimo válido",
      "documento completo com todos os blocos opcionais",
      "tomador com CPF",
      "tomador com CNPJ",
      "endereço nacional",
      "endereço estrangeiro",
      "totais aproximados por valor",
      "totais aproximados por percentual",
      "sem totais aproximados"
    ],
    examples: [
      {
        testName: "Given_MinimalValidDocument_Should_GenerateValidDpsStructure"
      },
      {
        testName: "Given_CompleteDocument_Should_ContainAllOptionalBlocks"
      }
    ]
  };
}
reviewCodeAgainstSpec function · typescript · L64-L75 (12 LOC)
ia/mcp-spec-server/src/index.ts
function reviewCodeAgainstSpec(featureId: string, changedFiles: string[]) {
  return {
    featureId,
    changedFiles,
    checklist: [
      "Há modelo canônico intermediário?",
      "Regras de negócio estão separadas da montagem XML?",
      "O endpoint da API está alinhado à spec?",
      "Há testes BDD + 3A cobrindo o fluxo mínimo?"
    ]
  };
}
handle function · typescript · L77-L101 (25 LOC)
ia/mcp-spec-server/src/index.ts
function handle(request: ToolRequest) {
  switch (request.tool) {
    case "get_spec":
      return getSpec(String(request.args?.featureId ?? "FEATURE-NFSE-SERIALIZER-001"));
    case "list_acceptance_criteria":
      return listAcceptanceCriteria(String(request.args?.featureId ?? "FEATURE-NFSE-SERIALIZER-001"));
    case "suggest_commit_message":
      return suggestCommitMessage(
        String(request.args?.featureId ?? "FEATURE-NFSE-SERIALIZER-001"),
        String(request.args?.changesSummary ?? "evolve nfse poc")
      );
    case "generate_bdd_tests":
      return generateBddTests(
        String(request.args?.featureId ?? "FEATURE-NFSE-SERIALIZER-001"),
        String(request.args?.targetLanguage ?? "csharp")
      );
    case "review_code_against_spec":
      return reviewCodeAgainstSpec(
        String(request.args?.featureId ?? "FEATURE-NFSE-SERIALIZER-001"),
        Array.isArray(request.args?.changedFiles) ? request.args!.changedFiles as string[] : []
      );
    default: