Skip to content

Conversation

@ARYPROGRAMMER
Copy link
Contributor

Summary

Advanced recipe for automated code documentation generation that analyzes source code and creates comprehensive, well-structured documentation with examples and best practices. Supports multiple programming languages (Python, JavaScript, TypeScript, Rust, Go, Java, etc.), multiple documentation formats, and customizable output styles.

Key Features:

  • 3 Extensions Used: Developer (code analysis), Memory (pattern consistency), Browser (research standards)
  • 6 Customizable Parameters: source_path, doc_format, include_examples, output_location, doc_style, language_hint
  • 5 Documentation Formats: Markdown, HTML, reStructuredText, JavaDoc, JSDoc
  • 3 Documentation Styles: Minimal, Standard, Comprehensive
  • 5-Phase Orchestration: Analyze → Extract → Generate → Cross-Reference → Finalize
  • Intelligent Research: Uses browser extension to fetch language-specific documentation standards
  • Pattern Memory: Maintains consistency across multiple runs using memory extension
  • Auto Language Detection: Detects programming language and applies appropriate standards
  • Usage Examples: Generates realistic code examples with proper syntax

Type of Change

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

Testing

Primary test command:

goose run --recipe documentation/src/pages/recipes/data/recipes/code-documentation-generator.yaml --params source_path=./ui/desktop/src --params doc_format=html --params include_examples=true --params output_location=./docs --params doc_style=comprehensive

Additional Tests:

# Minimal Markdown documentation for Python
goose run --recipe documentation/src/pages/recipes/data/recipes/code-documentation-generator.yaml --params source_path=./examples --params doc_format=markdown --params doc_style=minimal --params language_hint=python

# Standard documentation for current directory
goose run --recipe documentation/src/pages/recipes/data/recipes/code-documentation-generator.yaml --params source_path=. --params include_examples=true --params doc_style=standard

Manual Testing Completed:

  • Validated YAML structure and syntax (passed)
  • Confirmed all required fields present (version, title, description, instructions, activities)
  • Verified 3 extensions properly configured (developer, memory, browser)
  • Confirmed HTML documentation generation with proper formatting
  • Validated parameter substitution and Jinja2 templating
  • Verified memory extension stores documentation patterns
  • Confirmed browser extension researches standards (JSDoc)
  • Tested conditional logic for different doc_format and doc_style values

Related Issues

Fixes #5121

Screenshots/Demos

demo (2)
demo (3)
demo (1)

Email: [email protected]

@ARYPROGRAMMER ARYPROGRAMMER requested a review from a team as a code owner October 10, 2025 20:39
@github-actions
Copy link
Contributor

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

🔍 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 10, 2025 20:52
@iandouglas iandouglas added the hacktoberfest Issues awarding points for Hacktoberfest 2025! label Oct 10, 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, I really like the recipe's idea. there are a few things I'd change, and a few thoughts to consider, but I think this will be a good addition to our cookbook!

- Analyze code structure and extract documentable elements
- Generate consistent documentation following best practices
- Create usage examples and code snippets
- Build cross-referenced documentation with links
Copy link
Contributor

Choose a reason for hiding this comment

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

links will work with the html format, but you might need to provide more direction here on what to do for markdown files, etc that you specify on line 40.

@ARYPROGRAMMER
Copy link
Contributor Author

i will address all things in a while. thanks

…tion and minor tweaks

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

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

i think most of the things i have managed to add as per whatever knowledge i have from the docs. let me know further

@github-actions
Copy link
Contributor

🔍 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.

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

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

🔍 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.

@ARYPROGRAMMER
Copy link
Contributor Author

ok this too seems good to me now

@ARYPROGRAMMER
Copy link
Contributor Author

@iandouglas pls take some time to finish this and other prs of mine. thanks

@taniandjerry
Copy link
Contributor

taniandjerry commented Oct 14, 2025

Hi @ARYPROGRAMMER, I noticed that you went against the contribution rules and assigned yourself 4 recipe submission tasks to yourself at once. specifically #5119 , #5121 , #5122 and #5123 . This isn't fair to other community members, as the rules state to first get your first issue approved and merged before moving on to the next one. I'll be reviewing this with the team and getting back to you on what do to next!

