{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":526363266,"defaultBranch":"main","name":"devbox","ownerLogin":"jetify-com","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-08-18T20:27:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/65328393?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720724481.0","currentOid":""},"activityList":{"items":[{"before":"dafd8b844ce8e6f92c3ebb84d126816c8d926293","after":"1d740e26c20de3838922a2aff6f20f56b11c4b91","ref":"refs/heads/landau/plugin-in-lock","pushedAt":"2024-07-11T20:44:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"Update lockfile for install/run/shell","shortMessageHtmlLink":"Update lockfile for install/run/shell"}},{"before":null,"after":"dafd8b844ce8e6f92c3ebb84d126816c8d926293","ref":"refs/heads/landau/plugin-in-lock","pushedAt":"2024-07-11T19:01:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"[lockfile] Fix built-in plugin issues","shortMessageHtmlLink":"[lockfile] Fix built-in plugin issues"}},{"before":null,"after":"b7e36375852fd8a5728693de3165cafe7e5c9e5e","ref":"refs/heads/jl/nixhub-api-docs","pushedAt":"2024-07-11T01:00:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Lagoja","name":"John Lago","path":"/Lagoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/750845?s=80&v=4"},"commit":{"message":"Initial docs","shortMessageHtmlLink":"Initial docs"}},{"before":"94de0d67aa40104e7d562daad10beec5b1557122","after":"56ba0c1d283648446077e82514e54952ab8d3e9e","ref":"refs/heads/main","pushedAt":"2024-07-09T22:45:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Lagoja","name":"John Lago","path":"/Lagoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/750845?s=80&v=4"},"commit":{"message":"[example] add R example (#2183)\n\n## Summary\r\n\r\nThis adds README and example R script (along with devbox.lock and\r\ndevbox.json)\r\n\r\n## How was it tested?\r\n\r\nI tested the example repo on both `aarch64-darwin` and `x86_64-linux` by\r\n`cd`'ing into `examples/data_science/R` directory; running `devbox\r\nshell` then `Rscript src/examplePlot.R`. I considered the test to have\r\npassed if an Rplots.pdf file was produced with a scatterplot image.\r\n\r\nThis *should* do for most R users. However there is a case that I\r\nhaven't handled: Sometimes users will want to install packages that are\r\nnot on CRAN and therefore not on nixpkgs/nixhub.io (e.g. installing\r\npackages from github using the `R` package `devtools`). I'm not sure of\r\nan easy way to address this yet.\r\n\r\nAddresses https://github.com/jetify-com/devbox/issues/2182","shortMessageHtmlLink":"[example] add R example (#2183)"}},{"before":"8f8cc3de0ac91920ee95393ebf69fea0a2eb6b6b","after":"58c57a939a696386639ac79704c5c610cf324e94","ref":"refs/heads/gcurtis/package-spec","pushedAt":"2024-07-07T02:33:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gcurtis","name":"Greg Curtis","path":"/gcurtis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/230338?s=80&v=4"},"commit":{"message":"internal/devconfig: add PackageSpec for parsing package strings\n\nAttempt to formalize raw Devbox package strings (hereby called package\nspecs) by introducing a new `PackageSpec` type.\n\nThis commit just adds the new parsing logic, it doesn't integrate it\nwith any other code yet. The `PackageSpec` type is the result of parsing\na raw string with `ParsePackageSpec`:\n\n\ttype PackageSpec struct {\n\t\tName, Version string\n\t\tInstallable flake.Installable\n\t\tAttrPathInstallable flake.Installable\n\t\tRunX types.PkgRef\n\t}\n\n\tfunc ParsePackageSpec(raw, nixpkgsCommit string) PackageSpec\n\nWhen a package spec is ambiguous, `ParsePackageSpec` will populate the\n`PackageSpec` fields with all possible interpretations. For example, the\nspec `go` could be `go@latest`, a flake named `go`, or the attribute\npath `nixpkgs#go`. It's up to a resolver to try them in some priority\norder and pick one.","shortMessageHtmlLink":"internal/devconfig: add PackageSpec for parsing package strings"}},{"before":"013fdcfac47b85c3e9836d3c86d077dc197f4bc6","after":null,"ref":"refs/heads/mohsen--envparser","pushedAt":"2024-06-28T20:17:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"}},{"before":"12520333d5e26e968a9b63411f47f08d083fbcdc","after":"94de0d67aa40104e7d562daad10beec5b1557122","ref":"refs/heads/main","pushedAt":"2024-06-28T20:17:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"},"commit":{"message":"Used go-envparse to parse .env files (#2177)\n\n## Summary\r\nTSIA\r\n\r\nWill hold off on updating the docs until the `flakepath` discussion is\r\nresolved.\r\n\r\n## How was it tested?\r\ndevbox run test","shortMessageHtmlLink":"Used go-envparse to parse .env files (#2177)"}},{"before":null,"after":"013fdcfac47b85c3e9836d3c86d077dc197f4bc6","ref":"refs/heads/mohsen--envparser","pushedAt":"2024-06-28T18:37:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"},"commit":{"message":"Used go-envparse to parse .env file","shortMessageHtmlLink":"Used go-envparse to parse .env file"}},{"before":"ae6a9ef4c3779b34d14caa38db33c3ef7f979cf2","after":null,"ref":"refs/heads/mohsen--env-from-dotenv","pushedAt":"2024-06-28T14:11:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"}},{"before":"7d7741b855ab5c0f33bc81edca364aaf7763cc61","after":"12520333d5e26e968a9b63411f47f08d083fbcdc","ref":"refs/heads/main","pushedAt":"2024-06-28T14:11:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"},"commit":{"message":"[devbox.json] support env_from dotenv files (#2174)\n\n## Summary\nNOTE: Docs update PR will follow.\nAs per request from users, I added support for `env_from` field being\nable to take a path to `*.env` file and have those env variables\navailable in devbox shell and run.\n\nIf a duplicate env variable is specified in both `.env` and in the\n`\"env\"` section of devbox.json, the env section from devbox.json takes\npriority and overwrites. This I believe is the correct behavior but I'm\nopen to discussion.\n\n## How was it tested?\nsee test file at `testscripts/run/envfrom.test.txt`","shortMessageHtmlLink":"[devbox.json] support env_from dotenv files (#2174)"}},{"before":"4969c2e99db00d5731ee790bcecb771226a17a54","after":"9cb5b418f1be9c9d3075ce73e7c5ebec9e78d2ef","ref":"refs/heads/landau/micromamba","pushedAt":"2024-06-28T04:56:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"Fix hook","shortMessageHtmlLink":"Fix hook"}},{"before":"0e2ca066d797a5f9b32cd247dce7d6f00caccb27","after":"4969c2e99db00d5731ee790bcecb771226a17a54","ref":"refs/heads/landau/micromamba","pushedAt":"2024-06-28T04:32:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"bash","shortMessageHtmlLink":"bash"}},{"before":"98b819ce39369a71568d6dab4e1050505706931b","after":"0e2ca066d797a5f9b32cd247dce7d6f00caccb27","ref":"refs/heads/landau/micromamba","pushedAt":"2024-06-28T04:24:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"Fix test","shortMessageHtmlLink":"Fix test"}},{"before":"c62cb7d3a34244f881df226f9f9b5a2609da4705","after":"98b819ce39369a71568d6dab4e1050505706931b","ref":"refs/heads/landau/micromamba","pushedAt":"2024-06-28T04:20:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"Run test","shortMessageHtmlLink":"Run test"}},{"before":"421bda0fc21c46b37891dba35198313a079e28a1","after":"c62cb7d3a34244f881df226f9f9b5a2609da4705","ref":"refs/heads/landau/micromamba","pushedAt":"2024-06-28T04:17:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"Fix test","shortMessageHtmlLink":"Fix test"}},{"before":null,"after":"421bda0fc21c46b37891dba35198313a079e28a1","ref":"refs/heads/landau/micromamba","pushedAt":"2024-06-28T04:16:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"[example] micromamba example","shortMessageHtmlLink":"[example] micromamba example"}},{"before":"fd33c2a476cf3a63c009f1e4837aff7dec13e553","after":null,"ref":"refs/heads/landau/improve-refresh","pushedAt":"2024-06-28T03:48:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"}},{"before":"328d0b88128a8277bdc2513541c93bff345ea43e","after":"7d7741b855ab5c0f33bc81edca364aaf7763cc61","ref":"refs/heads/main","pushedAt":"2024-06-28T03:48:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"[ux] Improve refresh messaging (#2173)\n\n## Summary\r\n\r\nA few improvements:\r\n\r\n* Use same refresh command. Previously we were using two different ways\r\nof refreshing the environment.\r\n* Display `refresh-global` even if alias is not set (since it will\r\nlikely be set by the end of the command).\r\n* Don't show the refresh message will calling refresh.\r\n\r\n## How was it tested?\r\n\r\n* Tested refresh-global on zsh.\r\n* TODO: test refresh-global on fish.\r\n* Calling refresh-global does not show refresh message.","shortMessageHtmlLink":"[ux] Improve refresh messaging (#2173)"}},{"before":"bce66c4c16a247e727ff7dcc5befa56518077e23","after":"fd33c2a476cf3a63c009f1e4837aff7dec13e553","ref":"refs/heads/landau/improve-refresh","pushedAt":"2024-06-28T03:39:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"const","shortMessageHtmlLink":"const"}},{"before":"5fe9e30bfa442e7567480016b678159b14d23ba6","after":"328d0b88128a8277bdc2513541c93bff345ea43e","ref":"refs/heads/main","pushedAt":"2024-06-27T23:08:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Lagoja","name":"John Lago","path":"/Lagoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/750845?s=80&v=4"},"commit":{"message":"(Examples - Databases - PostgreSQL) Add more info about configuring the database (#2156)\n\n## Summary\r\n\r\nI was struggling to configure postgresql with Phoenix Framework because\r\nof the lack of instructions, so I figured it out and am adding the\r\ninformation that solved my problem.\r\n\r\n## How was it tested?\r\n\r\nI've tested on terminal and using the Phoenix Framework to create the\r\ndatabase.\r\n\r\nSigned-off-by: Rafael ","shortMessageHtmlLink":"(Examples - Databases - PostgreSQL) Add more info about configuring t…"}},{"before":"2b067032bffef4cb06e7dac7dfe92f0484290e52","after":"5fe9e30bfa442e7567480016b678159b14d23ba6","ref":"refs/heads/main","pushedAt":"2024-06-27T17:17:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LucilleH","name":"Lucille Hua","path":"/LucilleH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2292093?s=80&v=4"},"commit":{"message":"[i18n/zh-cn]: Update README-zh-CN.md (#2151)\n\n## Summary\r\n\r\n+ sync with upstream\r\n+ proofed and then fix typos\r\n\r\n---------\r\n\r\nSigned-off-by: Tianyi Tao ","shortMessageHtmlLink":"[i18n/zh-cn]: Update README-zh-CN.md (#2151)"}},{"before":"43354db18e0f2db3d343ea9ca86f8d664e14289f","after":"2b067032bffef4cb06e7dac7dfe92f0484290e52","ref":"refs/heads/main","pushedAt":"2024-06-27T17:15:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LucilleH","name":"Lucille Hua","path":"/LucilleH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2292093?s=80&v=4"},"commit":{"message":"[i18n/kr]: Update README-ko-KR.md (#2152)\n\n## Summary\r\n\r\nfix the relative path of some files\r\n\r\nSigned-off-by: Tianyi Tao ","shortMessageHtmlLink":"[i18n/kr]: Update README-ko-KR.md (#2152)"}},{"before":"43a1dd7bb4087e069bf037231f0c0e6d294de367","after":"aa565a379e1827625a0847eb849d54b2b284b1f7","ref":"refs/heads/savil/pkgs-mkshell-no-cc","pushedAt":"2024-06-27T12:55:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"savil","name":null,"path":"/savil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/676452?s=80&v=4"},"commit":{"message":"add compilers/bintools to examples that failed tests","shortMessageHtmlLink":"add compilers/bintools to examples that failed tests"}},{"before":"e30d581dd52a8c80512abad7f34b843e7f7ab1ba","after":"43a1dd7bb4087e069bf037231f0c0e6d294de367","ref":"refs/heads/savil/pkgs-mkshell-no-cc","pushedAt":"2024-06-27T12:38:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"savil","name":null,"path":"/savil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/676452?s=80&v=4"},"commit":{"message":"add compilers/bintools to examples that failed tests","shortMessageHtmlLink":"add compilers/bintools to examples that failed tests"}},{"before":null,"after":"e30d581dd52a8c80512abad7f34b843e7f7ab1ba","ref":"refs/heads/savil/pkgs-mkshell-no-cc","pushedAt":"2024-06-26T21:20:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"savil","name":null,"path":"/savil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/676452?s=80&v=4"},"commit":{"message":"[experiment] pkgs.mkshellNoCC","shortMessageHtmlLink":"[experiment] pkgs.mkshellNoCC"}},{"before":"a222094e07de355f26067d17d5cfb88d05ec34fc","after":"ae6a9ef4c3779b34d14caa38db33c3ef7f979cf2","ref":"refs/heads/mohsen--env-from-dotenv","pushedAt":"2024-06-26T18:56:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"},"commit":{"message":"fixed testscript","shortMessageHtmlLink":"fixed testscript"}},{"before":null,"after":"a222094e07de355f26067d17d5cfb88d05ec34fc","ref":"refs/heads/mohsen--env-from-dotenv","pushedAt":"2024-06-26T18:49:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mohsenari","name":"Mohsen Ansari","path":"/mohsenari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22227661?s=80&v=4"},"commit":{"message":"Added support for .env files inclusion in \"env_from\"","shortMessageHtmlLink":"Added support for .env files inclusion in \"env_from\""}},{"before":null,"after":"bce66c4c16a247e727ff7dcc5befa56518077e23","ref":"refs/heads/landau/improve-refresh","pushedAt":"2024-06-26T00:39:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mikeland73","name":"Mike Landau","path":"/mikeland73","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/544948?s=80&v=4"},"commit":{"message":"[ux] Improve refresh messaging","shortMessageHtmlLink":"[ux] Improve refresh messaging"}},{"before":"136019d41ff844eeebafb76e0db7536a2c91afae","after":"2ec10ff35e01468effc5d111d5e962d664a333c6","ref":"refs/heads/gcurtis/find-config","pushedAt":"2024-06-25T21:40:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gcurtis","name":"Greg Curtis","path":"/gcurtis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/230338?s=80&v=4"},"commit":{"message":"internal/devconfig: move project directory search into `devbox.Find`\n\nInstead of first searching for a project directory and then calling\n`devbox.Open` on that path, add a `devbox.Find` method that performs the search\nand open as a single step.\n\n- Keeping `Find` a distinct function from `Open` makes it clearer when we're\n recursively searching for a config vs. not.\n- `Find` can just try reading a potential config file path instead of performing\n a separate `os.Stat`. This halves the number of system calls at startup and\n eliminates any potential races between the call to `os.Stat` and `os.Open`.\n\n```go\n// Open loads a Devbox config from a file or project directory.\n// For use with `devbox -c some/dir `.\nfunc Open(path string) (*Config, error)\n\n// Find is like [Open] except it recursively searches up the directory tree.\n// For use with `devbox ` (without a `-c` flag).\nfunc Find(path string) (*Config, error)\n```\n\nChanges to user error messages:\n\n```diff\n $ devbox add go\n\n-Error: No devbox.json found in this directory, or any parent directories. Did you run `devbox init` yet?\n+Error: no devbox.json found in the current directory (or any parent directories). Did you run `devbox init` yet?\n\n $ devbox -c badpath add go\n-Error: stat /var/folders/79/1yc1ywp10w9f2xnr_rpp_ff00000gn/T/tmp.bU25JVWovO/badpath: no such file or directory\n+\n+Error: the devbox config path \"badpath\" does not exist.\n\n $ mkdir child\n $ devbox -c child add go\n\n-Error: No devbox.json found in child. Did you run `devbox init` yet?\n+Error: no devbox.json found in \"child\". Did you run `devbox init` yet?\n```","shortMessageHtmlLink":"internal/devconfig: move project directory search into devbox.Find"}},{"before":null,"after":"136019d41ff844eeebafb76e0db7536a2c91afae","ref":"refs/heads/gcurtis/find-config","pushedAt":"2024-06-25T20:50:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gcurtis","name":"Greg Curtis","path":"/gcurtis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/230338?s=80&v=4"},"commit":{"message":"internal/devconfig: move project directory search into `devbox.Find`\n\nInstead of first searching for a project directory and then calling\n`devbox.Open` on that path, add a `devbox.Find` method that performs the search\nand open as a single step.\n\n- Keeping `Find` a distinct function from `Open` makes it clearer when we're\n recursively searching for a config vs. not.\n- `Find` can just try reading a potential config file path instead of performing\n a separate `os.Stat`. This halves the number of system calls at startup and\n eliminates any potential races between the call to `os.Stat` and `os.Open`.\n\n```go\n// Open loads a Devbox config from a file or project directory.\n// For use with `devbox -c some/dir `.\nfunc Open(path string) (*Config, error)\n\n// Find is like [Open] except it recursively searches up the directory tree.\n// For use with `devbox ` (without a `-c` flag).\nfunc Find(path string) (*Config, error)\n```\n\nChanges to user error messages:\n\n```diff\n $ devbox add go\n\n-Error: No devbox.json found in this directory, or any parent directories. Did you run `devbox init` yet?\n+Error: no devbox.json found in the current directory (or any parent directories). Did you run `devbox init` yet?\n\n $ devbox -c badpath add go\n-Error: stat /var/folders/79/1yc1ywp10w9f2xnr_rpp_ff00000gn/T/tmp.bU25JVWovO/badpath: no such file or directory\n+\n+Error: the devbox config path \"badpath\" does not exist.\n\n $ mkdir child\n $ devbox -c child add go\n\n-Error: No devbox.json found in child. Did you run `devbox init` yet?\n+Error: no devbox.json found in \"child\". Did you run `devbox init` yet?\n```","shortMessageHtmlLink":"internal/devconfig: move project directory search into devbox.Find"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEfT4PiwA","startCursor":null,"endCursor":null}},"title":"Activity · jetify-com/devbox"}