Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>Ghost RecipesNew to Visual Studio Code? Get it now.
Ghost Recipes

Ghost Recipes

Quetsana

|
1 install
| (0) | Free
Add collaborative notes that don't clutter the source code like regular comments.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

👻 Ghost Recipes

Collaborative code documentation without touching your source files

Add invisible documentation notes to your code. Ghost Recipes stores "phantom recipes" externally in a JSON file, perfect for collaborative technical documentation without modifying your source code.


Features

📝 Invisible Documentation System

Document your code without adding comments to your files. All notes are stored in ghost-recipes.json and can be shared via Git.

Adding a recipe

Key capabilities:

  • Non-invasive: Zero modifications to your source code
  • Title + Description: Document functions, variables, classes with structured information
  • Smart tracking: Fuzzy search keeps notes synced even when you add/remove lines above

🎨 Visual Interface

Gutter icons and hover

  • Gutter icons: Discrete ghost indicators next to line numbers
  • Rich hover tooltips: Complete information on mouse over
  • Sidebar panel: Tree view organized by files
  • Toggle visibility: Show/hide notes with one click

📊 Professional PDF Export

Generate executive-style documentation with a single click.

PDF Export

The exported PDF includes:

  • Custom cover page with your filename
  • Hierarchical numbered index with page references (1.1, 1.2, etc.)
  • Content organized by files
  • Professional recipe cards with borders
  • Project statistics (files, collaborators, recipes)

🌍 Multi-language Support

Automatically adapts to your VS Code language setting:

  • 🇪🇸 Spanish
  • 🇬🇧 English

🤝 Team Collaboration

![Sidebar panel]

  • Version control ready: ghost-recipes.json is designed to be committed
  • Multi-user tracking: Each recipe records author and timestamp
  • Git history: Track documentation evolution alongside code changes

Getting Started

📖 Quick Start Guide

Adding Your First Recipe

  1. Right-click on any line in your code
  2. Select "Add Ghost Recipe" from the context menu
  3. Enter a title (e.g., calculateTotal(), API_KEY)
  4. Add your documentation (purpose, parameters, return values, etc.)
  5. Done! 👻

Viewing Your Recipes

  • Hover: Move your mouse over the ghost icon
  • Sidebar: Click the Ghost Recipes icon in the activity bar
  • Quick Pick: Ctrl+Shift+P → "Ghost Recipes: List All Notes"

Toggle Visibility

Click the eye icon in the status bar (bottom-left) or use:

Ctrl+Shift+P → "Ghost Recipes: Toggle Visibility"

⌨️ Commands & Shortcuts

All available commands:

Command

Shortcut

Description

Ghost Recipes: Add Recipe

Right-click menu

Add note at current line

Ghost Recipes: List All Notes

Command Palette

View and manage all recipes

Ghost Recipes: Toggle Visibility

Status bar icon

Show/hide visualizations

Ghost Recipes: Export to PDF

Sidebar button

Generate PDF documentation

Ghost Recipes: Refresh

Sidebar button

Refresh tree view

📂 Project Structure & JSON Format

File Structure

your-project/
├── ghost-recipes.json    # 👻 Your recipes (commit this!)
├── src/│   
├── file1.py│   
└── file2.js└── README.md

Recipe JSON Format

The ghost-recipes.json file stores all your documentation:

{
  "recipes": [
    {
      "path": "src/main.py",
      "line": 10,
      "title": "calculate_total()",
      "comment": "Calculates total by adding taxes and discounts",
      "author": "john_doe",
      "date": "Dec 30, 2025, 5:05 PM",
      "lineContent": "def calculate_total():"
    }
  ]
}

🤝 Team Collaboration Workflow

Initial Setup

Daily Workflow

  1. Document your code using Ghost Recipes
  2. Commit and push the ghost-recipes.json file
  3. Your team pulls and sees your notes automatically
  4. Resolve conflicts if needed (same as any JSON file)

Important

DO NOT add ghost-recipes.json to .gitignore - you want to share these notes with your team!

💡 Use Cases & Examples

API Documentation

Title: POST /api/usersDescription: Creates a new user.Requires: email (string), password (string)Returns: { userId: number, token: string }

Algorithm Explanations

Title: quicksort_partition()Description: Divides array using last element as pivot.Complexity: O(n). Used by main quicksort function.Note: Modifies array in-place.

Configuration Notes

Title: DATABASE_URLDescription: Database connection string environment variableFormat: postgresql://user:pass@host:port/dbDevelopment: Use .env fileProduction: Stored in AWS Secrets Manager

Technical Debt Tracking

Title: validate_input()Description: Validates user input for special charactersTODO: Add validation for empty stringsFIXME: Doesn't handle unicode correctlySee: Issue [#123](https://github.com/byroncl/ghost-recipes/issues/123) on GitHub

📄 PDF Export Details

Generated PDF Structure

The exported PDF includes:

1. Cover Page

  • Custom filename as title
  • Project statistics
  • Generation timestamp

2. Table of Contents

  • Numbered files (1, 2, 3...)
  • Sub-items with recipe titles (1.1, 1.2, 1.3...)
  • Page number references

3. Content Sections

  • One section per file
  • Recipe cards with borders
  • Metadata (line number, author, date)
  • Hierarchical numbering matching the index

Extension Settings

This extension contributes the following settings:

Currently, Ghost Recipes works out of the box with no configuration needed. Future versions may add customization options.


📋 Requirements

  • Visual Studio Code version 1.107.0 or higher
  • No additional dependencies required

⚠️ Known Issues

  • PDF generation doesn't support clickable internal links (limitation of PDFKit library)
  • Very large projects (1000+ recipes) may experience slight performance impact

Report issues on GitHub Issues

🎉 Release Notes

0.0.1

Initial release of Ghost Recipes:

  • ✅ Ghost icon indicators in gutter
  • ✅ Hover tooltips with full recipe information
  • ✅ Sidebar tree view
  • ✅ Fuzzy search to track code changes
  • ✅ Professional PDF export
  • ✅ Multi-language support (EN/ES)
  • ✅ Team collaboration via Git

❓ FAQ

Q: Will this modify my code files?
A: No! All documentation is stored in ghost-recipes.json, your source code remains untouched.

Q: Can I use this for any programming language?
A: Yes! Ghost Recipes is language-agnostic and works with any file type.

Q: What happens if I edit code above a recipe?
A: The fuzzy search algorithm automatically tracks the code and updates the line number.

Q: Can I customize the ghost icon?
A: Currently not configurable, but it's on the roadmap for future versions.

Q: How do I share recipes with my team?
A: Simply commit ghost-recipes.json to your Git repository. Your team will see the recipes when they pull.


Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE file for details


Contact

Byron - @Byroncl

Repository: ghost-recipes


Made with 👻 and ❤️ for developers who document!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft