Skip to content

Auto Gitignore Output

Requirements

Requirement: Plugin writes a self-managed gitignore into the output directory

After generating all Markdown pages, generateOpenSpecPages() SHALL write a .gitignore file to <absoluteOutDir>/.gitignore containing rules that exclude all files within the directory from version control while keeping the .gitignore file itself tracked.

The exact content written SHALL be:

# Generated by vitepress-plugin-openspec — do not commit generated files.
*
!.gitignore
Output directory is newly created
  • WHEN generateOpenSpecPages() runs and the output directory did not previously exist
  • THEN the directory is created, all pages are written, and <outDir>/.gitignore exists with the correct content
Output directory already exists without a gitignore
  • WHEN generateOpenSpecPages() runs and <outDir>/.gitignore does not yet exist
  • THEN <outDir>/.gitignore is created with the correct content
Output directory already has a gitignore (idempotent overwrite)
  • WHEN generateOpenSpecPages() runs and <outDir>/.gitignore already exists (with any content)
  • THEN <outDir>/.gitignore is overwritten with the correct content, leaving no stale entries
Gitignore file is always the last file written
  • WHEN generateOpenSpecPages() completes successfully
  • THEN <outDir>/.gitignore exists alongside all generated Markdown files