refactor: rename API and frontend projects to Vocero
Rename the project directories, Python distribution and import package, and npm package. Update launcher, Docker, tooling, tests, lockfiles, and documentation while preserving existing API contracts. Make AGENTS.md self-contained and remove external skill and workflow references.
This commit is contained in:
+19
-12
@@ -1,11 +1,18 @@
|
||||
# Backend development and compatibility
|
||||
|
||||
The FastAPI project lives entirely in `s2s-client/`. It uses uv 0.12.5, Python
|
||||
The FastAPI project lives entirely in `vocero-api/`. It uses uv 0.12.5, Python
|
||||
3.12, and a committed `uv.lock`. The frontend and speech pipeline keep their
|
||||
own tooling. Runtime dependency versions match the environment used to capture
|
||||
the pre-migration server; framework upgrades require a separate compatibility
|
||||
review.
|
||||
|
||||
The Python distribution is named `vocero-api`, and its import package is
|
||||
`vocero_api`. The browser package and directory are both named `vocero-frontend`.
|
||||
`start_ui.sh` creates the API environment at its current path on the next start;
|
||||
do not move an existing virtual environment because its executables contain
|
||||
absolute paths. Reinstall optional Git hooks after a project-directory rename
|
||||
with `make -C vocero-api hooks-install`.
|
||||
|
||||
Pytest filters only the known `anyio.abc.BlockingPortal` deprecation emitted by
|
||||
Starlette's test client ([upstream issue](https://github.com/Kludex/starlette/issues/3497)).
|
||||
The filter matches the exact message, warning category, and module; other
|
||||
@@ -17,24 +24,24 @@ the deprecated alias. Runtime dependencies and warning handling are unchanged.
|
||||
From the repository root:
|
||||
|
||||
```bash
|
||||
make -C s2s-client install # uv sync --locked, including development tools
|
||||
make -C s2s-client format # Ruff safe fixes and formatting
|
||||
make -C s2s-client check # lock freshness, format, lint, mypy, pytest
|
||||
make -C s2s-client test-launcher # Bash supervisor integration fixtures
|
||||
make -C s2s-client test-image # Docker build and isolated runtime smoke test
|
||||
make -C vocero-api install # uv sync --locked, including development tools
|
||||
make -C vocero-api format # Ruff safe fixes and formatting
|
||||
make -C vocero-api check # lock freshness, format, lint, mypy, pytest
|
||||
make -C vocero-api test-launcher # Bash supervisor integration fixtures
|
||||
make -C vocero-api test-image # Docker build and isolated runtime smoke test
|
||||
```
|
||||
|
||||
Run `uv lock` inside `s2s-client/` when intentionally changing dependencies.
|
||||
Run `uv lock` inside `vocero-api/` when intentionally changing dependencies.
|
||||
Do not install server packages into a shared root environment. The launcher
|
||||
syncs `s2s-client/.venv` and retains root `.env` loading, port defaults,
|
||||
syncs `vocero-api/.venv` and retains root `.env` loading, port defaults,
|
||||
readiness checks, and process-group shutdown. Offline starts require the
|
||||
locked packages and Python runtime to have been installed or cached already.
|
||||
|
||||
Optional hooks use `make -C s2s-client hooks-install`; the configuration stays
|
||||
in `s2s-client/.pre-commit-config.yaml`. `make -C s2s-client hooks-run` runs the
|
||||
Optional hooks use `make -C vocero-api hooks-install`; the configuration stays
|
||||
in `vocero-api/.pre-commit-config.yaml`. `make -C vocero-api hooks-run` runs the
|
||||
same hooks without installing them. Hooks and Python quality checks apply
|
||||
only to the client service. The server entry points are `s2s_client.main:app`
|
||||
and the retained `server:app` shim; use `--app-dir s2s-client` from the root.
|
||||
only to the client service. The server entry points are `vocero_api.main:app`
|
||||
and the retained `server:app` shim; use `--app-dir vocero-api` from the root.
|
||||
|
||||
## Schema boundaries
|
||||
|
||||
|
||||
Reference in New Issue
Block a user