Skip to content

Conversation

@ARYPROGRAMMER
Copy link
Contributor

Summary

Advanced recipe for automated full-stack project initialization supporting multiple framework combinations (React/Vue/Svelte/Next.js + Node.js/Python/Go/Rust), database integrations (PostgreSQL/MongoDB/MySQL/SQLite), Docker, CI/CD, and production-ready configurations with comprehensive testing and documentation.

Key Features:

  • 8 customizable parameters for complete project control
  • 20+ framework/database combinations
  • Automated setup for ESLint, Prettier, Vitest, Jest, Docker Compose, GitHub Actions
  • Advanced Jinja2 templating with conditional logic
  • 8-step orchestration workflow (structure → frontend → backend → quality tools → Docker → CI/CD → docs → verification)

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

Testing

used command:

 goose run --recipe documentation/src/pages/recipes/data/recipes/full-stack-project-initializer.yaml --params project_name=my-test-app --params project_type=fullstack --params frontend_framework=react --params backend_framework=nodejs --params database=postgresql --params include_docker=true --params include_cicd=true --params base_directory=./test-projects

Manual Testing:

  • Validated YAML structure and syntax
  • Tested recipe loading with goose CLI
  • Verified parameter validation and Jinja2 template rendering
  • Confirmed compatibility with goose recipe format specification

Related Issues

Fixes #4767

Screenshots/Demos (for UX changes)

Before: N/A - New recipe submission

After: N/A - New recipe submission

Email: [email protected]

@ARYPROGRAMMER ARYPROGRAMMER requested a review from a team as a code owner October 2, 2025 13:38
@github-actions
Copy link
Contributor

github-actions bot commented Oct 2, 2025

Recipe Validation Passed

Your recipe(s) are valid and ready for review!

🔍 Next Steps:

  1. Our team will review your recipe
  2. If approved, we'll run a security scan
  3. Once merged, you'll receive $10 in OpenRouter credits (if email provided)

Thanks for contributing to the goose Recipe Cookbook! 🎉

@github-actions
Copy link
Contributor

github-actions bot commented Oct 2, 2025

🔍 Recipe Security Scan Results

Status: APPROVED - All recipes passed security scan

📊 Scan Summary:

  • Total recipes scanned: 1

📋 Individual Recipe Results:
✅ Recipe 1: APPROVED (LOW risk)

🔗 View detailed scan results in the workflow artifacts.

@iandouglas iandouglas self-requested a review October 3, 2025 17:21
@iandouglas iandouglas self-assigned this Oct 3, 2025
Copy link
Contributor

@iandouglas iandouglas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looks great! I'd love to see a setting for "include_testing" where we generate some basic unit/integration testing for the frontend and backend, and including that in the CI/CD step as well.

{% endif %}

