## Summary Integrated **sd-card** workflow for interactive specification generation: - ✅ Added sd-card flake input - ✅ Created `nix run .#dev` - starts Vite with annotation proxy - ✅ Updated dev shell with sd-card tools (tea, playwright, nodejs) - ✅ Replaced old forgejo-workflow with sd-card ## Usage ### Widget-based annotation ```bash FORGEJO_TOKEN="your-token" nix run .#dev ``` Opens SvelteKit with ✦ widget injected on every page. ### Interactive annotation (recommended) Ask Claude to interact with the app via Claudezilla: ``` User: "Open solidhaus" Claude: [opens in Firefox] User: "Click the scan barcode button" Claude: [clicks, shows screenshot] User: "This should open the camera" Claude: [generates Gherkin scenario] ``` ## Test Plan - [x] Flake builds successfully - [x] `nix run .#dev` starts dev server with proxy - [x] Widget injects on pages - [x] Claudezilla can open and interact with app - [x] Dev shell includes all sd-card tools 🤖 Generated with Claude Code Reviewed-on: toph/solidhaus#2 Co-authored-by: Christopher Mühl <toki@toph.so> Co-committed-by: Christopher Mühl <toki@toph.so>
34 lines
953 B
Nix
34 lines
953 B
Nix
{
|
|
description = "solidhaus dev shell";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
sd-card.url = "git+ssh://git@git.toph.so/toph/sd-card";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, sd-card }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
in
|
|
{
|
|
packages = {
|
|
# nix run .#dev — start SvelteKit dev server with annotation proxy
|
|
dev = sd-card.lib.${system}.mkDevApp {
|
|
inherit pkgs;
|
|
devCmd = "npm run dev";
|
|
devPort = 5173; # Vite default port
|
|
};
|
|
};
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
packages = sd-card.packages.${system}.tools # tea, jq, playwright, nodejs
|
|
++ (with pkgs; [
|
|
nodejs
|
|
nodePackages.npm
|
|
]);
|
|
};
|
|
}
|
|
);
|
|
}
|