Skip to main content
Glama

tailtest-cline

당신은 빌드하고, 우리는 커버합니다. 8개 이상의 에디터에서 동시에.

tailtest-cline은 에이전트가 소스 파일을 수정할 때마다 자동으로 테스트를 생성하고 실행하는 Cline 플러그인입니다. 다른 tailtest 변형들과 동일한 R1-R15 규칙 계층을 사용합니다. 첫날부터 적대적 테스트 모드(V13)가 제공되었습니다.

Cline 지원 범위: VS Code, Cursor, JetBrains IDE, Antigravity, Zed, Neovim, VSCodium, Windsurf 및 Cline CLI. 하나의 플러그인으로 8개 이상의 에디터를 지원합니다.

전체 문서는 tailtest.com/docs/cline 에서 확인하세요

다른 변형들과의 차이점

Cline에는 훅(Claude Code의 PostToolUse, Cursor의 afterFileEdit, Codex의 Stop)이 없습니다. 대신 tailtest-cline은 세 가지 Cline 네이티브 프리미티브를 사용합니다:

  • .clinerules/ 규칙 계층(R1-R14 + R15 적대적 모드)을 포함합니다.

  • tailtest-mcp 서버(본 저장소)는 에이전트를 위한 구조화된 도구(tailtest_setup, tailtest_scenario_plan, tailtest_classify_failures, tailtest_pick_template, tailtest_ping)를 제공합니다.

  • 메모리 뱅크(tailtestContext.md)는 Cline 세션 전반에 걸쳐 프로젝트별 프로필을 유지합니다.

결정론적 정책(깊이 계층, R15 적대적 횟수, 프레임워크 템플릿, 파일 경로)은 규칙 텍스트가 아닌 MCP 서버 코드에 존재합니다. 에이전트는 긴 세션 동안 규칙을 기억하는 대신 필요할 때 도구를 호출하여 스캐폴딩을 생성합니다.

Related MCP server: OpenTester

설치

세 가지 설치 경로:

1. Cline MCP 마켓플레이스 (권장; 클릭 한 번)

IDE 내에서 Cline의 확장 프로그램 패널을 엽니다. tailtest를 검색하고 설치를 클릭합니다. Cline이 자동으로 복제, 종속성 설치, cline_mcp_settings.json에 서버 등록을 수행합니다.

2. GitHub 직접 설치

Cline의 MCP 서버 설치 대화 상자에 https://github.com/avansaber/tailtest-cline을 붙여넣습니다. Cline이 동일한 복제 + 설치 + 등록 과정을 수행합니다.

3. 수동 cline_mcp_settings.json 편집

{
  "mcpServers": {
    "tailtest": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/tailtest-cline/mcp_server",
      "alwaysAllow": [
        "tailtest_ping",
        "tailtest_scenario_plan",
        "tailtest_classify_failures",
        "tailtest_pick_template"
      ]
    }
  }
}

첫 실행

설치 후 Cline 채팅에 **"set up tailtest in this project"**라고 입력하세요.

Cline이 tailtest_setup을 호출합니다. 이 도구는 언어/프레임워크/러너를 감지하고, .clinerules/를 작성하며, .clinerules/workflows/를 작성하고, memory-bank/tailtestContext.md를 시드하며, .tailtest/config.json + .tailtest/session.json을 초기화합니다. 멱등성을 가지므로 기존 파일은 보존됩니다.

중요: Cline은 대화 중간에 .clinerules를 자동으로 다시 로드하지 않습니다. 활성화하려면 새 대화를 시작하거나(또는 창을 새로고침) 하세요.

두 가지 작동 모드

수동 모드 (기본값)

테스트 주기를 명시적으로 호출합니다:

  • /tailtest-test <file> -- 특정 파일에 대해 주기 실행

  • /tailtest hunt <file> -- 특정 파일에 대해 일회성 적대적 패스 실행

  • 또는 자연어 ("방금 수정한 파일 테스트해 줘")

각 단계(파일 쓰기, 터미널 명령, MCP 호출)마다 승인을 요청합니다. 처음 사용하는 사용자에게 더 안전한 기본값입니다.

자동 모드 (옵트인)

Cline의 자동 승인(파일 편집(작업 공간), 안전한 명령 실행, MCP 서버 사용)을 활성화하세요. 그런 다음 /tailtest-mode auto를 실행하고 새로고침합니다. 모든 편집 후 tailtest가 자동으로 테스트 주기를 실행합니다.