Edit: technically 5 issues you self-assigned at once, with #5118 .

@ARYPROGRAMMER
Copy link
Contributor Author

Hi @ARYPROGRAMMER, I noticed that you went against the contribution rules and assigned yourself 4 recipe submission tasks to yourself at once. specifically #5119 , #5121 , #5122 and #5123 . This isn't fair to other community members, as the rules state to first get your first issue approved and merged before moving on to the next one. I'll be reviewing this with the team and getting back to you on what do to next!

Edit: technically 5 issues you self-assigned at once, with #5118 .

surely , i request you to kindly unassign me in the case that this truly isnt fair. I had the prs ready and was waiting for the issue. sequentially these should have had been completed if my calculations were correct but since there was no review for a long time. these seem as a collective assignment- which was initially sequentially.

so technically i completed my part at one pr and then only assigned myself with another. [assuming the previous was approved - which wasnt]

let me know further. i am willing to drop the prs as requested by the team

cc: @taniandjerry

@taniandjerry
Copy link
Contributor

Hi @ARYPROGRAMMER, I noticed that you went against the contribution rules and assigned yourself 4 recipe submission tasks to yourself at once. specifically #5119 , #5121 , #5122 and #5123 . This isn't fair to other community members, as the rules state to first get your first issue approved and merged before moving on to the next one. I'll be reviewing this with the team and getting back to you on what do to next!
Edit: technically 5 issues you self-assigned at once, with #5118 .

surely , i request you to kindly unassign me in the case that this truly isnt fair. I had the prs ready and was waiting for the issue. sequentially these should have had been completed if my calculations were correct but since there was no review for a long time. these seem as a collective assignment- which was initially sequentially.

so technically i completed my part at one pr and then only assigned myself with another. [assuming the previous was approved - which wasnt]

let me know further. i am willing to drop the prs as requested by the team

cc: @taniandjerry

Understandable! The review coming late was due to the extended weekend. I apologize for that, and understand wanting PRs reviewed asap! The team will always make sure to review within a 24-48 hour period on weekdays, while weekend PRs will result in a 48 hour minimum wait time ahead of review. In addition to any changes that may be requested. Just sharing for your reference!

But as you mentioned, since your PRs weren't reviewed before you self-assigned other recipe submissions, the feedback you were waiting for one PR could have been used in upcoming submissions. Waiting to take on another issue allows you to both make sure your contributions in progress are up to standard, and eliminates you taking opportunity away from community members.

For now, since I want your contributions to still count, while also taking into account the rules being dismissed at the time, what I will do is combine your recipe submissions into one PR, then unassign you from the others. And going forward, allow other contributors to submit recipes and maybe you can focus on other open issues that are open and will open this week. How does that sound?

@ARYPROGRAMMER
Copy link
Contributor Author

Hi @ARYPROGRAMMER, I noticed that you went against the contribution rules and assigned yourself 4 recipe submission tasks to yourself at once. specifically #5119 , #5121 , #5122 and #5123 . This isn't fair to other community members, as the rules state to first get your first issue approved and merged before moving on to the next one. I'll be reviewing this with the team and getting back to you on what do to next!
Edit: technically 5 issues you self-assigned at once, with #5118 .

surely , i request you to kindly unassign me in the case that this truly isnt fair. I had the prs ready and was waiting for the issue. sequentially these should have had been completed if my calculations were correct but since there was no review for a long time. these seem as a collective assignment- which was initially sequentially.
so technically i completed my part at one pr and then only assigned myself with another. [assuming the previous was approved - which wasnt]
let me know further. i am willing to drop the prs as requested by the team
cc: @taniandjerry

Understandable! The review coming late was due to the extended weekend. I apologize for that, and understand wanting PRs reviewed asap! The team will always make sure to review within a 24-48 hour period on weekdays, while weekend PRs will result in a 48 hour minimum wait time ahead of review. In addition to any changes that may be requested. Just sharing for your reference!

