# Nushell core team meeting 2024-01-10 ## Attendees - Storm - Sophia - Ian - Jakub - Antoine - Ysthakur - Darren ## Agenda - [x] (@amtoine) Nupm: avoid `use ../../foo/bar.nu` - Something analogous to Rust's `crate`? - [x] `autoload`: Load all modules from `NU_AUTOLOAD_DIRS` - [ ] Add `$nu.vendors.autolad_path` constant for package maintainers to override if necessary - Related conversation: https://github.com/nushell/nushell/issues/11337 - [x] (@Ian) Job control: - Commands: - `job start <closure>`: starts new thread and job, returns job id - `job list`: similar to `ps` - `job wait [id]` - `job kill [id]` - `job switch [id]`? - `job resume [id]`? - `job pause/stop [id]`?? - Exit codes ## Discussed Topics ### Relative imports Sophia: We need to preserve being able to move directories freely. The `..` feels like a good fit for a shell, let's keep it, not necessary to have `super` keyword. Jumping to project root could be useful (like Rust's `crate`). Amtoine: One other possibility is to run tests with package root auto-added to NU_LIB_DIRS. ### `autoload` Sounds good. One concern is performace: Adding too much into the autoload directory could affect startup time. But it can be disabled by removing `autoload` from config, or customizing `NU_AUTOLOAD_DIRS`. ### Job control Threads vs. processes? Difference between REPL and script: * In REPL, jobs should terminate when REPL ends (or shouldn't?) * In a script, jobs should keep running after evaluation of the script is done ## Issues > :bulb: the issues which [needs-core-team-attention](https://github.com/nushell/nushell/labels/needs-core-team-attention) > :bulb: **Note** > to list all the PRs currently [opened in `nushell/nushell`](https://github.com/nushell/nushell/pulls): > ```nu > gh pr list --json url,number,author,title > | from json > | each {|i| > $"- [($i.number)]\(($i.url)\) ($i.title) \(@($i.author.login)\)" > } > | reverse > | to text > ```