Fintan Halpenny
8a38fa8c73
typos: Rule for ... -> …
...
Extend the typos rules to include `"..." = "…"`.
2026-04-17 14:36:58 +01:00
Fintan Halpenny
fe353ea7e9
codespell: Rule for ... -> …
...
Creates a new .codespell-dictionary.txt to extend the default set of rules.
The first rule is `...|…`.
2026-04-17 14:36:58 +01:00
Adrian Duke
179a080867
just: Introduce commit-msg hook for typos
...
Add a `commit-msg` hook to continuously run `typos` against the COMMIT_MSG.
2026-04-17 14:36:58 +01:00
Adrian Duke
f6bf13422d
just: Fix doublestar expansion in check-scripts
2026-04-17 14:36:58 +01:00
Adrian Duke
083c9d1abc
just: Replace inline scripts with script file calls
2026-04-17 14:36:58 +01:00
Adrian Duke
421a43376d
just: Drop underline from output styline
2026-04-17 14:36:58 +01:00
Adrian Duke
6744384acf
just: Extract inline bash scripts out to files
...
Enables `shellcheck` checking.
2026-04-17 14:36:58 +01:00
Lorenz Leutgeb
df31702b8b
flake: Add `just` to development shell
2026-04-17 14:36:58 +01:00
Lorenz Leutgeb
fc12414778
just: Rename `HOOK_NAME` to just `HOOK`
2026-04-17 14:36:58 +01:00
Fintan Halpenny
112c901de8
flake: Add codespell
...
Nix users may not have `codespell` installed globally.
Introduce it in the `devShell` so they have it locally in `heartwood`.
2026-04-17 14:36:58 +01:00
Fintan Halpenny
69ccabacdd
just: Use bash to perform install-hook confirmation
...
The `[confirm()]` tag had issues on linux with string interpolation,
switches to using a bash based read for confirmation.
2026-04-17 14:36:58 +01:00
Adrian Duke
1f4de60bac
just: Add minimum version to CONTRIBUTING and HACKING
2026-04-17 14:36:58 +01:00
Fintan Halpenny
11e80d3094
just: Check for file before removing in install-hooks
...
The `rm` command would fail if the hook did not exist.
First check for existence and then remove.
2026-04-17 14:36:58 +01:00
Fintan Halpenny
a74befd2a7
just: Expand shellcheck glob to all shell scripts
2026-04-17 14:36:58 +01:00
Fintan Halpenny
983e5e19d9
just: Use full argument names for codespell
2026-04-17 14:36:58 +01:00
Adrian Duke
3e9df1c8e4
just: Remove existing hooks during install-hooks
2026-04-17 14:36:58 +01:00
Adrian Duke
ffe5b9ed08
just: Better doc comment for check-keywords
2026-04-17 14:36:58 +01:00
Adrian Duke
b0af317eaa
hacking: Update docs with 'just' commands
2026-04-17 14:36:58 +01:00
Adrian Duke
6e2b710358
contributing: Update docs with 'just' commands
2026-04-17 14:36:58 +01:00
Adrian Duke
1df1acabfa
git-hook-template: minor output formatting
2026-04-17 14:36:58 +01:00
Adrian Duke
4e0f739c29
just: Add post-checkout hook
2026-04-17 14:36:58 +01:00
Adrian Duke
09cd3eeb82
just: Add check-hooks to confirm presence and integrity
2026-04-17 14:36:58 +01:00
Adrian Duke
eb8467cb6f
just: Introduce output formatting
2026-04-17 14:36:58 +01:00
Adrian Duke
bdb2a1fc7f
just: Introduce pre-commit and pre-push installer
...
Copies the template script into the git hooks DIR to prevent a potential
attacker overwriting its contents. Also introduces a check before
running the hook against sensitive files from `master`, if there are
changes between the branch and `master`, asks user to confirm
continuation of hook execution.
2026-04-17 14:36:58 +01:00
Adrian Duke
576bc6d6af
just: Add groupings and parallel where possible
2026-04-17 14:36:58 +01:00
Adrian Duke
3082f9976d
just: Add pre-commit hook
2026-04-17 14:36:58 +01:00
Adrian Duke
9310b1eff2
just: Add more pre-push tasks
...
Migrating further pre-push checks from `flake.nix`
2026-04-17 14:36:57 +01:00
Adrian Duke
9210f0871a
just: Introduce justfile with pre-push hook cmds
...
As part of migrating from `flake.nix` to a more universal task runner
that can manage git hooks too.
2026-04-17 14:36:58 +01:00
Adrian Duke
430868ffb1
codespell: Add 'ser' to `ignore-words-list`
...
codespell is misidentifying `::serde::ser` as `::serde::set`.
2026-04-16 21:01:52 +02:00
Adrian Duke
9c6bcd2778
cli: Fix typo "writeable" → "writable"
...
Detected by `typos`.
2026-04-16 21:01:11 +02:00
Lorenz Leutgeb
ac3eba09a1
I2P Support
...
Co-authored-by: ps
2026-04-15 12:01:50 +01:00
Lorenz Leutgeb
9b9b5ca996
cargo: Update `cyphernet` from 0.5.2 to 0.5.3
...
The main change that needs adjustment on our side is that
`impl EcPk for ec25519::PublicKey` changed from `Compressed = [u8; 32]`
to `Compressed = amplify::Bytes32`.
Also remove `impl Deref for PublicKey` to avoid dependents of
`radicle-crypto` depend on a particular implementation, and make the
anonymous member private.
See
<f42396139a >.
2026-04-15 11:59:15 +01:00
Lorenz Leutgeb
91b2fd8986
clippy: Deny `unwrap_used`
...
In the places where `unwrap_used` is currently at `warn`, change it to
be `deny` (stricter).
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
4d57ba496d
rust: Disallow lint `dead_code`
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
c23a257f3c
clippy: Configure lint `unwrap_used`
...
By setting `allow-unwrap-in-tests`, we can avoid repeating
`allow(clippy::unwrap_used)` many times over.
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
dbec748c47
clippy: Disallow unused lints
...
The following clippy lints were allowed in the past but are not
required anymore:
- box_default
- large_enum_variant
- let_unit_value
- or_fun_call
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
63f9607423
clippy: Disallow lint `iter_nth_zero`
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
f87d254395
clippy: Disallow lint `identity_op`
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
33a8c09f78
clippy: Disallow lint `match_like_matches_macro`
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
ca732015fb
clippy: Disallow lints `collapsible_*`
...
The three lints `collapsible_{if,else_if,match}` are disallowed.
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
44244dc00f
clippy: Disallow lint `type_complexity`
...
We just need two exceptions.
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
ffc81154e4
clippy: Disallow lint `enum_variant_names`
...
We just need one exception.
2026-04-15 10:06:05 +02:00
Lorenz Leutgeb
ae55d935bc
cargo/workspace/lints: Shorten notation
...
Also sort lints by name.
2026-04-15 10:05:56 +02:00
Adrian Duke
547a753768
simulation: Add README with overview and plan
...
Introduce the `simulation` directory in anticipation of migrating the
`radicle simulation network` repository. Introduce a loose plan and
explainer of how it will work.
2026-04-15 08:51:03 +01:00
Lorenz Leutgeb
94f65a71db
cargo: Remove unused dependencies
...
A number of dependencies were unused, causing confusion. Remove them.
2026-04-15 01:50:14 +02:00
Richard Levitte
adfd89f609
cli-test: Respect `CARGO_TARGET_DIR`
...
`radicle-cli-test` initiates `cargo` builds under the assumption
that the target directory is always within the source directory.
However, the user may have a different idea, specified with the
environment variable `CARGO_TARGET_DIR` (supported by `cargo`, see
https://doc.rust-lang.org/cargo/reference/environment-variables.html ).
Add support for `CARGO_TARGET_DIR`, with a fallback to 'target'
at the top of the source tree if `CARGO_TARGET_DIR` is undefined.
2026-04-15 00:18:39 +02:00
Lorenz Leutgeb
80c1bba76f
radicle: Prevent `RAD_SOCKET` from polluting tests
...
The value of `RAD_SOCKET` influences the outcome of `cargo test`.
Users that set this environment variable to, e.g. point `rad` at
a socket at a custom location, were surprised that execution of
tests would interact with their node.
Split `Home::socket` into two functions. `Home::socket_default` is
"pure" and only dependent on the path represented by `Home`. On the
other hand, `Home::socket_from_env` interprets the environment.
Most users will want to use `Home::socket_from_env`.
2026-04-09 17:53:49 +02:00
Lorenz Leutgeb
a2de55cbb9
radicle/crefs: Use `GetPayload` to load
...
Using `GetPayload`, `GetRawCanonicalRefs` can be implemented
generically.
2026-04-08 11:17:46 +01:00
Lorenz Leutgeb
5167367918
radicle: Introduce `trait GetPayload`
...
This new trait can be implemented by any struct that allows loading of
payloads. Currently, this only applies to the identity document.
2026-04-08 11:13:28 +01:00
Lorenz Leutgeb
aa28567035
radicle/crefs: Refactor `GetCanonicalRefs`
...
There is only one type that can really construct canonical references,
which is the the identity document. Remove the corresponding method
from the trait and rename it to `GetRawCanonicalRefs` accordingly.
2026-04-08 11:13:28 +01:00