Repository navigation
feat(add): wire Go, Rust and Python backends - #258
Merged
Merged
Conversation
seamless add now detects go.mod (net/http, Gin, chi, Echo), Cargo.toml (Axum), and pyproject.toml or requirements.txt (FastAPI, Django), installs the matching adapter with the project's own tool, and prints the code for that framework. A plain pip project gets the install printed instead of run. Refs #248
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Second half of #248 (backends):
seamless addnow handles Go, Rust and Python projects on the v0.2.0 adapters.What changes
go.mod(Gin, chi or Echo from its requires, else net/http; entry at main.go, server.go or cmd/*/main.go),Cargo.tomlwith axum, andpyproject.tomlorrequirements.txtwith FastAPI or Django (Django points at the settings module from manage.py). Rust without Axum and Python without FastAPI or Django are reported as unsupported, and every folder is now read, so an unsupported stack is noted even after a backend is found.go get,cargo add,uv add,poetry add. A plain pip project getspip installprinted, not run, since the CLI cannot know which environment is the right one.Dev OTP to=... code=...), the /console mount behindSERVE_ADMIN_CONSOLE, a protected/api/me, and a note on how that language loads.env. The Axum code extends the existing router rather than replacing it.[tool.poetry.dependencies].seamless help addand a minor changeset.Verification
For each framework the printed code was pasted into a fresh app and built with that language's own toolchain, against a
seamless add --localstack (auth API v0.18.0):/api/me, logout), console proxy 200. Django ran with CSRF middleware on.go vetandgo buildclean.npm test1240 passed; coverage 98.7 statements, 95.94 branches, 99.25 lines.Angular, Vue and Svelte web apps remain on #248 once their bindings exist.