{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/foal/","markdown":"https://findsoftware.frbit.cloud/foal.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"foal","name":"FoalTS","urls":{"home":"https://foalts.org/","repository":"https://github.com/FoalTS/foal","docs":"https://foalts.org/docs/"},"category":["framework"],"description":"Node.js framework for creating web applications, written in TypeScript.","maintainer":"FoalTS","firstRelease":2017,"hosting":["node"],"language":"javascript","runtime":["node"],"runtimeMin":"node 22","basedOn":["express"],"databases":["postgres","mysql","sqlite","mongodb"],"headlessApi":["graphql"],"runsAs":["always-on"],"installMethod":"npx scaffolder","licenseModel":"open-source","license":"MIT","currentMajor":"5","latestReleaseDate":"2026-07-09T00:00:00.000Z","githubStargazers":1936,"packagistDownloads":null,"npmWeeklyDownloads":1692,"dependentRepos":49,"dependentPackages":27,"social":{"bluesky":"https://bsky.app/profile/foalts.org","discord":"https://discord.gg/QUrJv98"},"checkedAt":"2026-10-21T00:00:00.000Z","addedAt":"2026-10-21T00:00:00.000Z","sources":[{"field":"urls","url":"https://foalts.org/","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"urls","url":"https://api.github.com/repos/FoalTS/foal","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"urls","url":"https://foalts.org/docs/","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"maintainer","url":"https://raw.githubusercontent.com/FoalTS/foal/master/LICENSE","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"category","url":"https://foalts.org/docs/","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"language","url":"https://foalts.org/docs/","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"runtime","url":"https://foalts.org/docs/","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"runtimeMin","url":"https://registry.npmjs.org/@foal/core/latest","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"firstRelease","url":"https://registry.npmjs.org/@foal/core","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"basedOn","url":"https://foalts.org/docs/common/expressjs","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"databases","url":"https://foalts.org/docs/databases/typeorm/introduction","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"installMethod","url":"https://raw.githubusercontent.com/FoalTS/foal/master/README.md","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"runsAs","url":"https://foalts.org/docs/deployment-and-environments/checklist","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"headlessApi","url":"https://foalts.org/docs/","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"license","url":"https://api.github.com/repos/FoalTS/foal","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"license","url":"https://raw.githubusercontent.com/FoalTS/foal/master/LICENSE","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"currentMajor","url":"https://registry.npmjs.org/@foal/core/latest","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://api.github.com/repos/FoalTS/foal/releases/latest","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"npmWeeklyDownloads","url":"https://api.npmjs.org/downloads/point/last-week/@foal/core","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/FoalTS/foal","checkedAt":"2026-10-21T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/%40foal%2Fcore","checkedAt":"2026-10-25T00:00:00.000Z"},{"field":"dependentPackages","url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/%40foal%2Fcore","checkedAt":"2026-10-25T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"FoalTS is a Node.js framework for building web applications, written in TypeScript. It bundles a CLI, testing tools, frontend utilities, authentication, an ORM, deployment environments and GraphQL and Swagger API support in one place, so a project does not need to assemble these from separate npm packages. The application returned by its `createApp` function is an ExpressJS application. A project is created with `npx @foal/cli createapp`, and `npm run dev` starts a development server.\n\nFor production, the [deployment checklist](https://foalts.org/docs/deployment-and-environments/checklist) describes starting the app with the environment set to production, and covers HTTPS, secrets and production database migrations."}