Commit Graph

4 Commits

  • fix: enable set positional-arguments in justfile (#1169)
    The way these definitions worked before, they did not handle quoted args
    with spaces properly.
    
    For example, if you had `/tmp/test-just/printlen.py` as:
    
    ```python
    #!/usr/bin/env python3
    
    import sys
    
    print(len(sys.argv))
    ```
    
    and your `justfile` was:
    
    ```
    printlen *args:
        /tmp/test-just/printlen.py {{args}}
    ```
    
    Then:
    
    ```shell
    $ just printlen foo bar
    3
    $ just printlen 'foo bar'
    3
    ```
    
    which is not what we want: `'foo bar'` should be treated as one
    argument.
    
    The fix is to use
    [positional-arguments](https://github.com/casey/just/blob/515e806b5121a4696113ef15b5f0b12e69854570/README.md#L1131):
    
    ```
    set positional-arguments
    
    printlen *args:
        /tmp/test-just/printlen.py "$@"
    ```
  • chore: remove the REPL crate/subcommand (#754)
    @oai-ragona and I discussed it, and we feel the REPL crate has served
    its purpose, so we're going to delete the code and future archaeologists
    can find it in Git history.
  • feat: initial import of Rust implementation of Codex CLI in codex-rs/ (#629)
    As stated in `codex-rs/README.md`:
    
    Today, Codex CLI is written in TypeScript and requires Node.js 22+ to
    run it. For a number of users, this runtime requirement inhibits
    adoption: they would be better served by a standalone executable. As
    maintainers, we want Codex to run efficiently in a wide range of
    environments with minimal overhead. We also want to take advantage of
    operating system-specific APIs to provide better sandboxing, where
    possible.
    
    To that end, we are moving forward with a Rust implementation of Codex
    CLI contained in this folder, which has the following benefits:
    
    - The CLI compiles to small, standalone, platform-specific binaries.
    - Can make direct, native calls to
    [seccomp](https://man7.org/linux/man-pages/man2/seccomp.2.html) and
    [landlock](https://man7.org/linux/man-pages/man7/landlock.7.html) in
    order to support sandboxing on Linux.
    - No runtime garbage collection, resulting in lower memory consumption
    and better, more predictable performance.
    
    Currently, the Rust implementation is materially behind the TypeScript
    implementation in functionality, so continue to use the TypeScript
    implmentation for the time being. We will publish native executables via
    GitHub Releases as soon as we feel the Rust version is usable.