But as you mentioned, since your PRs weren't reviewed before you self-assigned other recipe submissions, the feedback you were waiting for one PR could have been used in upcoming submissions. Waiting to take on another issue allows you to both make sure your contributions in progress are up to standard, and eliminates you taking opportunity away from community members.

For now, since I want your contributions to still count, while also taking into account the rules being dismissed at the time, what I will do is combine your recipe submissions into one PR, then unassign you from the others. And going forward, allow other contributors to submit recipes and maybe you can focus on other open issues that are open and will open this week. How does that sound?

as i said, i am here to contribute and not give less quality prs or compete etc. i surely accept this.

thank you so much @taniandjerry

@taniandjerry taniandjerry added the medium Weight label for Hacktoberfest 2025 issues label Oct 14, 2025
@taniandjerry taniandjerry added large Weight label for Hacktoberfest 2025 issues and removed medium Weight label for Hacktoberfest 2025 issues labels Oct 14, 2025
@taniandjerry
Copy link
Contributor

For this PR, in addition to Ian's comments, if you merge add this recipe #5129 into this PR and remove the memory extension from both recipes, we will accept this as a "large" weighted-PR. @ARYPROGRAMMER

@taniandjerry
Copy link
Contributor

Oops omg, I didn't mean to delete your comment! But we can approve this PR as is and keep it "medium," then save that recipe for a future submission if you'd like. Thank you!

@taniandjerry taniandjerry added medium Weight label for Hacktoberfest 2025 issues and removed large Weight label for Hacktoberfest 2025 issues labels Oct 14, 2025
@taniandjerry
Copy link
Contributor

I have updated everything for you, so you don't have anything to do other than address any final changes here or in #5131 if anything comes up cc @iandouglas

@ARYPROGRAMMER
Copy link
Contributor Author

this is also ready for review, let me know if all my issues are completed after this merge

@taniandjerry
Copy link
Contributor

#5121

I don't believe I see all the changes Ian requested to this recipe, @ARYPROGRAMMER. After ensuring you have resolved all changes asked for, then we can do another review to help get this merged.

@iandouglas may also have additional comments, but is also traveling and will be delayed in replies. Thank you for reviewing the feedback and applying it to your recipe in the meantime!

@ARYPROGRAMMER
Copy link
Contributor Author

#5121

I don't believe I see all the changes Ian requested to this recipe, @ARYPROGRAMMER. After ensuring you have resolved all changes asked for, then we can do another review to help get this merged.

@iandouglas may also have additional comments, but is also traveling and will be delayed in replies. Thank you for reviewing the feedback and applying it to your recipe in the meantime!

surely let me track down all things once again

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

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

🔍 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.

@ARYPROGRAMMER
Copy link
Contributor Author

now i see, i wanted to tell something before removing it completely,

i fixed the thing that was concerning @iandouglas and added more strict behaviour, the thing thats concerning me still is the usage of memory extension for large context handling. conducting previous recipe tests i still believe it could handle a good amount of context and new md files might just be an overhead. moreover there must be another clever way of solving this within the limits of memory extension if thats the case, anyhow currently it works as per your ideas to store patterns in repository files (.goosehints, AGENTS.md, DOCS_GUIDELINES.md)

one cool thing to do would be to create a new system extension for larger context management which can maybe do the same repetitive task of internal md creation in goose-session. just an idea though, if some issue like this exists - i'll be glad to take it up

thanks and most likely now its ready for review

@iandouglas
Copy link
Contributor

iandouglas commented Oct 16, 2025

@ARYPROGRAMMER one thing I've done in my own goose memory setup is having a memory that says things like

# python standards development formatting linting api cli
If I ask Goose to help me read/write any kind of Python code, 
I want Goose to open and read the file "/path/to/python_standards.txt" 
for rules on how to do so.

this way, that VERY short memory goes to the LLM, and the LLM ill respond back to goose to say "hey, Ian does want Python, go get that file and send it to me, too" if it thinks it's doing Python work, otherwise it'll ignore that memory.

@ARYPROGRAMMER
Copy link
Contributor Author

