{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/staticman/","markdown":"https://findsoftware.frbit.cloud/staticman.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":"staticman","name":"Staticman","urls":{"home":"https://best.staticman.net/","repository":"https://github.com/eduardoboucas/staticman","docs":"https://best.staticman.net/docs/"},"category":["community"],"description":"Node.js web service that accepts form submissions from static sites and commits them as data files to a GitHub or GitLab repository.","maintainer":"Eduardo Bouças","maintainerType":"individual","firstRelease":2016,"hosting":["node"],"language":"javascript","runtime":["node"],"runtimeMin":"node 14","headlessApi":["rest"],"runsAs":["always-on"],"installMethod":"npm","licenseModel":"open-source","license":"MIT","currentMajor":"1","latestReleaseDate":"2020-12-23T00:00:00.000Z","githubStargazers":2449,"contributors":31,"packagistDownloads":null,"checkedAt":"2026-11-03T00:00:00.000Z","addedAt":"2026-11-03T00:00:00.000Z","sources":[{"field":"urls","url":"https://best.staticman.net/","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"urls","url":"https://api.github.com/repos/eduardoboucas/staticman","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"urls","url":"https://best.staticman.net/docs/","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/eduardoboucas/staticman/blob/master/LICENSE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/eduardoboucas/staticman","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"runtime","url":"https://github.com/eduardoboucas/staticman/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"runtimeMin","url":"https://github.com/eduardoboucas/staticman/blob/v1.7.1/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"category","url":"https://github.com/eduardoboucas/staticman/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/eduardoboucas/staticman/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/eduardoboucas/staticman/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/eduardoboucas/staticman/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"runsAs","url":"https://best.staticman.net/docs/","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"headlessApi","url":"https://best.staticman.net/docs/","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"license","url":"https://github.com/eduardoboucas/staticman/blob/master/LICENSE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"licenseModel","url":"https://best.staticman.net/","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"firstRelease","url":"https://api.github.com/repos/eduardoboucas/staticman/releases/tags/v1.0.0","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"currentMajor","url":"https://api.github.com/repos/eduardoboucas/staticman/tags","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://api.github.com/repos/eduardoboucas/staticman/commits/v1.7.1","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/eduardoboucas/staticman","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/eduardoboucas/staticman/contributors","checkedAt":"2026-11-03T00:00:00.000Z"}],"status":"stub","ai":"authored"},"prose":"Staticman is a Node.js web service that receives form submissions from a static site, runs the validation and transformation the site owner configures, and commits the result as data files to a GitHub or GitLab repository. The site gets user-generated content such as blog comments, and the content ends up in the site's repository. The service exposes a [REST API](https://best.staticman.net/docs/) that accepts the submissions, and it can be run with npm, with Docker or on Heroku. The documentation covers spam handling and notifications.\n\n## Worth knowing\n\nThe data lives in a GitHub or GitLab repository the site owner chose, so the site depends on that service as well as on the Staticman instance. The homepage says the project is supported by the work of volunteers."}