계획 / 실행 모드 (Cline 네이티브 UX 보너스)

Cline의 계획/실행 토글은 tailtest의 SCENARIO PLAN 규칙에 매핑됩니다. 계획 모드는 SCENARIO PLAN(읽기 전용)을 생성하고, 검토 및 수정하며, 실행 모드는 테스트 파일을 작성하고 실행한 뒤 R12 분류를 적용합니다. 중요한 파일에 권장됩니다.

구성

.tailtest/config.json:

{
  "depth": "standard",
  "mode": "manual"
}

깊이 옵션:

  • simple -- 2-3개의 해피 패스 시나리오

  • standard -- 2개 이상의 적대적 프로브를 포함한 5-8개의 시나리오 (기본값)

  • thorough -- 4개 이상의 적대적 프로브를 포함한 10-15개의 시나리오

  • adversarial -- 파손에 편향된 8-12개의 시나리오

모든 옵션은 tailtest.com/docs/config를, 적대적 모드 세부 정보는 tailtest.com/docs/adversarial을 참조하세요.

다른 tailtest 변형

동일한 R1-R15 규칙 계층, 동일한 적대적 테스트 모드, 다른 호스트 통합. 이 저장소는 Cline 변형입니다.

이 변형에 대한 실시간 가이드는 tailtest.com/demo/cline을, 4가지 모두에 대한 기능 매트릭스는 tailtest.com/comparison을 참조하세요.

라이선스

MIT.

Available Tools

5 tools
tailtest_classify_failuresA

Parse runner output (pytest, jest, etc.) into structured failure records and apply heuristic R12 classification. Returns failures with type (real_bug / environment / test_bug / unknown), reason, test name, file, line, error type, message, and a summary count per R12 category. The agent verifies or overrides the heuristic when context warrants.

ParametersJSON Schema
NameRequiredDescriptionDefault
runner_outputYesStdout (and optionally stderr) from the test runner.
runnerNoRunner name. Defaults to pytest.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavior. It details the return fields (type, reason, test name, etc.) and mentions the agent can verify/override. It does not mention side effects, which seems acceptable for a read-only classification. Could note that no state is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each adding essential information: what it does, what it returns, and how the agent interacts. No unnecessary words, front-loaded with the main action. Highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description fully covers the return value details (fields and categories). It explains the heuristic and agent override capability. No gaps are apparent for the tool's complexity. Enough for an agent to correctly invoke and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The description confirms the 'runner' parameter defaults to pytest, which is already in the schema. It does not add significant new meaning beyond the schema, but it does tie parameters to the overall classification context, earning a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: parsing runner output and applying heuristic R12 classification. It specifies the exact resources (runner output, runner) and outputs (failure types, categories). The tool distinguishes well from siblings (none involve classification).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: use when you have test runner output to classify. It does not explicitly exclude scenarios or name alternatives, but sibling tools are clearly different (template, ping, plan, setup), so confusion is low. A brief 'when not to use' would improve it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tailtest_pick_templateA

Return the full framework R2 template for a given source file: language baseline scenarios, framework baseline scenarios, framework-specific test pattern (e.g., NestJS Test.createTestingModule, Spring @WebMvcTest, Flask test_client), and test file path pattern. Returns just language baseline when no framework matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesRelative or absolute path to the source file under test.
project_rootNoProject root directory. Defaults to the current working directory.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility. It discloses the fallback behavior ('Returns just language baseline when no framework matches') and describes the output components. However, it does not mention error conditions or side effects, but given the read-only nature, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, starts with the verb 'Return', and contains zero redundant information. Every phrase contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two parameters and no output schema, the description adequately explains the return value and the fallback. It lacks mention of error cases or supported languages, but is otherwise complete for a straightforward read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the parameter descriptions are minimal. The tool description adds value by explaining that the output is determined by the file_path and project_root, and contextually connects parameters to the template resolution. This goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a framework R2 template for a given source file, listing specific components (language baseline scenarios, framework baseline scenarios, etc.). This is a specific verb+resource and differentiates from sibling tools like tailtest_classify_failures.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for picking a template for a source file but does not explicitly state when to use this tool versus alternatives. It lacks guidance on when not to use or naming sibling tools for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tailtest_pingA