2. Frontend Setup
{% if frontend_framework != "none" %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd move this line above "2. Frontend step", same with backend section

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did this for both

2. Frontend Setup
{% if frontend_framework != "none" %}
{% if frontend_framework == "react" %}
Create React app with Vite and TypeScript in the frontend directory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'd love to see these sections indented for each of the if/else clauses, it won't hurt the YAML layout, and would be easier to read

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tried my best to make it look good - vscode is bad

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my idea here is to indent each section further:

  {% if frontend_framework != "none" %}
  2. Frontend Setup
     {% if frontend_framework == "react" %}
       Create React app with Vite and TypeScript in the frontend directory.
       ...
       Create example Welcome component and test.
     {% elif frontend_framework == "vue" %}
       Create Vue 3 app with TypeScript, Router, and Pinia.
       ...

@iandouglas
Copy link
Contributor

since this recipe is explicitly called "full-stack", we could probably take out the if conditions for the frontend and backend, since a full stack project would have both anyway ... whether it has a dedicated database would be a different case so that could be an 'if' condition for example.

thoughts?

@ARYPROGRAMMER
Copy link
Contributor Author

ut the if conditions for the frontend and backend, since a full stack project would have both anyway ... whether it has a dedicated database would be a different case so that could be an 'if' condition for example.

oh yes i thought about that, but maybe sometimes you need a frontend only or a backend only - you might use some other custom counterpart. So its like a subset then. "it can full stack" but maybe sometimes you need a particular thing or so. Hence keeping it optional would be best. Just to make it modular. Rest of the issues I will address and fix by morning, i might need to rebase

Signed-off-by: Arya Pratap Singh <[email protected]>
@ARYPROGRAMMER
Copy link
Contributor Author

most likely i think i addressed everything. let me know further.

thanks for timely guidance @iandouglas

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

Recipe Validation Passed

Your recipe(s) are valid and ready for review!

🔍 Next Steps:

  1. Our team will review your recipe
  2. If approved, we'll run a security scan
  3. Once merged, you'll receive $10 in OpenRouter credits (if email provided)

Thanks for contributing to the goose Recipe Cookbook! 🎉

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

🔍 Recipe Security Scan Results

Status: APPROVED - All recipes passed security scan

📊 Scan Summary:

  • Total recipes scanned: 1

📋 Individual Recipe Results:
✅ Recipe 1: APPROVED (LOW risk)

🔗 View detailed scan results in the workflow artifacts.

Copy link
Contributor

@iandouglas iandouglas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left a few more comments and thoughts for your feedback

requirement: required
description: Name of the project to initialize (alphanumeric and dashes only)

- key: project_type
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need this as a parameter if we're always trying to build a full-stack project with this recipe? or should we rename the recipe to something like "software project generator" that doesn't necessarily fall into a frontend/backend/fullstack role?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually a good idea to rename maybe

requirement: optional
default: "."
description: Base directory where the project should be created

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need any awareness of what kind of system we're developing on? eg, mac vs windows may have different tooling or needs (for example, Windows will handle disk paths differently, one common area I had was building paths like c:\src\react-project where the \r in the path gets interpreted as a carriage return character, breaking other workflows.

maybe this doesn't need to be a parameter, it could just be added in the instructions that say something like "detect what kind of operating system I'm on, and if you detect that I'm on Windows, be careful about disk paths where backslash path separators aren't interpreted as escape characters in strings"

2. Frontend Setup
{% if frontend_framework != "none" %}
{% if frontend_framework == "react" %}
Create React app with Vite and TypeScript in the frontend directory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my idea here is to indent each section further:

  {% if frontend_framework != "none" %}
  2. Frontend Setup
     {% if frontend_framework == "react" %}
       Create React app with Vite and TypeScript in the frontend directory.
       ...
       Create example Welcome component and test.
     {% elif frontend_framework == "vue" %}
       Create Vue 3 app with TypeScript, Router, and Pinia.
       ...

@ARYPROGRAMMER ARYPROGRAMMER changed the title feat: add advanced full-stack project initializer recipe (#4767) feat: add advanced software project generator initializer recipe (#4767) Oct 3, 2025
Signed-off-by: Arya Pratap Singh <[email protected]>
@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

Recipe Validation Passed

Your recipe(s) are valid and ready for review!

🔍 Next Steps:

  1. Our team will review your recipe
  2. If approved, we'll run a security scan
  3. Once merged, you'll receive $10 in OpenRouter credits (if email provided)

Thanks for contributing to the goose Recipe Cookbook! 🎉

@ARYPROGRAMMER
Copy link
Contributor Author

added some more things, i think this should not be extended further as it might cross the token limits now. lgtm and actually works. i personally tested on fedora so didnt have any issues

Copy link
Contributor

@iandouglas iandouglas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just one last change here for the operating system so people don't get stuck on something that LLMs often get tripped up on for file/disk paths

Run initial tests to ensure everything works.
Display summary of created project structure and next steps.

Work through these steps systematically. Use shell commands to create files and directories.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd just add the note here for goose that adds the following:

Detect the operating system that I'm on, and use appropriate disk path separators, being careful to avoid 'escaping' of slash or backslash characters as appropriate for my operating system when interpreting or using string values for filenames.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

🔍 Recipe Security Scan Results

Status: APPROVED - All recipes passed security scan

📊 Scan Summary:

  • Total recipes scanned: 1

📋 Individual Recipe Results:
✅ Recipe 1: APPROVED (LOW risk)

🔗 View detailed scan results in the workflow artifacts.

@iandouglas
Copy link
Contributor

great work on the indentation, it's MUCH easier to read through the recipe now. Just one last thing to add to the end and we can get this merged in! Thanks for your contribution!!

Signed-off-by: Arya Pratap Singh <[email protected]>
@ARYPROGRAMMER
Copy link
Contributor Author

great work on the indentation, it's MUCH easier to read through the recipe now. Just one last thing to add to the end and we can get this merged in! Thanks for your contribution!!

thank you for the guidance, you are really a great maintainer.

you will surely find me in some other pr at goose. thanks

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

Recipe Validation Passed

Your recipe(s) are valid and ready for review!

🔍 Next Steps:

  1. Our team will review your recipe
  2. If approved, we'll run a security scan
  3. Once merged, you'll receive $10 in OpenRouter credits (if email provided)

Thanks for contributing to the goose Recipe Cookbook! 🎉

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

🔍 Recipe Security Scan Results

Status: APPROVED - All recipes passed security scan

📊 Scan Summary:

  • Total recipes scanned: 1

📋 Individual Recipe Results:
✅ Recipe 1: APPROVED (LOW risk)

🔗 View detailed scan results in the workflow artifacts.

@iandouglas
Copy link
Contributor

thanks for your contribution!! we'll get this merged in as soon as the other workflows finish.

@iandouglas iandouglas removed their assignment Oct 3, 2025
@ARYPROGRAMMER
Copy link
Contributor Author

i think the workflows have finished. thanks

@taniandjerry taniandjerry added the hacktoberfest Issues awarding points for Hacktoberfest 2025! label Oct 3, 2025
@taniandjerry taniandjerry merged commit 1393783 into block:main Oct 3, 2025
14 checks passed
@taniandjerry
Copy link
Contributor

Amazing work! Thank you for the review @iandouglas, thank you for contributing @ARYPROGRAMMER ! <3

@taniandjerry taniandjerry added the large Weight label for Hacktoberfest 2025 issues label Oct 3, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

✅ $10 OpenRouter API key sent to [email protected]. Thanks for your contribution to the goose cookbook!

zanesq added a commit that referenced this pull request Oct 4, 2025
…-unification

* 'main' of github.com:block/goose:
  feat: set custom models for lead/worker (#4598)
  feat: add grok-code-fast-1 support for xAI provider (#4472)
  Persist dynamic extension config so we can resume recipe sessions w/ extensions (#4331)
  fix: show PowerShell PATH instructions for Windows users (#4989)
  feat: add Smart Task Organizer recipe for Hacktoberfest (#4936)
  Fix extension headers (#5000)
  feat: add advanced software project generator initializer recipe (#4767) (#4949)
lifeizhou-ap added a commit that referenced this pull request Oct 6, 2025
* main: (22 commits)
  fix: Issue #4540: `goose configure` -> Cursor Agent succeeds (#4942)
  feat: Add advanced data analysis pipeline recipe (#4990) (#5005)
  Create / edit recipe form unification and improvements (#4693)
  feat: add Code Review Mentor recipe with Developer and Memory extensions (#4992) (#5014)
  feat: set custom models for lead/worker (#4598)
  feat: add grok-code-fast-1 support for xAI provider (#4472)
  Persist dynamic extension config so we can resume recipe sessions w/ extensions (#4331)
  fix: show PowerShell PATH instructions for Windows users (#4989)
  feat: add Smart Task Organizer recipe for Hacktoberfest (#4936)
  Fix extension headers (#5000)
  feat: add advanced software project generator initializer recipe (#4767) (#4949)
  Removed unused libs (#4932)
  Platform extensions sketch (#4868)
  Add reply to the routes (#4963)
  feat(cli): add GOOSE_DEBUG environment variable support (#4825)
  docs: Change community page sections (#4984)
  docs: remove temporary Hacktoberfest issue templates (#4982)
  Create multi-channel researcher prompt (#4947)
  docs: Add Community Content section to Community Page (#4964)
  Allow empty API Key when registering custom provider (#4977)
  ...
wpfleger96 added a commit to wpfleger96/goose that referenced this pull request Oct 6, 2025
* main: (130 commits)
  Add new subcommand for opening recipes in desktop app (block#4970)
  Update system.md with softer subagent language (block#5023)
  docs: add new goose tip (block#4941)
  Fix nix flake double copy (block#4976)
  Upgrade electron for macOS Tahoe compatibility (block#5015)
  fix: check server is ready so that we can decode the recipe deeplink (block#5021)
  fix: backwards compatible parsing recipe file (block#5020)
  chore: Used common function to list recipes in local machine (block#4974)
  fix: Issue block#4540: `goose configure` -> Cursor Agent succeeds (block#4942)
  feat: Add advanced data analysis pipeline recipe (block#4990) (block#5005)
  Create / edit recipe form unification and improvements (block#4693)
  feat: add Code Review Mentor recipe with Developer and Memory extensions (block#4992) (block#5014)
  feat: set custom models for lead/worker (block#4598)
  feat: add grok-code-fast-1 support for xAI provider (block#4472)
  Persist dynamic extension config so we can resume recipe sessions w/ extensions (block#4331)
  fix: show PowerShell PATH instructions for Windows users (block#4989)
  feat: add Smart Task Organizer recipe for Hacktoberfest (block#4936)
  Fix extension headers (block#5000)
  feat: add advanced software project generator initializer recipe (block#4767) (block#4949)
  Removed unused libs (block#4932)
  ...
Itz-Agasta pushed a commit to Itz-Agasta/goose that referenced this pull request Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest Issues awarding points for Hacktoberfest 2025! hacktoberfest-accepted large Weight label for Hacktoberfest 2025 issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🍳 Advanced Recipe Submission #1

3 participants