Extend the fromFile feature to parse and generate executables from common developer tooling files including Makefiles, package.json scripts, and docker-compose configurations. This enables seamless onboarding to flow by automatically discovering existing project automation.
Base File Types
Makefile Support
# Build the application binary
build:
go build -o bin/app ./cmd/app
# Run all tests with coverage
test: ## Run unit and integration tests
go test -v -race -coverprofile=coverage.out ./...
# Deploy to production environment
deploy: build test
./scripts/deploy.sh production
Generated Executables:
build → flow build (verb: build, name: unset)
test → flow test (verb: test, description from comment)
deploy → flow deploy (verb: deploy, dependencies converted to serial steps)
package.json Scripts
{
"scripts": {
"dev": "vite dev --host",
"build": "vite build && tsc",
"test": "vitest run",
"test:watch": "vitest",
"lint": "eslint . --fix",
"preview": "vite preview"
}
}
Generated Executables:
dev → flow start dev (verb: start)
build → flow build (verb: build)
test → flow test (verb: test)
test:watch → flow watch test (verb: watch)
lint → flow lint (verb: lint)
preview → flow show preview (verb: show)
Docker Compose Services
services:
app:
build: .
ports: ["3000:3000"]
db:
image: postgres:15
environment:
POSTGRES_DB: myapp
redis:
image: redis:alpine
Generated Executables:
start app → flow start app (docker-compose up app)
start db → flow start db (docker-compose up db)
start → flow start (docker-compose up --all)
stop → flow stop (docker-compose down)
build app → flow build app (docker-compose build app)
Configuration
Workspace Flow File
fromFile:
- "package.json" # Parse npm scripts
- "Makefile" # Parse make targets
- "docker-compose.yml" # Parse compose services
- "scripts/*.sh" # Existing shell script support
Breaking change: Parsing Options
fromFile:
- path: "Makefile"
options:
ignoreTargets: [".PHONY", "clean"]
defaultVerb: "run"
- path: "package.json"
options:
scriptPrefix: "npm-"
verbMapping:
start: "start"
dev: "start"
build: "build"
test: "test"
Extend the
fromFilefeature to parse and generate executables from common developer tooling files including Makefiles, package.json scripts, and docker-compose configurations. This enables seamless onboarding to flow by automatically discovering existing project automation.Base File Types
Makefile Support
Generated Executables:
build→flow build(verb: build, name: unset)test→flow test(verb: test, description from comment)deploy→flow deploy(verb: deploy, dependencies converted to serial steps)package.json Scripts
{ "scripts": { "dev": "vite dev --host", "build": "vite build && tsc", "test": "vitest run", "test:watch": "vitest", "lint": "eslint . --fix", "preview": "vite preview" } }Generated Executables:
dev→flow start dev(verb: start)build→flow build(verb: build)test→flow test(verb: test)test:watch→flow watch test(verb: watch)lint→flow lint(verb: lint)preview→flow show preview(verb: show)Docker Compose Services
Generated Executables:
start app→flow start app(docker-compose up app)start db→flow start db(docker-compose up db)start→flow start(docker-compose up --all)stop→flow stop(docker-compose down)build app→flow build app(docker-compose build app)Configuration
Workspace Flow File
Breaking change: Parsing Options