From bd0812cfd418754364f501f19c9983bbcdd40aec Mon Sep 17 00:00:00 2001 From: Michael Neale Date: Sat, 13 Sep 2025 17:06:37 +1000 Subject: [PATCH] template --- .../src/commands/goose_swarm/init_work.yaml | 40 +++++++++---------- .../src/commands/goose_swarm/plan_work.yaml | 12 +----- 2 files changed, 21 insertions(+), 31 deletions(-) diff --git a/crates/goose-cli/src/commands/goose_swarm/init_work.yaml b/crates/goose-cli/src/commands/goose_swarm/init_work.yaml index d9f708ec61..dce1ff3a58 100644 --- a/crates/goose-cli/src/commands/goose_swarm/init_work.yaml +++ b/crates/goose-cli/src/commands/goose_swarm/init_work.yaml @@ -4,7 +4,7 @@ description: Initialize a repository with workflow structure and basic scaffoldi instructions: | You are Goose Swarm agent working on a github repo {{ repo }}. Your job is to analyze issue #{{ issue_number }} and create initial scaffolding and workflow structure - since the repository doesn't have a .workflow directory yet. + since the repository is new. Context: - Issue: {{ issue_number }} @@ -14,31 +14,29 @@ instructions: | IMPORTANT: This repository is a brand new project, you will be choosing and implementing an initial scaffolding (non functional) and a simple github pipeline to validate this. - Remember: - - Focus on initialization and scaffolding tasks - - Create a GitHub Actions workflow pipeline that is crisp, simple, and fast - - you have access to git and gh cli tools - prompt: | I need to initialize and scaffold the following project description: {{ context }} - The repository is available for exploration at: {{ repo_dir }} - - Please: - 1. Analyize at a high level what will be built, it may be a vague description so some imagination needed. - 2. Choose an appropriate starting tech stack approach (minimal) - 3. Layout minimal project structure for this, and a github workflow to validate it - 4. Create a branch, and push your changes to the branch (and then create a pull request from this branch using `gh pr create ...`) - 5. using gh CLI, it is critical you follow the PR to a successful state, checks passing, you can pull every 30 seconds to check for its success. - If failure or taking too long, iterate on your changes, simplify as needed, adjust pipeline and simplify. - 6. Merge your pull request into the main branch when successful - gh PR checks can be checked like this example: + Based on what you can tell, you are to select from one of the following template repos to help get started: - `gh pr checks 4557 --repo block/goose` - `gh run view 17548570648 --repo block/goose --logs` to view logs for failing checks if needed - `gh pr status ...` can be consulted + https://github.com/t3-oss/create-t3-app - typescript template + https://github.com/pwa-builder/pwa-starter - for apps which are mobile targeted, but can work as a progressive web apps + https://github.com/golang-templates/seed - a golang seed application for golang apps + https://github.com/android/nowinandroid - for rich full featured android app + https://github.com/Q42/template-ios - for ios + + For x-platform mobile apps, consider making a flutter app if not a PWA + + + + Clone a template repo into ~/.local/share/goose-swarm/templates if not already there when you have picked one (you can also inspect contents when in there to ensure it seems apporpruate) + Copy the contents into from templates dir {{ repo_dir }} and commit the changes with a message "chore: initial scaffolding" + Then push to the main branch of the repo with git cli that you have. + + use this pattern: + `cp -r ~/.local/share/goose-swarm/templates//* {{ repo_dir }}` + `git add . && git commit -m "chore: initial scaffolding" && git push origin main` - Remember: you are only done when successfully merged in to main branch with passing workflow checks. \ No newline at end of file diff --git a/crates/goose-cli/src/commands/goose_swarm/plan_work.yaml b/crates/goose-cli/src/commands/goose_swarm/plan_work.yaml index 69f40c923e..c10cf107d9 100644 --- a/crates/goose-cli/src/commands/goose_swarm/plan_work.yaml +++ b/crates/goose-cli/src/commands/goose_swarm/plan_work.yaml @@ -53,22 +53,14 @@ prompt: | The repository is available for exploration at: {{ repo_dir }} Please: - 1. First explore the repository structure at {{ repo_dir }} to understand the codebase - 2. Analyze the issue requirements in context of the actual code + 1. First explore the repository structure at {{ repo_dir }} to understand the codebase (it may be in a new or templated state, that is ok, you are to evolve and change it) + 2. Analyze the issue requirements in context of the actual code and layout 3. Create appropriate task files in {{ work_dir }}/tasks/ for drone workers to execute 4. If there are complex sub-components that need additional planning, create issue files in {{ work_dir }}/issues/ 5. In the tasks do not be overly prescriptive for how the drones should operate (drones will know how to do PRs and builds when asked), focus on what is needed, how to validate, what is essential, and you can offer suggestions. - make clear suggestions vs requirements. - Tips when starting: - * ONLY if no code exists, you should plan a task to scaffold the necessary structure, including a github workflow pipeline to validate changes, the task could include a minimal implementation if clear - - the pipeline should be crisp and simple and fast to validate. - - it is important you have a scaffold and pipeline in place - * a follow on issue may be required to implement things after scaffolding is in place - * be clear and thorough in your task instructions - * if suggesting new issues, they will be seperately planned and implemented - Each task should be independently executable and result in a PR that addresses part of this issue. Target creating around {{ available_nodes }} tasks if the work can be parallelized effectively.