{"id":26477,"library":"thymian","title":"Thymian","description":"Thymian is an open-source HTTP conformance and API governance tool v0.1.8 (released April 2026, active development with frequent releases every 1-2 weeks). It validates APIs against RFC 9110 and OpenAPI specifications, offering static, live endpoint, and recorded traffic analysis. Key differentiators: language-agnostic, extensible via plugins (npm packages or WebSocket), educational reports explaining RFC semantics, and a unified rule system that works across lint, test, and analyze commands.","status":"active","version":"0.1.8","language":"javascript","source_language":"en","source_url":"https://github.com/thymianofficial/thymian","tags":["javascript","thymian","api","api-governance","api-linter","api-testing","http","http-conformance","linter","typescript"],"install":[{"cmd":"npm install thymian","lang":"bash","label":"npm"},{"cmd":"yarn add thymian","lang":"bash","label":"yarn"},{"cmd":"pnpm add thymian","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package was previously scoped @thymian/cli; as of v0.1.1 it is published as unscoped 'thymian'. Use 'npx thymian' directly.","wrong":"npx @thymian/cli lint --spec openapi:openapi.yaml","symbol":"thymian (CLI)","correct":"npx thymian lint --spec openapi:openapi.yaml"},{"note":"TypeScript types are shipped with the package. Use the unscoped package name. The config interface is exported from 'thymian'.","wrong":"import { ThymianConfig } from '@thymian/cli'","symbol":"ThymianConfig","correct":"import type { ThymianConfig } from 'thymian'"},{"note":"ThymianResult is a type-only export. Use 'import type' to avoid runtime issues.","wrong":"import { ThymianResult } from 'thymian'","symbol":"ThymianResult","correct":"import type { ThymianResult } from 'thymian'"}],"quickstart":{"code":"// 1. Run lint against an OpenAPI spec\nconst { execSync } = require('child_process');\nconst result = execSync('npx thymian lint --spec openapi:openapi.yaml', { encoding: 'utf-8' });\nconsole.log(result);\n\n// 2. Generate a config file\n// Run: npx thymian generate config\n\n// 3. Test a live endpoint\n// Run: npx thymian test --spec openapi:openapi.yaml --target https://api.example.com\n\n// 4. Analyze production traffic (requires HAR plugin)\n// Run: npx thymian analyze --har traffic.har --spec openapi:openapi.yaml","lang":"javascript","description":"Shows typical Thymian CLI commands: lint an OpenAPI spec, generate config, test a live endpoint, and analyze production traffic from a HAR file."},"warnings":[{"fix":"Use --validate-specs instead of --skip-spec-validation.","message":"In v0.1.7 the flag --skip-spec-validation was replaced with --validate-specs. Old flag no longer works.","severity":"breaking","affected_versions":">=0.1.7"},{"fix":"Use 'npx thymian' instead of 'npx @thymian/cli'. Reinstall using 'npm uninstall -g @thymian/cli && npm install -g thymian'.","message":"The scoped package @thymian/cli was replaced by unscoped 'thymian' in v0.1.1. The scoped package is deprecated.","severity":"deprecated","affected_versions":">=0.1.1 <0.1.2"},{"fix":"Add 'plugins: [\"thymian-plugin-har\"]' to your thymian.config.yaml or use '--plugin thymian-plugin-har'.","message":"Plugin HAR loader requires explicit configuration via thymian.config.yaml; it is not enabled by default.","severity":"gotcha","affected_versions":">=0.1.7"},{"fix":"Ensure the target URL is publicly accessible or on the same network; use '--target http://localhost:8080' for local testing.","message":"When using 'thymian test' with a target URL, the target must be reachable from your network (no localhost overlay).","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Update to latest version: 'npx thymian@latest --version' or use 'npx thymian version'.","cause":"Version flag expects a subcommand; run 'npx thymian --version' should work, but if using an older version the flag may not be supported.","error":"npx thymian --version\nerror: unknown command '--version'"},{"fix":"Use 'npx thymian' instead of 'npx @thymian/cli'.","cause":"Using the deprecated scoped package name. The package is now published as 'thymian'.","error":"Error: Cannot find module '@thymian/cli'"},{"fix":"Run 'npm install thymian-plugin-har' or 'npm install -g thymian-plugin-har'.","cause":"The HAR plugin is not installed. It is an optional plugin and must be installed separately.","error":"Error: Failed to load plugin: thymian-plugin-har\n...\nCannot find module 'thymian-plugin-har'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}