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 name
  • name – 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 syntax
  • category – 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 URL
  • license – Open-source license identifier
  • stars – GitHub star count
  • featured – Boolean flag for editorial highlighting
  • notRecommendedReason – 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:

  1. Presence checks – All mandatory fields must contain non-empty string values
  2. URL validation – Both the url field and optional github field must conform to valid URL syntax
  3. Length constraints – The name field is capped at 100 characters and description at 500 characters, with automatic trimming applied
  4. Tag normalization – The tags field 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:

  • productivity
  • design
  • development
  • writing
  • privacy
  • utilities
  • data
  • media
  • education

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 github link is strongly encouraged for open-source tools

Summary

  • The mandatory fields for submitting a new tool are id, name, description, url, and category, defined in the README schema
  • Server-side validation in handleSubmitTool.ts enforces 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.md or 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →