Compare commits

..

6 Commits

Author SHA1 Message Date
J / Jacob Babich
e4e2efafb9 ci: only test direct minimal dependencies and not transitive ones because, per what I recall of Jon Gjengset's thoughts on the matter, it means there's a bug in a dependency rather than a bug in this codebase (and a bug in an old and obsolete version of their crate at that, so what would be the point?) 2024-10-03 02:19:59 -04:00
J / Jacob Babich
0fcdfdae30 ci: install cargo-hack before cargo-minimal-versions as it appears to be a requirement 2024-10-03 02:15:54 -04:00
J / Jacob Babich
9e43655567 ci: test minimal dependencies in GitHub Actions 2024-10-03 02:14:07 -04:00
J
0bc9424db6 docs: write barebones installation and usage sections
Some checks are pending
Check, build, and test / check-build-and-test (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-02 02:50:25 -04:00
J
4a13d61e25 docs: indicate the license options (MIT, Apache 2.0, or Unlicense) of the project 2024-10-02 02:25:33 -04:00
J / Jacob Babich
376893e566 docs: link to issue for starting to test MSRV in CI
Some checks failed
Check, build, and test / check-build-and-test (push) Has been cancelled
Release-plz / Release-plz (push) Has been cancelled
2024-09-30 16:03:56 -04:00
2 changed files with 78 additions and 3 deletions

View File

@@ -35,3 +35,28 @@ jobs:
- name: Test - name: Test
run: cargo nextest run run: cargo nextest run
minimal-dependencies-check-build-and-test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-minimal-versions
uses: taiki-e/install-action@cargo-hack
- name: Install cargo-minimal-versions
uses: taiki-e/install-action@cargo-minimal-versions
- uses: Swatinem/rust-cache@v2
- name: Check (direct minimal dependencies)
run: cargo minimal-versions check --direct --workspace
- name: Build (direct minimal dependencies)
run: cargo minimal-versions build --direct --workspace
- name: Test (direct minimal dependencies)
run: cargo minimal-versions test --direct --workspace

View File

@@ -1,9 +1,50 @@
# ac-qu-ai-nt
`ac-qu-ai-nt` is a project I'm working on, using artificial intelligence to break down the user's query, acquire knowledge, and transfer insights to the user('s mind). `ac-qu-ai-nt` is a project I'm working on, using artificial intelligence to break down the user's query, acquire knowledge, and transfer insights to the user('s mind).
This is a placeholder while I take small steps to build out the project. This is a placeholder while I take small steps to build out the project.
# Installation
## Automatically Updatable
You won't find it very useful yet, because it doesn't really do much of anything, but you can install the multibinary with [Binstall](https://github.com/cargo-bins/cargo-binstall). This means you don't need to have the same development environment (which will require the Vulkan SDK and CUDA Toolkit in the future) in order to use the program, because you'll just download a precompiled executable.
```sh
cargo-binstall -y ac-qu-ai-nt
```
Install [`cargo-update`](https://github.com/nabijaczleweli/cargo-update) and periodically run
```sh
cargo install-update --all
```
in order to keep this program up to date.
I'm not sure if you need a Rust compiler installed for either or if they can work standalone.
## Just the Executable
Head to [the Releases page](https://github.com/babichjacob/ac-qu-ai-nt/releases) and download the asset corresponding to your computer architecture and operating system.
Decompress the archive and place the executable contained within it somewhere useful to you (e.g. in a directory in [your `PATH` variable](https://superuser.com/a/284351)).
# Usage
If it's your preference, you should be able to double click the executable in the folder to be able to run it (defaulting to launching a graphical interface (once I actually make one lol)).
You could also type
```sh
ac-qu-ai-nt
```
on the command line to run it. This is also a way to launch a GUI (once there actually is one) for the application.
## Command Line Interface
It's going to be a goal of this project for there to be feature parity between the GUI, CLI, and TUI.
If you want to use its command line interface, start with
```sh
ac-qu-ai-nt cli
```
to see what capabilities are available.
(This is an alias for `ac-qu-ai-nt cli-clap` to allow the possibility of experimenting with different implementations of the same type of interface.)
# Contributing # Contributing
This is a summary of the crates I expect to be in this project and how they are used: This is a summary of the crates I expect to be in this project and how they are used:
@@ -28,4 +69,13 @@ To be more specific about what a breaking change _could_ entail:
- the program (wrongly) exiting, panicking, reporting an error, etc, where it didn't previously - the program (wrongly) exiting, panicking, reporting an error, etc, where it didn't previously
- changing the expected result of an existing integration test (not sure if unit tests would count) - changing the expected result of an existing integration test (not sure if unit tests would count)
All the crates in this project have a [minimum supported Rust version (MSRV)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) of 1.76, the release succeeding [the one that stabilized `async fn` in traits](https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html) (which the `core` crate of this project is expected to make use of). I intend to test this in CI (GitHub Actions) in the future to identify if it ever gets raised by changes but I have not set this up yet. Raising the MSRV will be considered a breaking change --- my justification is that it [seems more appropriate for an application like this](https://github.com/matklad/once_cell/issues/201#issuecomment-1257213601). This may be reconsidered if [Cargo's MSRV-aware resolver](https://rust-lang.github.io/rfcs/3537-msrv-resolver.html) is stabilized. All the crates in this project have a [minimum supported Rust version (MSRV)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) of 1.76, the release succeeding [the one that stabilized `async fn` in traits](https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html) (which the `core` crate of this project is expected to make use of). I [intend to test this in CI (GitHub Actions) in the future](https://github.com/babichjacob/ac-qu-ai-nt/issues/5) to identify if it ever gets raised by changes but I have not set this up yet. Raising the MSRV will be considered a breaking change --- my justification is that it [seems more appropriate for an application like this](https://github.com/matklad/once_cell/issues/201#issuecomment-1257213601). This may be reconsidered if [Cargo's MSRV-aware resolver](https://rust-lang.github.io/rfcs/3537-msrv-resolver.html) is stabilized.
## License
All contents of this repository are licensed under either the
* [MIT license](LICENSE-MIT), or
* [Apache 2.0 license](LICENSE-APACHE), or
* [Unlicense](LICENSE-UNLICENSE)
at your option.