@ARYPROGRAMMER one thing I've done in my own goose memory setup is having a memory that says things like

# python standards development formatting linting api cli
If I ask Goose to help me read/write any kind of Python code, 
I want Goose to open and read the file "/path/to/python_standards.txt" 
for rules on how to do so.

this way, that VERY short memory goes to the LLM, and the LLM ill respond back to goose to say "hey, Ian does want Python, go get that file and send it to me, too" if it thinks it's doing Python work, otherwise it'll ignore that memory.

Clever solution for usage, looks to me like similar to curssorrules and stuff but can there be a standard in future [fixed and common] so it's common globally, even curssorrules has a repo wide available file.

@ARYPROGRAMMER
Copy link
Contributor Author

@taniandjerry , let me know if i can work on any other issue after this, you can directly assign me some large (if recipe) one. hope your consolidation of prs is correct

thanks again

@taniandjerry
Copy link
Contributor

@taniandjerry , let me know if i can work on any other issue after this, you can directly assign me some large (if recipe) one. hope your consolidation of prs is correct

thanks again

Thank you for addressing feedback! I have consolidated and updated weights according to what I shared before. Thank you so much again! While you can't work on another recipe this week, I did tag you in an open video, along with blog post or other issues you can check out in this search

@taniandjerry taniandjerry merged commit b48a7ff into block:main Oct 16, 2025
14 checks passed
katzdave added a commit that referenced this pull request Oct 16, 2025
* 'main' of github.com:block/goose:
  Break compaction back into check_ and do_ compaction (#5212)
  fix: revert built app name to uppercase Goose (#5206)
  feat: add Code Documentation Generator recipe (#5121) (#5125)
  Revert "feat: enhance goose to search sessions for easy recall (#5177)" (#5209)
@alexhancock alexhancock mentioned this pull request Oct 17, 2025
michaelneale added a commit that referenced this pull request Oct 17, 2025
* main: (119 commits)
  Break compaction back into check_ and do_ compaction (#5212)
  fix: revert built app name to uppercase Goose (#5206)
  feat: add Code Documentation Generator recipe (#5121) (#5125)
  Revert "feat: enhance goose to search sessions for easy recall (#5177)" (#5209)
  Blog: Best Practices for Prompt Engineering with goose (#5204)
  force WAL sync after session create (#5202)
  Feat: goose Apify MCP integration docs (#5047)
  feat: enhance goose to search sessions for easy recall (#5177)
  Skip hidden & real format (#5194)
  docs: Hacktoberfest blog submission - Best Practices for Using Goose in Enterprise Environments by Anudhyan Datta. (#5184)
  docs: prompt injection detection (#5193)
  Fix mcp large response race condition (#5065)
  Compaction overhaul (#5186)
  fix: #3960 better approach to input schema for dynamic task params (#5189)
  used recipe id or deeplink to start agent (#5154)
  [docs] Add Blog Post: "Designing AI for Users, Not Just LLMs" (#5190)
  docs: update cognee, jetbrains, mbot extensions config (#5172)
  Minimally disable subagents when not in autonomous model (#5149)
  Fix provider sort (#5188)
  blog: Getting Started with Goose on Windows (#5156)
  ...
michaelneale added a commit that referenced this pull request Oct 17, 2025
* main: (143 commits)
  Break compaction back into check_ and do_ compaction (#5212)
  fix: revert built app name to uppercase Goose (#5206)
  feat: add Code Documentation Generator recipe (#5121) (#5125)
  Revert "feat: enhance goose to search sessions for easy recall (#5177)" (#5209)
  Blog: Best Practices for Prompt Engineering with goose (#5204)
  force WAL sync after session create (#5202)
  Feat: goose Apify MCP integration docs (#5047)
  feat: enhance goose to search sessions for easy recall (#5177)
  Skip hidden & real format (#5194)
  docs: Hacktoberfest blog submission - Best Practices for Using Goose in Enterprise Environments by Anudhyan Datta. (#5184)
  docs: prompt injection detection (#5193)
  Fix mcp large response race condition (#5065)
  Compaction overhaul (#5186)
  fix: #3960 better approach to input schema for dynamic task params (#5189)
  used recipe id or deeplink to start agent (#5154)
  [docs] Add Blog Post: "Designing AI for Users, Not Just LLMs" (#5190)
  docs: update cognee, jetbrains, mbot extensions config (#5172)
  Minimally disable subagents when not in autonomous model (#5149)
  Fix provider sort (#5188)
  blog: Getting Started with Goose on Windows (#5156)
  ...
anthonydmays pushed a commit to anthonydmays/goose that referenced this pull request Oct 17, 2025
zanesq added a commit that referenced this pull request Oct 17, 2025
* 'main' of github.com:block/goose: (22 commits)
  Rewrite extension management tools (#5057)
  fix: re-sync package-lock.json (#5235)
  docs: Hacktoberfest MCP youtube short entry to community-content.json (#5150)
  feat: add schedule button to recipe entries (#5217)
  Autocompact threshold UI cleanup (#5232)
  fix: correct schema for openai tools (#5229)
  Break compaction back into check_ and do_ compaction (#5212)
  fix: revert built app name to uppercase Goose (#5206)
  feat: add Code Documentation Generator recipe (#5121) (#5125)
  Revert "feat: enhance goose to search sessions for easy recall (#5177)" (#5209)
  Blog: Best Practices for Prompt Engineering with goose (#5204)
  force WAL sync after session create (#5202)
  Feat: goose Apify MCP integration docs (#5047)
  feat: enhance goose to search sessions for easy recall (#5177)
  Skip hidden & real format (#5194)
  docs: Hacktoberfest blog submission - Best Practices for Using Goose in Enterprise Environments by Anudhyan Datta. (#5184)
  docs: prompt injection detection (#5193)
  Fix mcp large response race condition (#5065)
  Compaction overhaul (#5186)
  fix: #3960 better approach to input schema for dynamic task params (#5189)
  ...
wpfleger96 added a commit to wpfleger96/goose that referenced this pull request Oct 17, 2025
* main:
  delete flaky pricing integration tests (block#5207)
  chore: upgrade most npm packages to latest (block#5185)
  Release/1.11.0 (block#5224)
  Rewrite extension management tools (block#5057)
  fix: re-sync package-lock.json (block#5235)
  docs: Hacktoberfest MCP youtube short entry to community-content.json (block#5150)
  feat: add schedule button to recipe entries (block#5217)
  Autocompact threshold UI cleanup (block#5232)
  fix: correct schema for openai tools (block#5229)
  Break compaction back into check_ and do_ compaction (block#5212)
  fix: revert built app name to uppercase Goose (block#5206)
  feat: add Code Documentation Generator recipe (block#5121) (block#5125)
tlongwell-block added a commit that referenced this pull request Oct 18, 2025
* origin/main: (66 commits)
  Revert "Rewrite extension management tools" (#5243)
  Standardize Session Name Attribute (#5085)
  Docs: Include step-by-step model configuration instructions for first… (#5239)
  Delete message visibility filter (#5216)
  delete flaky pricing integration tests (#5207)
  chore: upgrade most npm packages to latest (#5185)
  Release/1.11.0 (#5224)
  Rewrite extension management tools (#5057)
  fix: re-sync package-lock.json (#5235)
  docs: Hacktoberfest MCP youtube short entry to community-content.json (#5150)
  feat: add schedule button to recipe entries (#5217)
  Autocompact threshold UI cleanup (#5232)
  fix: correct schema for openai tools (#5229)
  Break compaction back into check_ and do_ compaction (#5212)
  fix: revert built app name to uppercase Goose (#5206)
  feat: add Code Documentation Generator recipe (#5121) (#5125)
  Revert "feat: enhance goose to search sessions for easy recall (#5177)" (#5209)
  Blog: Best Practices for Prompt Engineering with goose (#5204)
  force WAL sync after session create (#5202)
  Feat: goose Apify MCP integration docs (#5047)
  ...
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 medium Weight label for Hacktoberfest 2025 issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🍳 Advanced Recipe Submission #4

3 participants