midway (Agent Skills)

GitHub

🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈

7,739 stars TypeScript 1 Rule Files Full Docs MCP View JSON API #aliyun#aws#azure#cloud

AGENTS.md

<!-- OPENSPEC:START -->
# OpenSpec Instructions

These instructions are for AI assistants working in this project.

Always open `@/openspec/AGENTS.md` when the request:
- Mentions planning or proposals (words like proposal, spec, change, plan)
- Introduces new capabilities, breaking changes, architecture shifts, or big performance/security work
- Sounds ambiguous and you need the authoritative spec before coding

Use `@/openspec/AGENTS.md` to learn:
- How to create and apply change proposals
- Spec format and conventions
- Project structure and guidelines

Keep this managed block so 'openspec update' can refresh the instructions.

<!-- OPENSPEC:END -->

# Repository Guide for Agents

## Project overview
- Midway v4 monorepo managed by lerna + pnpm workspace.
- TypeScript 5, built with `tsc`, tested with `jest`.
- IoC container implementation lives in `packages/core` (MidwayContainer, DecoratorManager, MetadataManager).

## Code rules
- Each component is an independent npm package and can communicate via DI.
- New/changed components must include tests. Run `npm run test` in the package.
- Use `mwts` for linting (`npm run lint:fix` when needed).
- After code changes, rerun the relevant lint command and keep necessary lint-fix output in the patch instead of reverting it casually.
- Add meaningful comments for functions/classes/interfaces/enums.

## Docs rules
- Current docs live under `site/docs` (Docusaurus).
- Match existing doc style/tone/structure for consistency.
- Show dependency installation in both bash (npm) and JSON `package.json` forms.
- Doc changes do not require a build check.
- For component docs, write for beginners first: start from what the component solves, when to use it, and the simplest working path, then go deeper into advanced usage, configuration, and extension points. Prefer tutorial-style progression over API-only lists.

## Practical tips
- Prefer `pnpm -C <package> test` to scope tests.
- Keep changes aligned with existing patterns in the targeted package.
- Pull request titles must use standard commit format, such as `feat: xxx` or `fix: xxx`.