Skip to content

Conversation

@aegntic
Copy link
Contributor

@aegntic aegntic commented Oct 6, 2025

Summary

Type of Change

  • Future
  • Big fux
  • Refracture / Egg quality
  • Preformance Enhancement
  • Documensturation
  • Toast
  • Security flex
  • Build / Realise
  • Otter (silly goose)

Testing

Related Issues

Relates to #4933
Discussion: #4933

Screenshots/Demos (for UX changes)

Before:

After:

Email: [email protected]

aegntic and others added 13 commits October 2, 2025 12:21
Add an impressive beginner-level recipe that automatically organizes and prioritizes tasks from various sources (files, emails, messages) into actionable todo lists using AI-powered automation.

Key Features:
- Multi-source task extraction (files, emails, messages, notes)
- Intelligent categorization by urgency and importance
- Project-based task organization
- Priority filtering and deadline tracking
- Actionable task transformation

Recipe Details:
- Uses exactly 1 built-in MCP server (Filesystem) - beginner requirement
- Comprehensive parameter system for flexible task management
- Detailed prompt template with conditional logic
- Follows proper YAML structure and validation
- Addresses real-world productivity challenges

Hacktoberfest Contribution:
- Addresses issue block#4933: Beginner Recipe Submission block#2
- Meets all beginner recipe criteria
- Provides immediate value to users
- Demonstrates practical AI workflow automation

Impact:
- Helps users turn scattered information into organized action plans
- Reduces task overwhelm through intelligent prioritization
- Enhances productivity with automated task management
- Showcases practical AI-assisted workflow optimization

Signed-off-by: aegntic <[email protected]>
…' into feat/smart-task-organizer-recipe

Signed-off-by: aegntic <[email protected]>
… organization

- Add structured 4-phase prompt system (discovery, analysis, organization, summary)
- Implement prompt chain definition for sequential processing
- Create specialized agent prompts for each phase
- Enhance MCP filesystem integration with specific capabilities
- Add intelligent task extraction and prioritization rules
- Include comprehensive output filtering and workflow optimization
- Improve actionable insights and next steps generation

Signed-off-by: aegntic <[email protected]>
- Enhanced Windows detection for Git Bash, MSYS2, Cygwin, and WSL environments
- Added multiple detection methods: WINDIR, OSTYPE, /proc/version, mount points, Windows executables
- Fixed issue where Git Bash on Windows incorrectly detected as Linux
- Added debug output to help troubleshoot OS detection issues
- Improved extraction tool validation based on detected OS
- Fixes block#4848 where CLI installation failed due to downloading Linux tar.bz2 instead of Windows zip

Closes block#4848

Signed-off-by: aegntic <[email protected]>

diff --git a/download_cli.sh b/download_cli.sh
index 2131924..107d3e7 100755
--- a/download_cli.sh
+++ b/download_cli.sh
@@ -36,6 +36,20 @@ if ! command -v tar >/dev/null 2>&1 && ! command -v unzip >/dev/null 2>&1; then
   exit 1
 fi

+# Check for required extraction tools based on detected OS
+if [ "$OS" = "windows" ]; then
+  # Windows uses PowerShell's built-in Expand-Archive - check if PowerShell is available
+  if ! command -v powershell.exe >/dev/null 2>&1 && ! command -v pwsh >/dev/null 2>&1; then
+    echo "Warning: PowerShell is recommended to extract Windows packages but was not found."
+    echo "Falling back to unzip if available."
+  fi
+else
+  if ! command -v tar >/dev/null 2>&1; then
+    echo "Error: 'tar' is required to extract packages for $OS. Please install tar and try again."
+    exit 1
+  fi
+fi
+

 # --- 2) Variables ---
 REPO="block/goose"
@@ -58,12 +72,33 @@ else
 fi

 # --- 3) Detect OS/Architecture ---
-OS=$(uname -s | tr '[:upper:]' '[:lower:]')
+# Better OS detection for Windows environments
+if [[ "${WINDIR:-}" ]] || [[ "${windir:-}" ]] || [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "cygwin" ]]; then
+    OS="windows"
+elif [[ -f "/proc/version" ]] && grep -q "Microsoft\|WSL" /proc/version 2>/dev/null; then
+    # WSL detection
+    OS="windows"
+elif [[ "$PWD" =~ ^/mnt/[a-zA-Z]/ ]]; then
+    # WSL mount point detection (like /mnt/c/)
+    OS="windows"
+elif [[ "$OSTYPE" == "darwin"* ]]; then
+    OS="darwin"
+elif command -v powershell.exe >/dev/null 2>&1 || command -v cmd.exe >/dev/null 2>&1; then
+    # Check if Windows executables are available (another Windows indicator)
+    OS="windows"
+elif [[ "$PWD" =~ ^/[a-zA-Z]/ ]] && [[ -d "/c" || -d "/d" || -d "/e" ]]; then
+    # Check for Windows-style mount points (like in Git Bash)
+    OS="windows"
+else
+    # Fallback to uname for other systems
+    OS=$(uname -s | tr '[:upper:]' '[:lower:]')
+fi
+
 ARCH=$(uname -m)

 # Handle Windows environments (MSYS2, Git Bash, Cygwin, WSL)
 case "$OS" in
-  linux|darwin) ;;
+  linux|darwin|windows) ;;
   mingw*|msys*|cygwin*)
     OS="windows"
     ;;
@@ -87,6 +122,16 @@ case "$ARCH" in
     ;;
 esac

