MCPcopy
hub / github.com/FoalTS/foal

github.com/FoalTS/foal @v5.2.1 sqlite

repository ↗ · DeepWiki ↗ · release v5.2.1 ↗
2,219 symbols 6,584 edges 658 files 99 documented · 4%
README

What is Foal?

Foal (or FoalTS) is a Node.JS framework for creating web applications.

It provides a set of ready-to-use components so you don't have to reinvent the wheel every time. In one single place, you have a complete environment to build web applications. This includes a CLI, testing tools, frontend utilities, scripts, advanced authentication, ORM, deployment environments, GraphQL and Swagger API, AWS utilities, and more. You no longer need to get lost on npm searching for packages and making them work together. All is provided.

But while offering all these features, the framework remains simple. Complexity and unnecessary abstractions are put aside to provide the most intuitive and expressive syntax. We believe that concise and elegant code is the best way to develop an application and maintain it in the future. It also allows you to spend more time coding rather than trying to understand how the framework works.

Finally, the framework is entirely written in TypeScript. The language brings you optional static type-checking along with the latest ECMAScript features. This allows you to detect most silly errors during compilation and improve the quality of your code. It also offers you autocompletion and a well documented API.

Screenshot

Development Policy

Thousands of Tests

Testing FoalTS is put on a very high priority. Providing a reliable product is really important to us. As of December 2020, the framework is covered by more than 2100 tests.

Documentation

New features, no matter what they offer, are useless if they are not well documented. Maintaining complete and quality documentation is key to the framework. If you think something is missing or unclear, feel free to open an issue on Github!

:city_sunrise: Get started

First install Node.Js and npm.

Create a new app

npx @foal/cli createapp my-app
cd my-app
npm run dev

The development server is started! Go to http://localhost:3001 and find our welcoming page!

:point_right: Continue with the tutorial :seedling:

Community Chat

You can join the community chat here.

Contributing

See the contribution guidelines.

Long-Term Support Schedule

Release Status Active Start Maintenance Start End-of-life Node versions TS min version
5.x Active 2025-05-27 22, 24 5.5
4.x Maintenance 2023-09-06 2025-05-27 2025-11-27 18, 20 4.9
3.x End-of-Life 2022-10-28 2023-09-06 2024-03-06 16, 18 4.7

Active support means that the release is actively maintained: new features, bug fixes, and so on.

Maintenance (LTS) means that only critical fixes and security patches are provided.

Extension points exported contracts — how you extend this code

IAppController (Interface)
(no doc) [37 implementers]
packages/core/src/core/app.controller.interface.ts
ISocketIOController (Interface)
(no doc) [16 implementers]
packages/socket.io/src/architecture/socketio-controller.interface.ts
ILogger (Interface)
(no doc) [6 implementers]
tests/docs-tests/src/tests/architecture/services-and-dependency-injection/using-interfaces-and-generic-classes-for-services.feature.ts
CRUDService (Interface)
(no doc) [2 implementers]
tests/e2e-tests/src/tests/controller-inheritance.spec.ts
DatabaseSession (Interface)
(no doc)
packages/mongodb/src/mongodb-store.service.spec.ts
ValidateBodyOptions (Interface)
(no doc)
packages/typestack/src/validate-body.hook.ts
SocialTokens (Interface)
(no doc)
packages/social/src/abstract-provider.service.ts
FilesSchema (Interface)
(no doc)
packages/storage/src/parse-and-validate-files.hook.ts

Core symbols most depended-on inside this repo

get
called by 630
packages/core/src/core/http/context.ts
set
called by 426
packages/core/src/core/config/config.ts
remove
called by 249
packages/core/src/core/config/config.ts
Get
called by 239
packages/core/src/core/http/http-methods.ts
createApp
called by 192
packages/core/src/express/create-app.ts
ApiResponse
called by 150
packages/core/src/core/openapi/decorators.ts
join
called by 136
packages/core/src/core/routes/utils.ts
assertEqual
called by 128
packages/cli/src/services/generator/generator.ts

Shape

Class 982
Method 682
Function 472
Interface 83

Languages

TypeScript100%

Modules by API surface

packages/core/src/core/http/http-responses.ts70 symbols
packages/core/src/core/routes/make-controller-routes.spec.ts64 symbols
packages/core/src/core/openapi/interfaces.ts41 symbols
packages/core/src/core/service-manager.spec.ts38 symbols
packages/cli/src/services/generator/generator.ts37 symbols
packages/socket.io/src/routes/make-websocket-controller-routes.spec.ts30 symbols
packages/core/src/express/create-app.spec.ts29 symbols
tests/e2e-tests/src/tests/openapi.spec.ts28 symbols
packages/socket.io/src/socketio-controller.service.spec.ts26 symbols
packages/core/src/core/openapi/decorators.ts26 symbols
packages/social/src/abstract-provider.service.ts24 symbols
tests/e2e-tests/src/tests/controller-inheritance.spec.ts23 symbols

Dependencies from manifests, versioned

@aws-sdk/client-s33.990.0 · 1×
@aws-sdk/lib-storage3.990.0 · 1×
@docusaurus/core3.9.2 · 1×
@docusaurus/plugin-google-analytics3.9.2 · 1×
@docusaurus/preset-classic3.9.2 · 1×
@foal/aws-s35.2.1 · 1×
@foal/cli5.0.0 · 1×
@foal/core5.2.1 · 1×
@foal/foobar0.8.0 · 1×
@foal/graphiql5.2.1 · 1×
@foal/graphql5.2.1 · 1×
@foal/jwks-rsa5.2.1 · 1×

Datastores touched

(mongodb)Database · 1 repos
dbDatabase · 1 repos
test-foo-barDatabase · 1 repos
e2e-test-foo-barDatabase · 1 repos
e2e_dbDatabase · 1 repos
test-test-foo-barDatabase · 1 repos
test-my-appDatabase · 1 repos
(mysql)Database · 1 repos

For agents

$ claude mcp add foal \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact