FckSignups Tool Submission Requirements: How to Add a New Tool to the Directory
Submitting a new tool to the FckSignups (NoSignups) directory requires providing mandatory schema fields including name, description, URL, and category, while ensuring the tool functions without user registration.
The FckSignups platform maintains strict requirements for submitting a new tool to ensure every entry in the directory remains open-source, privacy-respecting, and immediately accessible without sign-ups. Whether you contribute through the GitHub issue template or the website's submission form, your tool must conform to the validation logic enforced by the Cloudflare worker at cloudflare-worker/urlHandlers/handleSubmitTool.ts.
Tool Schema Requirements
Every submission must conform to the JSON schema documented in the repository's README.md. The system distinguishes between mandatory properties required for all entries and optional metadata that enhances discoverability.
Mandatory Fields
The handleSubmitTool function strictly validates the presence of these required fields:
id– A URL-friendly unique identifier automatically generated from the tool namename– The display name of the tool (maximum 100 characters after trimming)description– A concise one-sentence summary (maximum 500 characters after trimming)url– A direct link to the live tool, validated for proper URL syntaxcategory– One of the predefined category IDs defined in the README
Optional Fields
Submissions may include additional metadata to provide context:
tags– Array of trimmed strings for filtering (recommend 3–5 relevant tags)github– Link to source repository, validated as a proper URLlicense– Open-source license identifierstars– GitHub star countfeatured– Boolean flag for editorial highlightingnotRecommendedReason– Explanation if the tool has caveats
Server-Side Validation Logic
When you submit via the "Submit a Tool" web form, the Cloudflare worker processes the request through the handleSubmitTool handler. According to the source code in cloudflare-worker/urlHandlers/handleSubmitTool.ts (lines 80–125), the server enforces several critical constraints:
- Presence checks – All mandatory fields must contain non-empty string values
- URL validation – Both the
urlfield and optionalgithubfield must conform to valid URL syntax - Length constraints – The
namefield is capped at 100 characters anddescriptionat 500 characters, with automatic trimming applied - Tag normalization – The
tagsfield is converted into an array of trimmed strings
If validation fails, the worker returns a 400 error with a descriptive message indicating which requirement was violated.
Category Requirements
Submissions must specify a category that matches one of the predefined IDs listed in the README. The valid categories are:
productivitydesigndevelopmentwritingprivacyutilitiesdatamediaeducation
The special category all exists for filtering purposes but is not a valid submission category.
Submission Methods
The repository accepts new tool submissions through two primary channels, both subject to the same validation rules.
GitHub Issue Template
Open a new issue using the Request to Add a Tool template located at .github/ISSUE_TEMPLATE/request-to-add-a-tool.md. This template automatically applies the tool-submission label and guides you through entering the required fields in a structured markdown table.
The template generates an issue body formatted as:
| Field | Value |
|-------|-------|
| **Name** | [Tool Name] |
| **Description** | [One-sentence description] |
| **URL** | [Live URL] |
| **Category** | [Selected category] |
Web Form Submission
Click the "SUBMIT A TOOL" button on the live site to access the form interface. The payload sent to the server follows this JSON structure:
{
"name": "SuperCalc",
"description": "A fast, offline calculator that runs in the browser.",
"url": "https://supercalc.example.com",
"tags": ["calculator", "offline", "utility"],
"github": "https://github.com/example/supercalc",
"category": "utilities"
}
Upon successful validation, handleSubmitTool automatically generates a corresponding GitHub issue with the tool details formatted in markdown.
Contribution Guidelines and Constraints
Beyond the technical schema requirements, the project maintains editorial standards documented in the README.md Contributing section:
- No registration requirement – The tool must be fully functional without requiring user registration, email verification, or payment details
- Description brevity – While the server accepts up to 500 characters, contributions should aim for descriptions under 140 characters for optimal display
- Browser accessibility – Tools should work directly in the browser without mandatory downloads
- Source availability – Including a
githublink is strongly encouraged for open-source tools
Summary
- The mandatory fields for submitting a new tool are
id,name,description,url, andcategory, defined in the README schema - Server-side validation in
handleSubmitTool.tsenforces length limits (100 chars for name, 500 for description) and URL syntax checking - Valid categories include productivity, design, development, writing, privacy, utilities, data, media, and education
- Submissions can be made via the GitHub issue template at
.github/ISSUE_TEMPLATE/request-to-add-a-tool.mdor the website's submission form - All tools must function without requiring user sign-up or registration
Frequently Asked Questions
What are the mandatory fields for submitting a new tool?
The required fields are id (URL-friendly identifier), name (display name), description (one-sentence summary), url (live tool link), and category (predefined category ID). These fields are strictly enforced by the validation logic in cloudflare-worker/urlHandlers/handleSubmitTool.ts, which returns a 400 error if any are missing or invalid.
How does the server validate tool submissions?
The Cloudflare worker's handleSubmitTool function validates that all mandatory fields contain non-empty strings, checks that URL fields contain valid syntax, trims and enforces length caps on text fields (100 characters for names, 500 for descriptions), and normalizes tags into an array format. This occurs server-side regardless of whether you submit via the web form or GitHub issue template.
Can I submit a tool that requires user registration?
No. According to the contribution guidelines in the README, tools must be fully functional without requiring user registration, email verification, or account creation. The directory specifically focuses on no-signup alternatives, so any tool requiring authentication would violate the core project requirements.
What categories are available for tool submissions?
The valid category IDs are: productivity, design, development, writing, privacy, utilities, data, media, and education. Each submission must specify one of these predefined categories as documented in the README Categories section. The all category exists for filtering but is not a valid submission value.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →