Using Code-to-Spec

For general information on the Code-to-Spec refer to the Overview page.

Use the following steps to create a PRD from your GitHub repository. To ensure the best results, Code-to-Spec adheres to specific Guidelines.

Begin by creating an app

  1. Log in to your account and go to your dashboard:
    https://app.crowdbotics.com/dashboard/create-app  
  2. On your dashboard, click + Create App.
  3. Give your app a name (maximum 25 characters).
  4. (Optional) Upload an app icon.

Import from GitHub

  1. Choose the Advanced Settings option to access additional configuration options.

  2. Select the Import from GitHub option. (Note: Deployment options are not available in this process.)

  3. (Optional) If the GitHub connection has not been configured, follow the steps through the Connect to GitHub flow.

  4. From the drop-down list, select the GitHub repository you want to import.

  5. Click Next to create the project.
    The platform begins importing the repository.

  6. On the Create a PRD page, click Turn your GitHub into a PRD. On the resulting screen, set the following:

    • GitHub Branch: Choose the branch that contains the main version of your project (e.g., "main" or "production").

    • Git ignore: Use Git ignore patterns to exclude content from the import. Refer to patterns information as a guide.
      (Note: Selecting the "/" option includes only the root directory).

  7. Click Next.

Importing

When you click Next, the platform begins importing the repository. During the import process, the "Creating PRD" progress screen displays the status.

This process can take up to an hour, depending on the size of the files selected. You can leave the page and return later to continue if needed.

If necessary, you can use the Cancel GitHub Repo Import option. Selecting Cancel GitHub Repo Import opens a confirmation modal with options to either:

  • Keep Importing to continue the process.

  • Cancel Import to stop the import entirely.
    If you cancel the import, you cannot restart it; you must start the process the beginning.

After the import

When the import is complete, the platform uses the final summary to:

  • Generate Code Insights that analyze the codebase.

  • Create an app description in the App Info tab.

  • Populate the PRD with phases, features, and settings based on the GitHub codebase, rather than based on the default app description.

The PRD is now ready, and you can proceed with fine-tuning your PRD as well as the usual planning, development, and maintenance activities using the PRD.



Guidelines

Supported Languages

Python.py
COBOL.cbl, .jcl, .cpy, .cob, .cobol, .bms, .prc
C#.cs, .csx, .csproj, .sln, .props, .targets, .razor
Java.java, .class, .jmod
PHP.php, .php3, .php4, .php5, .phtml, .phps, .inc
JavaScript.js, .jsx, .mjs, .cjs, .es, .es6, .vue
TypeScript.ts, .tsx, .mts, .cts, .d.ts


Additional Support

Support for other languages and frameworks is being added frequently. Talk to your Crowdbotics Account Executive if your framework isn’t shown in the list above.


Best Practices

  • Smaller repositories generally perform better during analysis, making it easier for your teams to optimize their workflows and interpret results.

  • To ensure the best results, Code-to-Spec adheres to specific limitations, such as analyzing directories up to 5 levels deep and processing individual directories under 0.6 MB in size.


Git ignore patterns

With the Git ignore field you can select content to exclude during the GitHub repository import by specifying patterns that follow the same syntax as the standard .gitignore format.

Supported Syntax

The Git ignore field supports a subset of .gitignore patterns:

  • Blank Lines: Blank lines are ignored.

  • Comments: Lines starting with # are treated as comments.

  • Negations: Prefix a pattern with ! to negate an exclusion.

  • Wildcards:

    • * matches zero or more characters.

    • ? matches a single character.

    • [...] matches any one of the characters enclosed.

  • Directories:

    • A trailing / indicates a directory.

    • Use / at the beginning to match from the root of the repository.


Examples of Common Patterns

  • Ignore all files of a certain type
    *.log

  • Ignore specific directories
    /node_modules//build/

  • Exclude all files in a directory but include one

    /logs/*

    !/logs/important.log

  • Environment variables

    .env