[Activity] Ship quickstart-simple (echo) as an 'azd ai agent init' template
- Dominant language
- Go
- Stars
- 569
- Forks
- 364
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 136
Description
## Summary
Ship the **quickstart-simple** (echo, simple activity/Teams use case) sample as an `azd ai agent init` template so users can scaffold it directly from the template gallery, using the native activity flow delivered in #8939.
## Sample source
- Branch (current): https://github.com/microsoft-foundry/foundry-samples-pr/tree/hameed-kunkanoor/activity-samples/samples/python/hosted-agents/bring-your-own/activity/echo
- Repo / branch: `microsoft-foundry/foundry-samples-pr` @ `hameed-kunkanoor/activity-samples`
- Path: `samples/python/hosted-agents/bring-your-own/activity/echo`
- **Link to latest:** update to the canonical `foundry-samples` (main) location once the sample PR merges.
> **Blocked until the sample merges.** The sample above is not yet merged into `foundry-samples`. Once it lands, ship it as a native template with the changes below.
## To ship the sample as an azd template (native flow)
- Remove `azure.yaml`, `infra/`, and the old scripts (`post-deploy.ps1` / `setup-instance-bot.ps1`) — `azd ai agent init` scaffolds the native `azure.yaml` (foundry provider) and the extension handles the Azure Bot + Teams channel in `postdeploy`.
- Pin `azure-ai-agentserver-core` in `requirements.txt` to the same datestamp as `...-activity` (avoids pulling an incompatible core → container crash → no Teams reply).
- (Optional) Parameterize `manifest.json` `name.short` so multiple installs are distinguishable.
## To just use the sample directly (no templating)
- Interactive `azd ai agent init` → `provision` → `deploy` (sub/location are picked in the init prompts — no manual env setup).
- If core isn't pinned, pin it yourself to avoid the version risk.
- Teams packaging + install is manual either way — `azd deploy` emits a guide (`TEAMS_APP_SETUP.md`).
**Bottom line:** templating ≈ drop `azure.yaml`/`infra`/old scripts + pin core; direct use is basically ready to run, with core-pinning the only real gotcha.
## Related
- #8939 (native activity-protocol deploy path)
- #8955 (activity protocol support)
Contributor guide
Assessment
This issue has not been assessed yet.