Health check. Returns server version and confirms the MCP server is reachable.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but the description honestly discloses the read-only nature and return of server version. No hidden behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence with no redundancy, efficiently conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple ping tool with no parameters or output schema, the description fully covers its behavior and return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; schema coverage is 100%. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a health check that returns server version and confirms reachability, distinguishing it from sibling tools like classification or setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied as a health check, but no explicit guidance on when to use vs alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tailtest_scenario_planA

Return structured scaffolding the agent uses to write its SCENARIO PLAN: language, framework, depth, R15 adversarial count requirement, language and framework baseline scenarios, test file path, and prose instructions. The agent uses this scaffolding to compose the actual SCENARIO PLAN scenario lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesRelative or absolute path to the source file under test.
project_rootNoProject root directory. Defaults to the current working directory.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It details the returned content but does not disclose side effects, permissions, or whether the operation is read-only. It is adequate but lacks depth on behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose, and efficiently lists all components without redundancy or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lists the fields returned but does not specify the output format (e.g., JSON structure) or address error cases. Given no output schema, the agent may need to infer the structure, but the listing is helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions already cover file_path and project_root with 100% coverage. The description does not add additional meaning beyond what the schema provides, so it is at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'structured scaffolding' for writing a scenario plan, listing specific components like language, framework, depth, R15 adversarial count, baseline scenarios, test path, and instructions. It distinguishes from sibling tools by focusing on scaffolding generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context that the scaffolding is used before composing the actual scenario plan, but it does not explicitly exclude other uses or compare with alternatives like other tailtest tools. The usage is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tailtest_setupA

Bootstrap entry point for tailtest in a Cline project. Detects language / framework / runner, writes the .clinerules/ rule pack, writes .clinerules/workflows/ slash workflows, seeds Memory Bank with tailtestContext.md (a 7th file alongside the 6 core ones; existing files are not overwritten), and initialises .tailtest/config.json + session.json. Returns a structured report including the user-facing 'reload required' warning (Cline does not auto-reload .clinerules mid-conversation).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_rootNoProject directory. Defaults to the current working directory.
modeNomanual (default): user invokes /tailtest-test after edits. auto: tailtest fires after every edit (requires Cline auto-approve).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description fully carries the burden. It discloses all major effects: file creation (rules, workflows, memory bank, configs), non-overwriting of existing files, and the reload warning. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3-4 sentences) yet packed with information. It front-loads the main purpose and each sentence serves a clear role without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description partially explains the return value (structured report with reload warning) but omits details about report fields or structure. For a tool that modifies multiple files, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds valuable context beyond the schema by explaining the implications of the mode parameter (manual vs. auto) and what triggers each. This adds semantic richness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as the bootstrap entry point for tailtest, listing specific actions like detecting language, writing rule packs, and initializing configs. It is distinctly different from sibling tools (classify, pick, ping, scenario plan).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as the first step in tailtest setup, but it does not explicitly state when to use or avoid it. It provides clear context but lacks explicit exclusions or alternative tool guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.1
    • First observedtailtest_classify_failures
    • First observedtailtest_pick_template
    • First observedtailtest_ping
    • First observedtailtest_scenario_plan
    • First observedtailtest_setup

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool serves a distinct purpose: setup, health check, template selection, scenario planning, and failure classification. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with the prefix 'tailtest_' and a verb_noun structure (e.g., tailtest_classify_failures, tailtest_pick_template). No deviations.

Tool Count5/5

With 5 tools, the server is tightly scoped to test analysis and scaffolding. Each tool earns its place without being too few or too many for the domain.

Completeness4/5

The tools cover setup, health, template selection, scenario planning, and failure classification. While not a full test framework, it appears complete for its intended planning/analysis purpose. Minor gap: no tool for running tests or generating code.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    OpenTester is a testing execution engine designed for AI coding tools (Claude Code, Cursor, OpenCode, etc.). It provides a unified DSL format and MCP interface, enabling Agents to generate, execute, and manage test cases, achieving an automated "code-test-fix" workflow.
    28
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Agentic code-quality CLI and stdio MCP server that runs real Python and JS/TS quality engines (Ruff, pytest, ESLint, Prettier, Vitest, etc.) for linting, testing, and reviewing code.
    79
    MIT