AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Full Stack Apis at the speed of light 🚀
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
mion : Full Stack APIs at the speed of light 🚀
mion is a lightweight TypeScript-based framework designed for building serverless APIs. It aims to provide a great developer experience and is optimized for serverless environments. With mion, you can quickly build APIs that are type-safe, with automatic validation and serialization out of the box.
Check Out The Website And Documentation 📚
Serverless applications have different requirements compared to conventional server apps and there are not many frameworks that offer type-safe APIs with automatic validation and serialization by default.README 전문 보기 ↗mion is a lightweight TypeScript-based framework designed for building serverless APIs. It aims to provide a great developer experience and is optimized for serverless environments. With mion, you can quickly build APIs that are type-safe, with automatic validation and JSON round trip out of the box.
Serverless applications have different requirements compared to conventional server apps and there are not many frameworks that offer type-safe APIs with automatic validation and JSON round trip by default.
mion addresses these challenges by offering a lightweight and opinionated framework focused on simplicity and developer experience.
| Status | Name | Description |
|---|---|---|
| ✅ | RPC-like Router | Provides an RPC-style router for handling API requests |
| ✅ | Automatic Validation | Automatically validates data received by the API |
| ✅ | Automatic JSON Round Trip | Data sent by the API comes back as the same values |
| ✅ | AWS Lambda Handler | Seamless integration with AWS Lambda for serverless execution |
| ✅ | HTTP Server | Includes an HTTP server module for handling API requests |
| ✅ | Automatic TypeScript Client | Fully typed client without need of compilation |
mion is designed with a Remote Procedure Call (RPC) style and works exclusively with JSON data. The framework prioritizes quick development, fast startups, and minimal abstractions. It follows a convention-over-configuration approach and focuses on performance and developer experience.
We have prioritized and tracked performance during the development of the framework, we even have many discarded features and experiments when there was a performance degradation compared to previous versions. Our goal is to have similar performance to fastify which we consider the gold standard in node.js frameworks!
For full benchmarks and comparison against other frameworks please visit mion.pages.dev/benchmarks.
We know! benchmarks are just benchmarks, but if you don't keep performance in mind you end up like express 😅
They live in this repository (container/mion-bench/) and are re-run
on every docs deploy against the code on main, so the published numbers never describe an
older release:
mion's router is lightweight and fast. Unlike traditional routers, it uses a Remote Procedure Call (RPC) style of routing. The Http method is not relevant, there are no parameters in the Url and data is sent and received in JSON format via the request body or headers. mion's router leverages a simple in-memory map for route lookup, making it extremely fast.
Apis are composed of routes and middleware, declared through the helpers createMionRouter returns. Routes are methods that can be called remotely from the client and have a specific url, while middleware are auxiliary methods that get executed before or after a route.
To learn more about the router, refer to the Router Documentation.
mion utilizes RunTypes for automatic validation and JSON round trip. RunTypes enables type information to be available at runtime, allowing for automatic validation and JSON round trip of data.
By leveraging runtime types, mion offers advanced capabilities such as request validation and the request/response JSON round trip that typically involves using multiple framework and loads of code or boilerplate to be manually written by developers.
This monorepo is also the home of RunTypes (the RunTypes/* npm packages): the compile-time runtime-type resolver built on TypeScript 7 / typescript-go that powers mion's validation and JSON round trip. It was developed for a while in a separate repository; that full history has been merged back here.
RunTypes has its own docs section: mion.pages.dev/runtypes. Its code lives under packages/run-types* and ts-go-runtypes/.
Thats it 👆, thats all you need to write a Fully Type Safe Api and Client 🚀
All parameters and return values will also be automatically validated and make the JSON round trip without any extra code required.
Contributors and maintainers are welcome 👍
Mion's philosophy is simplicity, so we don't want to add many features! As an small open source project we want to keep it simple and keep features to maintain at a minimum, that said contributions to mion are encouraged! Please open issues and submit pull requests for any improvements or bug fixes.
The project is organized as a monorepo using pnpm workspaces. Each package within the monorepo is compiled and tested individually using TypeScript and Vitest.
This repo uses pnpm (with a security-hardened .npmrc: pinned versions, 30-day minimum release age, no install scripts, no non-registry sources). Do not run npm install.
pnpm install --frozen-lockfile
Releases run through the repo's own release train, which bumps every package in lockstep, packs, verifies and publishes:
pnpm miondevx release --help
License: MIT