Skip to content

[Bug]: sp.reverse-engineer.toml fails to parse due to nested triple quotes #41

Description

@ABUBAKAR-SIDDIQUE2

Component

Templates (spec, plan, tasks, etc.)

AI Agent

Gemini CLI

Bug Description

Describe the Bug

After running uvx specifyplus init . and trying to run the tool, I get a crash with the error:
[FileCommandLoader] Failed to parse TOML file .../.gemini/commands/sp.reverse-engineer.toml

The Cause

The file sp.reverse-engineer.toml wraps the prompt variable in triple double-quotes (""").
However, the prompt text itself contains Python code examples that also use """ (specifically inside the intelligence-object.md section). This confuses the TOML parser, causing it to exit the string early and fail on the remaining text.

Suggested Fix

Update the template file to use triple single-quotes (''') for the prompt variable instead of double-quotes.

I verified locally that changing the file to use ''' resolves the crash.

Expected Behavior

The tool should initialize and load all command templates, including "sp.reverse-engineer.toml", without crashing. The "reverse-engineer" command should be available for use.

Actual Behavior

The tool crashes immediately upon loading commands with a "[FileCommandLoader] Failed to parse TOML file" error pointing to the "sp.reverse-engineer.toml" file.

Steps to Reproduce

  1. Run uvx specifyplus init . in a new directory.
  2. Select gemini as an AI.
  3. Run the gemini command to start the tool.
  4. Observe the crash on startup when it attempts to load the command files.

Environment

OS: Linux (Kali)
Tool: specifyplus (via uvx)
Python Version: 3.13.11
Agent version: Gemini cli v0.26.0

Relevant Logs/Output

✕ [FileCommandLoader] Failed to parse TOML file .../Evolution-of-Todo-v3/.gemini/commands/sp.reverse-engineer.toml

Additional Context

Workaround verified: Changing the wrapping quotes of the prompt variable in the TOML file from """ to ''' fixes the issue. The crash happens because the prompt string contains Python code that also uses """ (specifically docstrings inside the intelligence-object.md section), which breaks the TOML string parsing.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions