Skip to content

Proposal: Multi-developer configuration for distributed teams#30

Closed
marcoaperez wants to merge 1 commit into
petrowsky:mainfrom
Taiko-Solutions:proposal/multi-developer-config
Closed

Proposal: Multi-developer configuration for distributed teams#30
marcoaperez wants to merge 1 commit into
petrowsky:mainfrom
Taiko-Solutions:proposal/multi-developer-config

Conversation

@marcoaperez
Copy link
Copy Markdown
Contributor

This adds a design proposal at docs/proposals/multi-developer-config.md covering how to support multiple developers working against the same FMS-hosted solution — each from their own machine, with their own local agentic-fm repo and their own companion server — without having to edit FM scripts for every person on the team.

Context

Get agentic-fm path currently assumes one developer per solution (caches the chosen folder in $$AGENTIC.FM for the session), and Explode XML hardcodes the companion URL to http://localhost:8765. With the exclusive-bind policy where COMPANION_BIND_HOST points at a LAN or Tailscale address instead of 127.0.0.1, localhost returns "Connection refused", and teams end up with a chain of If Get(AccountName) = "..." branches inside the script — a hardcoded path and companion IP per developer, edited directly into the .fmp12.

That workaround doesn't scale, mixes environment config with package logic, and forces machine-specific data to live inside the solution file instead of in the repo where it belongs.

Proposal

Full writeup in docs/proposals/multi-developer-config.md. Short version:

  • Move per-developer config to an optional users section in automation.json (already lives next to each developer's companion).
  • Add a GET /whoami endpoint to the companion server that reads that section and returns the block for the current account.
  • Refactor Get agentic-fm path to cascade: cached global → companion /whoami → optional agentic_fm_users FM table → interactive dialog fallback.
  • Parametrize Explode XML's URL with $$AGENTIC.FM.COMPANION.HOST / $$AGENTIC.FM.COMPANION.PORT globals populated by Get agentic-fm path.

All fully backward-compatible — solo developers see no functional change, everything is opt-in.

What this PR contains

Just the markdown writeup under docs/proposals/. If the direction lands well, I'm happy to follow up with the implementation PRs, split by component (automation.json schema, companion_server.py endpoint, FM script refactors, and the filemaker/README.md section).

Adds a design proposal for supporting multiple developers working
against the same FMS-hosted solution, each from their own machine
with their own local repo and companion server. Describes the
problem, three design options, and a two-iteration implementation
path that stays backward-compatible with the current single-dev
workflow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant