sf-agent-framework
Version:
AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction
222 lines (213 loc) • 6.88 kB
YAML
title: Interactive Project Setup Workflow
description: Guide users through project initialization with choices and validation
interactive: true
phases:
- name: project_initialization
description: Initialize the project with user preferences
choice_prompt: How would you like to start your project?
user_choices:
- label: Start with requirements gathering
value: requirements_first
- label: Begin with technical architecture
value: architecture_first
- label: Create user stories immediately
value: stories_first
branches:
requirements_first:
name: Requirements-Driven Approach
steps:
- name: Gather business requirements
agent: sf-business-analyst
creates: requirements.md
- name: Identify stakeholders
agent: sf-business-analyst
creates: stakeholders.md
- name: Define success criteria
agent: sf-product-manager
creates: success-criteria.md
architecture_first:
name: Architecture-Driven Approach
steps:
- name: Design system architecture
agent: sf-architect
creates: architecture.md
- name: Define integration points
agent: sf-architect
creates: integrations.md
- name: Plan data model
agent: sf-data-architect
creates: data-model.md
stories_first:
name: Story-Driven Approach
steps:
- name: Create epic structure
agent: sf-business-analyst
creates: epics.md
- name: Write user stories
agent: sf-business-analyst
creates: user-stories.md
- name: Define acceptance criteria
agent: sf-tester
creates: acceptance-criteria.md
validation_gate:
name: Initial Setup Validation
validations:
- name: Required artifacts created
type: artifacts_exist
required:
- requirements.md
- name: Key steps completed
type: steps_completed
required:
- Gather business requirements
- name: team_formation
description: Set up the project team structure
choice_prompt: What is your team composition?
user_choices:
- label: Full agile team
value: full_team
- label: Small team (2-3 people)
value: small_team
- label: Solo developer
value: solo
branches:
full_team:
name: Full Team Setup
steps:
- name: Assign team roles
action: assign_roles
- name: Set up communication channels
action: setup_slack
- name: Configure JIRA project
action: setup_jira
small_team:
name: Small Team Setup
steps:
- name: Define role responsibilities
action: define_roles
- name: Set up lightweight tracking
action: setup_trello
solo:
name: Solo Developer Setup
steps:
- name: Create personal kanban
action: setup_kanban
- name: Set up documentation structure
action: setup_docs
next_conditions:
- if_choice_was: full_team
go_to: sprint_planning
- if_choice_was: small_team
go_to: lightweight_planning
- if_choice_was: solo
go_to: task_planning
- name: sprint_planning
description: Plan the first sprint with full agile ceremonies
steps:
- name: Create sprint backlog
agent: sf-product-manager
creates: sprint-backlog.md
- name: Estimate story points
agent: sf-product-manager
- name: Define sprint goals
agent: sf-product-manager
creates: sprint-goals.md
validation_gate:
name: Sprint Ready
validations:
- name: Sprint artifacts ready
type: artifacts_exist
required:
- sprint-backlog.md
- sprint-goals.md
- name: lightweight_planning
description: Simple planning for small teams
steps:
- name: Create task list
agent: sf-product-manager
creates: tasks.md
- name: Set milestones
agent: sf-product-manager
creates: milestones.md
- name: task_planning
description: Individual task planning for solo developers
steps:
- name: Break down work
agent: sf-developer
creates: work-breakdown.md
- name: Create timeline
agent: sf-developer
creates: timeline.md
- name: development_setup
description: Set up development environment
choice_prompt: Choose your development approach
user_choices:
- label: Scratch org development
value: scratch_org
- label: Sandbox development
value: sandbox
- label: Developer edition
value: dev_edition
branches:
scratch_org:
name: Scratch Org Setup
steps:
- name: Configure scratch org definition
agent: sf-devops-lead
creates: config/project-scratch-def.json
- name: Create scratch org
action: sfdx:org:create
- name: Push source code
action: sfdx:source:push
sandbox:
name: Sandbox Setup
steps:
- name: Refresh sandbox
action: refresh_sandbox
- name: Configure deployment settings
agent: sf-devops-lead
creates: deployment-settings.xml
dev_edition:
name: Developer Edition Setup
steps:
- name: Configure org
action: configure_org
- name: Install packages
action: install_packages
validation_gate:
name: Environment Ready
validations:
- name: Org accessible
type: custom
check: verify_org_access
- name: Source control configured
type: custom
check: verify_git_setup
- name: quality_gates
description: Set up quality and governance gates
steps:
- name: Configure CI/CD pipeline
agent: sf-devops-lead
creates: .github/workflows/ci.yml
- name: Set up code review process
agent: sf-chief-architect
creates: code-review-checklist.md
- name: Define testing strategy
agent: sf-tester
creates: test-strategy.md
validation_gate:
name: Quality Framework Ready
validations:
- name: CI/CD configured
type: artifacts_exist
required:
- .github/workflows/ci.yml
- name: Testing strategy defined
type: artifacts_exist
required:
- test-strategy.md
final_summary:
message: Project setup complete!
show_artifacts: true
show_next_steps: true
generate_readme: true