Releases: nchaugen/tabletest-claude-plugin
Releases · nchaugen/tabletest-claude-plugin
Release list
v1.6.0
Added
- table-driven-testing: New skill for writing table-driven tests outside the JVM — pytest
parametrize(Python), Swift Testing@Test(arguments:), Jest/Vitesttest.each, Go table-driven subtests, and xUnit[Theory](C#)- Framework mechanics per ecosystem: named cases everywhere (
pytest.param(id=...), Go subtest names, Jest interpolated titles), per-framework "regardless of" combination patterns, and the Swift Testing cartesian-product footgun (multiple collections passed toarguments:combine, they don't pair) - The same table-design principles as the tabletest skill, applied language-agnostically: decompose concerns into separate parameterised tests, make thresholds visible in the rows, cover every tier and both sides of every boundary, name scenarios by condition (never with the outcome appended), keep expected values literal (no named constants), and give expected-error cases their own test
- Deliver-don't-ask ambiguity policy: choose the most reasonable interpretation, state it, and deliver complete tests
- Framework mechanics per ecosystem: named cases everywhere (
- Plugin: description and keywords updated to cover the third skill
Changed
- Routing: requests for "table-driven tests" on Java/Kotlin projects now route reliably to the tabletest skill — the new skill's description explicitly defers to it
v1.5.0
Added
- tabletest: Ambiguity policy for writing tests from a feature description — proceed with the most reasonable interpretation and record assumptions and open questions in
@Description, rather than stopping to ask clarifying questions - tabletest: Worked example for collapsing an optional-field parameter object (constructor, setters, or builder) into a single map column with a
@TypeConvertersupplying defaults - tabletest: "Let tables drive the API decomposition" — if a row needs a helper fabricating raw data to reach a derived input value, target a narrower function; cheap rows signal a well-placed table
- tabletest: Conversion workflow now finishes the migration — replace the old framework's matchers, remove its imports and build-file dependencies (with matching quality check)
- tabletest: Value-set guidance covers both axes — grouping same-outcome values within a row and collapsing duplicate rows for interchangeable inputs; every tier expressed as one row including both boundary values
Changed
- tabletest: Quality checks tightened — no
if/switch/ternary in test methods including null-guards (defaulting belongs in a@TypeConverteror helper); a lone error/null/empty case belongs as a table row with aThrows?column, not a separate@Test; date cutoffs prefer descriptive relative values or a cutoff column
v1.3.0
Changes
Changed
- tabletest: Simplified pre-check — dependency and shape checks rewritten as readable prose rather than a prescriptive checklist
- tabletest: Improved skill trigger description so the skill activates on value-set, type-converter, and column-design questions even when the user doesn't say "TableTest" explicitly
- tabletest: Pair programming guidance extracted to
references/pair-programming.md; SKILL.md retains the key habit (show a mockup first) with a pointer to the full cadence - spec-by-example: Improved skill trigger description — now activates on vague requirements and mid-implementation edge cases, not just upfront spec work
- spec-by-example: Expanded value-set guidance with a dedicated state/status example (
{PENDING, CONFIRMED}) and an explicit callout that blank and value-set mean different things and must not be conflated - spec-by-example: Clearer handoff section linking to
/tabletestwith column-translation notes
Added
- tabletest: Date format limitation warning — built-in
LocalDate/LocalDateTimeconversion handles ISO 8601 only; non-standard formats require a@TypeConverter - Plugin: Updated description to cover both skills; keywords updated (
spec-by-example,example mappingadded;fit,acceptance testingremoved)
Full changelog: https://github.com/nchaugen/tabletest-claude-plugin/blob/main/CHANGELOG.md
v1.2.0
Added
- Spec-by-example skill (
/spec-by-example) for clarifying behaviour with multiple cases or rules through concrete example tables- Elicitation workflow: naming the concern, finding the first example, identifying columns, probing for edge cases and irrelevant inputs
- Example table design principles: one concern per table, business language throughout, concrete domain values, traceable outputs, thresholds visible as columns, conditions as scenario names
- Multiple-table guidance: when to split, how to let additional tables emerge naturally
- Bridge from example table to
@TableTest: direct column mapping, value set carry-over, handoff to/tabletestskill - Quality checklist for example tables
v1.1.0
Added
- Non-obvious built-in type conversions reference table (enums, hex/octal integers,
Class<?>variants,Duration,Period,Currency,Locale) - Minimal quoting strategy: start without quotes, add only where needed
- Guidance on quoting inside collection elements rather than wrapping the whole collection
- Newline handling in table values (
\\n+ manual replace in test method) - Set
{}vs List[]common mistake callout - Single-scenario
@TableTestexception in pre-check - Guidance on when NOT to use TableTest (trivial implementations, complex setup, already covered by integration tests)
- New advanced design pattern: separate tables when column sets diverge
- New common pattern: static constants for readable expected values (e.g. ANSI codes)
v1.0.0
Added
- TableTest skill for writing and converting JUnit tests to TableTest format
- Reference guides: dependency setup, value sets, type converters, column design, common patterns, large tables, example patterns, async and performance, provided parameters, advanced table design, incremental development, consolidating tests, testing reveals bugs