+# Debug output (safely handle undefined variables)
+echo "WINDIR: ${WINDIR:-<not set>}"
+echo "OSTYPE: $OSTYPE"
+echo "uname -s: $(uname -s)"
+echo "uname -m: $(uname -m)"
+echo "PWD: $PWD"
+
+# Output the detected OS
+echo "Detected OS: $OS with ARCH $ARCH"
+
 # Build the filename and URL for the stable release
 if [ "$OS" = "darwin" ]; then
   FILE="goose-$ARCH-apple-darwin.tar.bz2"
@aegntic aegntic requested a review from a team as a code owner October 6, 2025 17:39
@taniandjerry taniandjerry added the hacktoberfest Issues awarding points for Hacktoberfest 2025! label Oct 6, 2025
@iandouglas
Copy link
Contributor

hey @aegntic don't forget to add your email address to the initial PR message in the following format, and link to a hacktoberfest issue if you want extra credit for your work.

Email: [email protected]

@iandouglas
Copy link
Contributor

hey @aegntic can you remove the download_cli.sh from this PR so the core team can evaluate that separately? I'll get this merged in ASAP once you do. Thanks!

@taniandjerry
Copy link
Contributor

Hi @aegntic ! just wanted to comment again so you have a chance to review and make changes <3

@iandouglas
Copy link
Contributor

Hi @aegntic ca you remove the download_cli.sh from this and check if there are any other merge conflicts?

@aegntic
Copy link
Contributor Author

aegntic commented Oct 16, 2025

im checking it now :)

aegntic pushed a commit to aegntic/goose that referenced this pull request Oct 16, 2025
@aegntic aegntic force-pushed the feat/smart-task-organizer-recipe branch from ece9556 to 7a79a1d Compare October 16, 2025 11:26
@aegntic
Copy link
Contributor Author

aegntic commented Oct 16, 2025

hey @aegntic don't forget to add your email address to the initial PR message in the following format, and link to a hacktoberfest issue if you want extra credit for your work.

Email: [email protected]

my public email address or the one associated with openrouter? (i dont post it public)

@taniandjerry taniandjerry added the small Weight label for Hacktoberfest 2025 issues label Oct 20, 2025
@taniandjerry taniandjerry requested a review from a team October 20, 2025 15:41
@taniandjerry
Copy link
Contributor

hey @aegntic don't forget to add your email address to the initial PR message in the following format, and link to a hacktoberfest issue if you want extra credit for your work.
Email: [email protected]

my public email address or the one associated with openrouter? (i dont post it public)

I think public email is fine! it's for crediting you credits I believe cc @EbonyLouis :)

@aegntic
Copy link
Contributor Author

aegntic commented Oct 20, 2025 via email

@taniandjerry
Copy link
Contributor

taniandjerry commented Oct 20, 2025

Do you need the email associated with openrouter or will you send a code? :) thanks 😊

OH I see what you mean! Let me just triple check to confirm with the team in just a moment! Then I'll let you know and we can merge the PR after we have the email needed <3 good call!

@taniandjerry
Copy link
Contributor

You can share whichever email you prefer, so your public one is fine to confirm :) @aegntic

@taniandjerry taniandjerry merged commit f303d96 into block:main Oct 20, 2025
13 checks passed
@aegntic
Copy link
Contributor Author

aegntic commented Oct 20, 2025 via email

katzdave added a commit that referenced this pull request Oct 20, 2025
* 'main' of github.com:block/goose:
  Feat/smart task organizer recipe (#5032)
  docs: `goose recipe open` command (#5264)
tlongwell-block added a commit that referenced this pull request Oct 20, 2025
- Includes stable system prompt and tool ordering (#5192)
- Memory extension prompt updates (#4945)
- Smart task organizer recipe (#5032)
- Recipe open command docs (#5264)
- Various provider and UI updates
michaelneale added a commit that referenced this pull request Oct 21, 2025
* main:
  Fix extension manager resource deadlock (#5066)
  add new prompt for memory extension (#4945)
  feat: Stable system prompt and tool ordering for more cache hits (#5192)
  Remove gtag analytics error (#5268)
  Feat/smart task organizer recipe (#5032)
  docs: `goose recipe open` command (#5264)
  docs: provide more clarity in tagging step of releases (#5269)
  docs: add GOOSE_DEBUG environment variable (#5265)
michaelneale added a commit that referenced this pull request Oct 21, 2025
* main: (40 commits)
  Fix extension manager resource deadlock (#5066)
  add new prompt for memory extension (#4945)
  feat: Stable system prompt and tool ordering for more cache hits (#5192)
  Remove gtag analytics error (#5268)
  Feat/smart task organizer recipe (#5032)
  docs: `goose recipe open` command (#5264)
  docs: provide more clarity in tagging step of releases (#5269)
  docs: add GOOSE_DEBUG environment variable (#5265)
  Lifei/UI parameter input (#5222)
  turn off WAL (#5203)
  Skip subagents for gemini (#5257)
  Revert "Standardize Session Name Attribute" (#5250)
  improve provider request logging a bit (#5236)
  Fix OpenAI empty choices panic (#5248)
  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)
  ...
michaelneale added a commit that referenced this pull request Oct 21, 2025
* main:
  live testing script (#5263)
  Fix extension manager resource deadlock (#5066)
  add new prompt for memory extension (#4945)
  feat: Stable system prompt and tool ordering for more cache hits (#5192)
  Remove gtag analytics error (#5268)
  Feat/smart task organizer recipe (#5032)
  docs: `goose recipe open` command (#5264)
  docs: provide more clarity in tagging step of releases (#5269)
  docs: add GOOSE_DEBUG environment variable (#5265)
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Nov 29, 2025
Signed-off-by: aegntic <[email protected]>
Co-authored-by: Rizel Scarlett <[email protected]>
Co-authored-by: aegntic <[email protected]>
Signed-off-by: Blair Allan <[email protected]>
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 small Weight label for Hacktoberfest 2025 issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants