FAQ

Questions engineers actually ask.

Direct answers. No hedging.

Isn't this just spec-driven development?

Same intent, different implementation. It shares the idea of defining requirements before implementation. Specifications can already be formal or executable. ModelHike's distinction is a typed, versioned Source Model with tooling for validation, inspection, dependency analysis, and blueprint-based generation. The model stays useful after the first generation.

Why not use AI to generate the implementation directly?

For behavior outside the model's coverage, you should; AI is excellent at exploration and judgment. But settled decisions — API structure, DTOs, persistence wiring, standard CRUD — don't benefit from being re-derived probabilistically each run. ModelHike splits the work: AI helps define the model; the compiler applies rules it already knows.

Isn't source code already the source of truth?

Yes, for what the implementation actually does. But understanding one business decision may require tracing several files and framework conventions. A Source Model makes supported definitions explicit and reviewable alongside the code, not a replacement for checking it.

How is ModelHike different from UML and Model Driven Architecture?

It builds on model-driven ideas rather than claiming to have invented them. Its approach is a Markdown-inspired text language, versioned in your repository, with CLI/MCP tooling and framework-specific blueprints. The important tradeoff is scope: model what becomes clearer, and leave implementation complexity in code.

How is ModelHike different from a business rules engine?

Rules engines evaluate or execute specific kinds of rules at runtime. ModelHike models broader application structure — entities, relationships, APIs, supported behavior — and compiles it into application source code. It's a generator of applications, not a runtime evaluator of rules.

Does ModelHike replace application programming?

No. Domain algorithms, infrastructure details, and implementation-specific techniques stay in ordinary code — that's the design, not a gap. Model what benefits from explicit semantics; code what's better expressed imperatively.

Can I write custom algorithms?

Yes. Use conventional code for algorithms and behavior outside blueprint coverage. The DSL also supports method declarations and logic blocks; whether those become executable implementation depends on the target blueprint.

How much of the application can it model?

Application structure and supported behavior: containers, modules, entities, properties, references, methods, and API declarations. Coverage depends on the model features and the target blueprint; anything unsupported stays in code.

Can it guarantee correctness?

No. Typed models reduce ambiguity for supported concepts, and validation catches structural and semantic errors early — but nothing makes an incorrect specification correct. Tests and review remain essential.

Does deterministic compilation eliminate code review?

No. Review the modeled decision, inspect the generated implementation, and test its behavior. Established blueprints can make repetitive changes easier to inspect; determinism alone does not prove correctness or reduce review effort.

What happens if the model is wrong?

Validation catches some structural and semantic errors. A valid model can still describe the wrong application, and generation will not correct that. Review the model and test the resulting software.

Can I modify the generated code?

Yes. No code cage: it's conventional source you can inspect, test, and customize. Direct edits aren't guaranteed to survive regeneration. Preserve recurring changes through the model or blueprint where supported; AI can assist that work, but reconciliation is not automatic.

Can I switch implementation frameworks?

That's the architecture's purpose: models are separate from blueprints, and two blueprints exist today. Frameworks have different capabilities; a model preserves supported application definitions — it doesn't eliminate migration work.

What frameworks are supported today?

api-nestjs-monorepo (NestJS + TypeScript: REST APIs, CQRS, MongoDB) and api-springboot-monorepo (Spring Boot 3.x + Java: GraphQL, reactive WebFlux, MongoDB). The DSL is target-agnostic; new blueprints are folders of templates.

How does ModelHike work with AI agents?

Via an MCP server over stdio and a JSON-native Smart CLI. Agents draft models, then validate → diagnose → fix → explain autonomously with structured diagnostics; humans step in to approve. Twelve MCP tools cover the loop: validate, generate, dry-run, inline-generate, explain, inspect, what-depends-on, list-types, fix, preflight, list-blueprints, dsl-schema-in-markdown.

Is ModelHike open source?

Yes — MIT licensed, developed in the open on GitHub.

What is Model-Native Development?

Treating the application model as a first-class engineering artifact across the lifecycle: typed, versioned, machine-readable, and used for validation, inspection, impact analysis, and generation — not a planning document discarded when coding starts.

When is a separate Source Model not worthwhile?

Throwaway prototypes, single-endpoint utilities, unexplored domains in heavy flux, and apps whose complexity is purely algorithmic gain little from a modeling layer. The model earns its keep when structure, relationships, and change over time dominate — as in real business applications.

What's in it for the business?

Business knowledge in versioned, reviewable artifacts instead of buried in implementation. Review business-level changes without reading every diff. Automate repeatable structure through blueprints. Reuse proven patterns. Keep the option to change implementation technology. No ROI claims — the value is safer, more understandable change.

What's next for ModelHike?

Richer outcome and constraint modeling: describing what the business promises — a payment authorized, a refund within limits — without prescribing every algorithm. This is the direction of the project, not a shipped feature.

Your spec was a prompt. Make it source.

ModelHike — Own the WHAT. Automate the HOW.