Skip to main content

Frequently Asked Questions

Is this safe for production use?

While Katachi is still a young project, we're maniacs about reliable tools.

  • The comparison logic is feature complete.
  • There are zero runtime dependencies.
  • There are zero hidden side effects.
  • Our test suite requires 100% coverage by line and by logic branch.
  • The only shared state in the project is the Katachi::Shape library.
  • We have a strict semantic versioning policy, using epoch.major.minor.patch versioning.
    • Every breaking change will receive at least a major version bump.
    • Epoch versioning will be more for "marketing level events" (e.g. "Katachi 1.0 is released!").
    • a.k.a. No equivocating about "is this worth a major version bump?"
  • For code quality tools, we threw the kitchen sink at it:

Why should I use this instead of tool_name_here?

Honestly?

Katachi is designed to be a foundation for other integrations.

If there's a tool you'd like to see Katachi integrated with, please let us know!

We have RSpec and Minitest integrations, and though we think they're cool they were never the finish line.

We're excited to see what else we can build on top of Katachi.

Here are some of the ideas already floating around:

  • ActiveRecord#validates_shape_of to handle validations
  • ActiveController#permit_shape_params to handle strong parameters
  • katachi-ts for TypeScript type generation
  • katachi-zod for Zod schema generation
  • katachi-openapi for OpenAPI schema generation & testing