Welcome to SigilJS Discussions! #1
weipertda
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hey everyone! Welcome to the SigilJS discussions page.
SigilJS is an early-stage JavaScript project exploring a simple but important idea:
The goal is to let developers define structure once, then use that structure for runtime validation, parsing, transformation, documentation, and future projections such as JSON Schema, TypeScript, and OpenAPI.
In other words:
What is SigilJS?
SigilJS is a runtime contract system for JavaScript.
A sigil is not just a passive schema. It is intended to be a contract object. Something your program can use to understand, enforce, transform, and eventually project data across system boundaries.
Example:
SigilJS is meant for places where runtime data crosses a boundary:
The deeper idea is:
Why build this?
JavaScript has always had a gap between the structures we expect and the data we actually receive at runtime.
TypeScript helps tremendously during development, but runtime data still needs to be checked when it enters the system.
SigilJS is exploring a contract-first approach:
Define → Enforce → Transform → ProjectDefine
Declare structure in plain JavaScript.
Enforce
Validate, parse, and assert runtime data.
Transform
Normalize data into a trusted shape.
Project
Generate other structural representations from the same contract.
Projection is the part that makes this more than a validation library.
The long-term vision is that one contract could eventually support:
Current status
SigilJS is early and evolving quickly.
The package is currently published as:
or:
The project is not trying to be “Zod, but different syntax.”
Zod is excellent and mature.
SigilJS is exploring a different direction:
Zod: Builder-style validation API
SigilJS: Executable contract objects with projection as a core goal
What kind of feedback is welcome?
I would especially love feedback on:
1. API design
2. Contract model
3. Projection
4. Boundary use cases
5. Naming and positioning
Discussion categories I’d like to see
Please feel free to start discussions around:
Closing thought
SigilJS is still early, but the goal is serious:
Not just validation. Not just schemas.
Executable contracts that can define, enforce, transform, and project structure across the places where real applications meet uncertain data.
Thanks for checking it out. I’d love your thoughts. 😎
All reactions