
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
skemabase-cli
Advanced tools
Command-line interface for parsing plain-English database schemas and generating SQL or JSON IR.
Define database schemas using plain English.
Parse skemabase into JSON IR, SQL DDL, ORM migrations, and diagrams.
<Entity> has attributes: <name>[:<type>] [unique] [not null] [default <expr>], …
<Entity> has many <Target>
<Entity> has one <Target>
<Entity> belongs to <Target>
<Entity> has and belongs to many <Target>
<Schema> ::= <Statement>*
<Statement> ::= <EntityDecl> | <AttrDecl> | <RelDecl>
<EntityDecl> ::= <Identifier>
<AttrDecl> ::= <Identifier> "has attributes:" <AttrList>
<AttrList> ::= <Attr> ("," <Attr>)*
<Attr> ::= <Name> [":" <Type>] ["unique"] ["not null"] ["default" <Expr>]
<RelDecl> ::= <Identifier> <RelType> <IdentifierList>
<RelType> ::= "has many" | "has one" | "belongs to" | "has and belongs to many"
<IdentifierList> ::= <Identifier> ("," <Identifier>)*
npm install -g skemabase-cli
npm install skemabase-js
skemabase parse schema.sb --output schema.json
skemabase generate sql schema.sb --dialect postgresql --output schema.sql
Supports relationships (belongs_to, has_many, has_one, habtm) and constraints.
skemabase generate diagram schema.sb --format mermaid --output schema.mmd
Generate a Mermaid ER diagram from the schema.
To quickly generate Mermaid ER diagrams for all example schemas, run:
bash scripts/generateExampleDiagrams.sh
$ skemabase --version
0.1.0
Supports relationships defined in the schema (has_many, has_one, belongs_to, has and belongs to many).
import { parse, generateSQL, generateMermaidDiagram } from 'skemabase-js';
const text = `User has attributes: username, email unique
User has many posts`;
const ir = parse(text);
const sql = generateSQL(ir, { dialect: 'postgresql' });
console.log(sql);
// Generate Mermaid ER diagram
const diagram = generateMermaidDiagram(ir);
console.log(diagram);
See docs/Examples.md or the examples/ directory for sample schemas and generated outputs.
See CONTRIBUTING.md for detailed contribution guidelines.
Submit pull requests against the main branch.
Please start a new branch for each phase or feature (e.g., phase-2/schema-parser) before beginning work.
Future work and detailed phase-by-phase tasks are tracked in todo.md.
Refer to todo.md for the current status of Phase 2 and beyond.
For large schemas, consider tuning or streaming parsing and optimizing the IR converter to minimize memory churn and lookups.
See CLI Reference for full usage of the skemabase command-line tool.
MIT License.
See LICENSE for details.
This project follows Semantic Versioning. For the changelog, see CHANGELOG.md.
FAQs
Command-line interface for parsing plain-English database schemas and generating SQL or JSON IR.
We found that skemabase-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.