diff --git a/.cargo/audit.toml b/rust/.cargo/audit.toml similarity index 100% rename from .cargo/audit.toml rename to rust/.cargo/audit.toml diff --git a/.cargo/config b/rust/.cargo/config similarity index 100% rename from .cargo/config rename to rust/.cargo/config diff --git a/.changelogs/.gitignore b/rust/.changelogs/.gitignore similarity index 100% rename from .changelogs/.gitignore rename to rust/.changelogs/.gitignore diff --git a/.changelogs/2021-10-03-server-storage.md b/rust/.changelogs/2021-10-03-server-storage.md similarity index 100% rename from .changelogs/2021-10-03-server-storage.md rename to rust/.changelogs/2021-10-03-server-storage.md diff --git a/.changelogs/2021-10-11-issue23-client.md b/rust/.changelogs/2021-10-11-issue23-client.md similarity index 100% rename from .changelogs/2021-10-11-issue23-client.md rename to rust/.changelogs/2021-10-11-issue23-client.md diff --git a/.changelogs/2021-10-16-issue299.md b/rust/.changelogs/2021-10-16-issue299.md similarity index 100% rename from .changelogs/2021-10-16-issue299.md rename to rust/.changelogs/2021-10-16-issue299.md diff --git a/.changelogs/2021-10-25-issue23-integration.md b/rust/.changelogs/2021-10-25-issue23-integration.md similarity index 100% rename from .changelogs/2021-10-25-issue23-integration.md rename to rust/.changelogs/2021-10-25-issue23-integration.md diff --git a/.github/CODEOWNERS b/rust/.github/CODEOWNERS similarity index 100% rename from .github/CODEOWNERS rename to rust/.github/CODEOWNERS diff --git a/.github/dependabot.yml b/rust/.github/dependabot.yml similarity index 100% rename from .github/dependabot.yml rename to rust/.github/dependabot.yml diff --git a/.github/workflows/audit.yml b/rust/.github/workflows/audit.yml similarity index 100% rename from .github/workflows/audit.yml rename to rust/.github/workflows/audit.yml diff --git a/.github/workflows/checks.yml b/rust/.github/workflows/checks.yml similarity index 100% rename from .github/workflows/checks.yml rename to rust/.github/workflows/checks.yml diff --git a/.github/workflows/publish-docs.yml b/rust/.github/workflows/publish-docs.yml similarity index 100% rename from .github/workflows/publish-docs.yml rename to rust/.github/workflows/publish-docs.yml diff --git a/.github/workflows/tests.yml b/rust/.github/workflows/tests.yml similarity index 100% rename from .github/workflows/tests.yml rename to rust/.github/workflows/tests.yml diff --git a/.gitignore b/rust/.gitignore similarity index 100% rename from .gitignore rename to rust/.gitignore diff --git a/CHANGELOG.md b/rust/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to rust/CHANGELOG.md diff --git a/CODE_OF_CONDUCT.md b/rust/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to rust/CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/rust/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to rust/CONTRIBUTING.md diff --git a/Cargo.lock b/rust/Cargo.lock similarity index 100% rename from Cargo.lock rename to rust/Cargo.lock diff --git a/Cargo.toml b/rust/Cargo.toml similarity index 100% rename from Cargo.toml rename to rust/Cargo.toml diff --git a/LICENSE b/rust/LICENSE similarity index 100% rename from LICENSE rename to rust/LICENSE diff --git a/POLICY.md b/rust/POLICY.md similarity index 100% rename from POLICY.md rename to rust/POLICY.md diff --git a/README.md b/rust/README.md similarity index 100% rename from README.md rename to rust/README.md diff --git a/RELEASING.md b/rust/RELEASING.md similarity index 100% rename from RELEASING.md rename to rust/RELEASING.md diff --git a/SECURITY.md b/rust/SECURITY.md similarity index 100% rename from SECURITY.md rename to rust/SECURITY.md diff --git a/build-docs.sh b/rust/build-docs.sh similarity index 100% rename from build-docs.sh rename to rust/build-docs.sh diff --git a/cli/Cargo.toml b/rust/cli/Cargo.toml similarity index 100% rename from cli/Cargo.toml rename to rust/cli/Cargo.toml diff --git a/cli/build.rs b/rust/cli/build.rs similarity index 100% rename from cli/build.rs rename to rust/cli/build.rs diff --git a/cli/src/argparse/args/arg_matching.rs b/rust/cli/src/argparse/args/arg_matching.rs similarity index 100% rename from cli/src/argparse/args/arg_matching.rs rename to rust/cli/src/argparse/args/arg_matching.rs diff --git a/cli/src/argparse/args/colon.rs b/rust/cli/src/argparse/args/colon.rs similarity index 100% rename from cli/src/argparse/args/colon.rs rename to rust/cli/src/argparse/args/colon.rs diff --git a/cli/src/argparse/args/idlist.rs b/rust/cli/src/argparse/args/idlist.rs similarity index 100% rename from cli/src/argparse/args/idlist.rs rename to rust/cli/src/argparse/args/idlist.rs diff --git a/cli/src/argparse/args/misc.rs b/rust/cli/src/argparse/args/misc.rs similarity index 100% rename from cli/src/argparse/args/misc.rs rename to rust/cli/src/argparse/args/misc.rs diff --git a/cli/src/argparse/args/mod.rs b/rust/cli/src/argparse/args/mod.rs similarity index 100% rename from cli/src/argparse/args/mod.rs rename to rust/cli/src/argparse/args/mod.rs diff --git a/cli/src/argparse/args/tags.rs b/rust/cli/src/argparse/args/tags.rs similarity index 100% rename from cli/src/argparse/args/tags.rs rename to rust/cli/src/argparse/args/tags.rs diff --git a/cli/src/argparse/args/time.rs b/rust/cli/src/argparse/args/time.rs similarity index 100% rename from cli/src/argparse/args/time.rs rename to rust/cli/src/argparse/args/time.rs diff --git a/cli/src/argparse/command.rs b/rust/cli/src/argparse/command.rs similarity index 100% rename from cli/src/argparse/command.rs rename to rust/cli/src/argparse/command.rs diff --git a/cli/src/argparse/config.rs b/rust/cli/src/argparse/config.rs similarity index 100% rename from cli/src/argparse/config.rs rename to rust/cli/src/argparse/config.rs diff --git a/cli/src/argparse/filter.rs b/rust/cli/src/argparse/filter.rs similarity index 100% rename from cli/src/argparse/filter.rs rename to rust/cli/src/argparse/filter.rs diff --git a/cli/src/argparse/mod.rs b/rust/cli/src/argparse/mod.rs similarity index 100% rename from cli/src/argparse/mod.rs rename to rust/cli/src/argparse/mod.rs diff --git a/cli/src/argparse/modification.rs b/rust/cli/src/argparse/modification.rs similarity index 100% rename from cli/src/argparse/modification.rs rename to rust/cli/src/argparse/modification.rs diff --git a/cli/src/argparse/subcommand.rs b/rust/cli/src/argparse/subcommand.rs similarity index 100% rename from cli/src/argparse/subcommand.rs rename to rust/cli/src/argparse/subcommand.rs diff --git a/cli/src/bin/ta.rs b/rust/cli/src/bin/ta.rs similarity index 100% rename from cli/src/bin/ta.rs rename to rust/cli/src/bin/ta.rs diff --git a/cli/src/bin/usage-docs.rs b/rust/cli/src/bin/usage-docs.rs similarity index 100% rename from cli/src/bin/usage-docs.rs rename to rust/cli/src/bin/usage-docs.rs diff --git a/cli/src/errors.rs b/rust/cli/src/errors.rs similarity index 100% rename from cli/src/errors.rs rename to rust/cli/src/errors.rs diff --git a/cli/src/invocation/cmd/add.rs b/rust/cli/src/invocation/cmd/add.rs similarity index 100% rename from cli/src/invocation/cmd/add.rs rename to rust/cli/src/invocation/cmd/add.rs diff --git a/cli/src/invocation/cmd/completed.data b/rust/cli/src/invocation/cmd/completed.data similarity index 100% rename from cli/src/invocation/cmd/completed.data rename to rust/cli/src/invocation/cmd/completed.data diff --git a/cli/src/invocation/cmd/config.rs b/rust/cli/src/invocation/cmd/config.rs similarity index 100% rename from cli/src/invocation/cmd/config.rs rename to rust/cli/src/invocation/cmd/config.rs diff --git a/cli/src/invocation/cmd/gc.rs b/rust/cli/src/invocation/cmd/gc.rs similarity index 100% rename from cli/src/invocation/cmd/gc.rs rename to rust/cli/src/invocation/cmd/gc.rs diff --git a/cli/src/invocation/cmd/help.rs b/rust/cli/src/invocation/cmd/help.rs similarity index 100% rename from cli/src/invocation/cmd/help.rs rename to rust/cli/src/invocation/cmd/help.rs diff --git a/cli/src/invocation/cmd/import_tdb2.rs b/rust/cli/src/invocation/cmd/import_tdb2.rs similarity index 100% rename from cli/src/invocation/cmd/import_tdb2.rs rename to rust/cli/src/invocation/cmd/import_tdb2.rs diff --git a/cli/src/invocation/cmd/import_tw.rs b/rust/cli/src/invocation/cmd/import_tw.rs similarity index 100% rename from cli/src/invocation/cmd/import_tw.rs rename to rust/cli/src/invocation/cmd/import_tw.rs diff --git a/cli/src/invocation/cmd/info.rs b/rust/cli/src/invocation/cmd/info.rs similarity index 100% rename from cli/src/invocation/cmd/info.rs rename to rust/cli/src/invocation/cmd/info.rs diff --git a/cli/src/invocation/cmd/mod.rs b/rust/cli/src/invocation/cmd/mod.rs similarity index 100% rename from cli/src/invocation/cmd/mod.rs rename to rust/cli/src/invocation/cmd/mod.rs diff --git a/cli/src/invocation/cmd/modify.rs b/rust/cli/src/invocation/cmd/modify.rs similarity index 100% rename from cli/src/invocation/cmd/modify.rs rename to rust/cli/src/invocation/cmd/modify.rs diff --git a/cli/src/invocation/cmd/pending.data b/rust/cli/src/invocation/cmd/pending.data similarity index 100% rename from cli/src/invocation/cmd/pending.data rename to rust/cli/src/invocation/cmd/pending.data diff --git a/cli/src/invocation/cmd/report.rs b/rust/cli/src/invocation/cmd/report.rs similarity index 100% rename from cli/src/invocation/cmd/report.rs rename to rust/cli/src/invocation/cmd/report.rs diff --git a/cli/src/invocation/cmd/sync.rs b/rust/cli/src/invocation/cmd/sync.rs similarity index 100% rename from cli/src/invocation/cmd/sync.rs rename to rust/cli/src/invocation/cmd/sync.rs diff --git a/cli/src/invocation/cmd/undo.rs b/rust/cli/src/invocation/cmd/undo.rs similarity index 100% rename from cli/src/invocation/cmd/undo.rs rename to rust/cli/src/invocation/cmd/undo.rs diff --git a/cli/src/invocation/cmd/version.rs b/rust/cli/src/invocation/cmd/version.rs similarity index 100% rename from cli/src/invocation/cmd/version.rs rename to rust/cli/src/invocation/cmd/version.rs diff --git a/cli/src/invocation/filter.rs b/rust/cli/src/invocation/filter.rs similarity index 100% rename from cli/src/invocation/filter.rs rename to rust/cli/src/invocation/filter.rs diff --git a/cli/src/invocation/mod.rs b/rust/cli/src/invocation/mod.rs similarity index 100% rename from cli/src/invocation/mod.rs rename to rust/cli/src/invocation/mod.rs diff --git a/cli/src/invocation/modify.rs b/rust/cli/src/invocation/modify.rs similarity index 100% rename from cli/src/invocation/modify.rs rename to rust/cli/src/invocation/modify.rs diff --git a/cli/src/invocation/report.rs b/rust/cli/src/invocation/report.rs similarity index 100% rename from cli/src/invocation/report.rs rename to rust/cli/src/invocation/report.rs diff --git a/cli/src/invocation/test.rs b/rust/cli/src/invocation/test.rs similarity index 100% rename from cli/src/invocation/test.rs rename to rust/cli/src/invocation/test.rs diff --git a/cli/src/invocation/util.rs b/rust/cli/src/invocation/util.rs similarity index 100% rename from cli/src/invocation/util.rs rename to rust/cli/src/invocation/util.rs diff --git a/cli/src/lib.rs b/rust/cli/src/lib.rs similarity index 100% rename from cli/src/lib.rs rename to rust/cli/src/lib.rs diff --git a/cli/src/macros.rs b/rust/cli/src/macros.rs similarity index 100% rename from cli/src/macros.rs rename to rust/cli/src/macros.rs diff --git a/cli/src/settings/mod.rs b/rust/cli/src/settings/mod.rs similarity index 100% rename from cli/src/settings/mod.rs rename to rust/cli/src/settings/mod.rs diff --git a/cli/src/settings/report.rs b/rust/cli/src/settings/report.rs similarity index 100% rename from cli/src/settings/report.rs rename to rust/cli/src/settings/report.rs diff --git a/cli/src/settings/settings.rs b/rust/cli/src/settings/settings.rs similarity index 100% rename from cli/src/settings/settings.rs rename to rust/cli/src/settings/settings.rs diff --git a/cli/src/settings/util.rs b/rust/cli/src/settings/util.rs similarity index 100% rename from cli/src/settings/util.rs rename to rust/cli/src/settings/util.rs diff --git a/cli/src/table.rs b/rust/cli/src/table.rs similarity index 100% rename from cli/src/table.rs rename to rust/cli/src/table.rs diff --git a/cli/src/tdb2/mod.rs b/rust/cli/src/tdb2/mod.rs similarity index 100% rename from cli/src/tdb2/mod.rs rename to rust/cli/src/tdb2/mod.rs diff --git a/cli/src/tdb2/test.data b/rust/cli/src/tdb2/test.data similarity index 100% rename from cli/src/tdb2/test.data rename to rust/cli/src/tdb2/test.data diff --git a/cli/src/usage.rs b/rust/cli/src/usage.rs similarity index 100% rename from cli/src/usage.rs rename to rust/cli/src/usage.rs diff --git a/cli/tests/cli.rs b/rust/cli/tests/cli.rs similarity index 100% rename from cli/tests/cli.rs rename to rust/cli/tests/cli.rs diff --git a/docs/.gitignore b/rust/docs/.gitignore similarity index 100% rename from docs/.gitignore rename to rust/docs/.gitignore diff --git a/docs/README.md b/rust/docs/README.md similarity index 100% rename from docs/README.md rename to rust/docs/README.md diff --git a/docs/assets/cgi/LICENSE.md b/rust/docs/assets/cgi/LICENSE.md similarity index 100% rename from docs/assets/cgi/LICENSE.md rename to rust/docs/assets/cgi/LICENSE.md diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_1024.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_1024.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_1024.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_1024.png diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_128.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_128.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_128.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_128.png diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_16.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_16.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_16.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_16.png diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_256.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_256.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_256.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_256.png diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_32.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_32.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_32.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_32.png diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_512.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_512.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_512.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_512.png diff --git a/docs/assets/cgi/icon_rounded/icon_rounded_64.png b/rust/docs/assets/cgi/icon_rounded/icon_rounded_64.png similarity index 100% rename from docs/assets/cgi/icon_rounded/icon_rounded_64.png rename to rust/docs/assets/cgi/icon_rounded/icon_rounded_64.png diff --git a/docs/assets/cgi/icon_square/icon_square_1024.png b/rust/docs/assets/cgi/icon_square/icon_square_1024.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_1024.png rename to rust/docs/assets/cgi/icon_square/icon_square_1024.png diff --git a/docs/assets/cgi/icon_square/icon_square_128.png b/rust/docs/assets/cgi/icon_square/icon_square_128.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_128.png rename to rust/docs/assets/cgi/icon_square/icon_square_128.png diff --git a/docs/assets/cgi/icon_square/icon_square_16.png b/rust/docs/assets/cgi/icon_square/icon_square_16.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_16.png rename to rust/docs/assets/cgi/icon_square/icon_square_16.png diff --git a/docs/assets/cgi/icon_square/icon_square_256.png b/rust/docs/assets/cgi/icon_square/icon_square_256.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_256.png rename to rust/docs/assets/cgi/icon_square/icon_square_256.png diff --git a/docs/assets/cgi/icon_square/icon_square_32.png b/rust/docs/assets/cgi/icon_square/icon_square_32.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_32.png rename to rust/docs/assets/cgi/icon_square/icon_square_32.png diff --git a/docs/assets/cgi/icon_square/icon_square_512.png b/rust/docs/assets/cgi/icon_square/icon_square_512.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_512.png rename to rust/docs/assets/cgi/icon_square/icon_square_512.png diff --git a/docs/assets/cgi/icon_square/icon_square_64.png b/rust/docs/assets/cgi/icon_square/icon_square_64.png similarity index 100% rename from docs/assets/cgi/icon_square/icon_square_64.png rename to rust/docs/assets/cgi/icon_square/icon_square_64.png diff --git a/docs/assets/cgi/logo/logo_1024.png b/rust/docs/assets/cgi/logo/logo_1024.png similarity index 100% rename from docs/assets/cgi/logo/logo_1024.png rename to rust/docs/assets/cgi/logo/logo_1024.png diff --git a/docs/assets/cgi/logo/logo_128.png b/rust/docs/assets/cgi/logo/logo_128.png similarity index 100% rename from docs/assets/cgi/logo/logo_128.png rename to rust/docs/assets/cgi/logo/logo_128.png diff --git a/docs/assets/cgi/logo/logo_16.png b/rust/docs/assets/cgi/logo/logo_16.png similarity index 100% rename from docs/assets/cgi/logo/logo_16.png rename to rust/docs/assets/cgi/logo/logo_16.png diff --git a/docs/assets/cgi/logo/logo_256.png b/rust/docs/assets/cgi/logo/logo_256.png similarity index 100% rename from docs/assets/cgi/logo/logo_256.png rename to rust/docs/assets/cgi/logo/logo_256.png diff --git a/docs/assets/cgi/logo/logo_32.png b/rust/docs/assets/cgi/logo/logo_32.png similarity index 100% rename from docs/assets/cgi/logo/logo_32.png rename to rust/docs/assets/cgi/logo/logo_32.png diff --git a/docs/assets/cgi/logo/logo_512.png b/rust/docs/assets/cgi/logo/logo_512.png similarity index 100% rename from docs/assets/cgi/logo/logo_512.png rename to rust/docs/assets/cgi/logo/logo_512.png diff --git a/docs/assets/cgi/logo/logo_64.png b/rust/docs/assets/cgi/logo/logo_64.png similarity index 100% rename from docs/assets/cgi/logo/logo_64.png rename to rust/docs/assets/cgi/logo/logo_64.png diff --git a/docs/book.toml b/rust/docs/book.toml similarity index 100% rename from docs/book.toml rename to rust/docs/book.toml diff --git a/docs/src/SUMMARY.md b/rust/docs/src/SUMMARY.md similarity index 100% rename from docs/src/SUMMARY.md rename to rust/docs/src/SUMMARY.md diff --git a/docs/src/config-file.md b/rust/docs/src/config-file.md similarity index 100% rename from docs/src/config-file.md rename to rust/docs/src/config-file.md diff --git a/docs/src/data-model.md b/rust/docs/src/data-model.md similarity index 100% rename from docs/src/data-model.md rename to rust/docs/src/data-model.md diff --git a/docs/src/environment.md b/rust/docs/src/environment.md similarity index 100% rename from docs/src/environment.md rename to rust/docs/src/environment.md diff --git a/docs/src/filters.md b/rust/docs/src/filters.md similarity index 100% rename from docs/src/filters.md rename to rust/docs/src/filters.md diff --git a/docs/src/images/name_timestamp.png b/rust/docs/src/images/name_timestamp.png similarity index 100% rename from docs/src/images/name_timestamp.png rename to rust/docs/src/images/name_timestamp.png diff --git a/docs/src/installation.md b/rust/docs/src/installation.md similarity index 100% rename from docs/src/installation.md rename to rust/docs/src/installation.md diff --git a/docs/src/internals.md b/rust/docs/src/internals.md similarity index 100% rename from docs/src/internals.md rename to rust/docs/src/internals.md diff --git a/docs/src/modifications.md b/rust/docs/src/modifications.md similarity index 100% rename from docs/src/modifications.md rename to rust/docs/src/modifications.md diff --git a/docs/src/plans.md b/rust/docs/src/plans.md similarity index 100% rename from docs/src/plans.md rename to rust/docs/src/plans.md diff --git a/docs/src/reports.md b/rust/docs/src/reports.md similarity index 100% rename from docs/src/reports.md rename to rust/docs/src/reports.md diff --git a/docs/src/running-sync-server.md b/rust/docs/src/running-sync-server.md similarity index 100% rename from docs/src/running-sync-server.md rename to rust/docs/src/running-sync-server.md diff --git a/docs/src/snapshots.md b/rust/docs/src/snapshots.md similarity index 100% rename from docs/src/snapshots.md rename to rust/docs/src/snapshots.md diff --git a/docs/src/storage.md b/rust/docs/src/storage.md similarity index 100% rename from docs/src/storage.md rename to rust/docs/src/storage.md diff --git a/docs/src/sync-model.md b/rust/docs/src/sync-model.md similarity index 100% rename from docs/src/sync-model.md rename to rust/docs/src/sync-model.md diff --git a/docs/src/sync-protocol.md b/rust/docs/src/sync-protocol.md similarity index 100% rename from docs/src/sync-protocol.md rename to rust/docs/src/sync-protocol.md diff --git a/docs/src/sync.md b/rust/docs/src/sync.md similarity index 100% rename from docs/src/sync.md rename to rust/docs/src/sync.md diff --git a/docs/src/tags.md b/rust/docs/src/tags.md similarity index 100% rename from docs/src/tags.md rename to rust/docs/src/tags.md diff --git a/docs/src/task-sync.md b/rust/docs/src/task-sync.md similarity index 100% rename from docs/src/task-sync.md rename to rust/docs/src/task-sync.md diff --git a/docs/src/taskdb.md b/rust/docs/src/taskdb.md similarity index 100% rename from docs/src/taskdb.md rename to rust/docs/src/taskdb.md diff --git a/docs/src/tasks.md b/rust/docs/src/tasks.md similarity index 100% rename from docs/src/tasks.md rename to rust/docs/src/tasks.md diff --git a/docs/src/time.md b/rust/docs/src/time.md similarity index 100% rename from docs/src/time.md rename to rust/docs/src/time.md diff --git a/docs/src/undo.md b/rust/docs/src/undo.md similarity index 100% rename from docs/src/undo.md rename to rust/docs/src/undo.md diff --git a/docs/src/using-task-command.md b/rust/docs/src/using-task-command.md similarity index 100% rename from docs/src/using-task-command.md rename to rust/docs/src/using-task-command.md diff --git a/docs/src/welcome.md b/rust/docs/src/welcome.md similarity index 100% rename from docs/src/welcome.md rename to rust/docs/src/welcome.md diff --git a/integration-tests/.gitignore b/rust/integration-tests/.gitignore similarity index 100% rename from integration-tests/.gitignore rename to rust/integration-tests/.gitignore diff --git a/integration-tests/Cargo.toml b/rust/integration-tests/Cargo.toml similarity index 100% rename from integration-tests/Cargo.toml rename to rust/integration-tests/Cargo.toml diff --git a/integration-tests/README.md b/rust/integration-tests/README.md similarity index 100% rename from integration-tests/README.md rename to rust/integration-tests/README.md diff --git a/integration-tests/build.rs b/rust/integration-tests/build.rs similarity index 100% rename from integration-tests/build.rs rename to rust/integration-tests/build.rs diff --git a/integration-tests/src/bindings_tests/mod.rs b/rust/integration-tests/src/bindings_tests/mod.rs similarity index 100% rename from integration-tests/src/bindings_tests/mod.rs rename to rust/integration-tests/src/bindings_tests/mod.rs diff --git a/integration-tests/src/bindings_tests/replica.c b/rust/integration-tests/src/bindings_tests/replica.c similarity index 100% rename from integration-tests/src/bindings_tests/replica.c rename to rust/integration-tests/src/bindings_tests/replica.c diff --git a/integration-tests/src/bindings_tests/string.c b/rust/integration-tests/src/bindings_tests/string.c similarity index 100% rename from integration-tests/src/bindings_tests/string.c rename to rust/integration-tests/src/bindings_tests/string.c diff --git a/integration-tests/src/bindings_tests/task.c b/rust/integration-tests/src/bindings_tests/task.c similarity index 100% rename from integration-tests/src/bindings_tests/task.c rename to rust/integration-tests/src/bindings_tests/task.c diff --git a/integration-tests/src/bindings_tests/test.c b/rust/integration-tests/src/bindings_tests/test.c similarity index 100% rename from integration-tests/src/bindings_tests/test.c rename to rust/integration-tests/src/bindings_tests/test.c diff --git a/integration-tests/src/bindings_tests/unity/LICENSE.txt b/rust/integration-tests/src/bindings_tests/unity/LICENSE.txt similarity index 100% rename from integration-tests/src/bindings_tests/unity/LICENSE.txt rename to rust/integration-tests/src/bindings_tests/unity/LICENSE.txt diff --git a/integration-tests/src/bindings_tests/unity/README.md b/rust/integration-tests/src/bindings_tests/unity/README.md similarity index 100% rename from integration-tests/src/bindings_tests/unity/README.md rename to rust/integration-tests/src/bindings_tests/unity/README.md diff --git a/integration-tests/src/bindings_tests/unity/unity.c b/rust/integration-tests/src/bindings_tests/unity/unity.c similarity index 100% rename from integration-tests/src/bindings_tests/unity/unity.c rename to rust/integration-tests/src/bindings_tests/unity/unity.c diff --git a/integration-tests/src/bindings_tests/unity/unity.h b/rust/integration-tests/src/bindings_tests/unity/unity.h similarity index 100% rename from integration-tests/src/bindings_tests/unity/unity.h rename to rust/integration-tests/src/bindings_tests/unity/unity.h diff --git a/integration-tests/src/bindings_tests/unity/unity_internals.h b/rust/integration-tests/src/bindings_tests/unity/unity_internals.h similarity index 100% rename from integration-tests/src/bindings_tests/unity/unity_internals.h rename to rust/integration-tests/src/bindings_tests/unity/unity_internals.h diff --git a/integration-tests/src/bindings_tests/uuid.c b/rust/integration-tests/src/bindings_tests/uuid.c similarity index 100% rename from integration-tests/src/bindings_tests/uuid.c rename to rust/integration-tests/src/bindings_tests/uuid.c diff --git a/integration-tests/src/lib.rs b/rust/integration-tests/src/lib.rs similarity index 100% rename from integration-tests/src/lib.rs rename to rust/integration-tests/src/lib.rs diff --git a/integration-tests/tests/bindings.rs b/rust/integration-tests/tests/bindings.rs similarity index 100% rename from integration-tests/tests/bindings.rs rename to rust/integration-tests/tests/bindings.rs diff --git a/integration-tests/tests/cross-sync.rs b/rust/integration-tests/tests/cross-sync.rs similarity index 100% rename from integration-tests/tests/cross-sync.rs rename to rust/integration-tests/tests/cross-sync.rs diff --git a/integration-tests/tests/snapshots.rs b/rust/integration-tests/tests/snapshots.rs similarity index 100% rename from integration-tests/tests/snapshots.rs rename to rust/integration-tests/tests/snapshots.rs diff --git a/integration-tests/tests/update-and-delete-sync.rs b/rust/integration-tests/tests/update-and-delete-sync.rs similarity index 100% rename from integration-tests/tests/update-and-delete-sync.rs rename to rust/integration-tests/tests/update-and-delete-sync.rs diff --git a/lib/Cargo.toml b/rust/lib/Cargo.toml similarity index 100% rename from lib/Cargo.toml rename to rust/lib/Cargo.toml diff --git a/lib/Makefile b/rust/lib/Makefile similarity index 100% rename from lib/Makefile rename to rust/lib/Makefile diff --git a/lib/header-intro.h b/rust/lib/header-intro.h similarity index 100% rename from lib/header-intro.h rename to rust/lib/header-intro.h diff --git a/lib/src/annotation.rs b/rust/lib/src/annotation.rs similarity index 100% rename from lib/src/annotation.rs rename to rust/lib/src/annotation.rs diff --git a/lib/src/atomic.rs b/rust/lib/src/atomic.rs similarity index 100% rename from lib/src/atomic.rs rename to rust/lib/src/atomic.rs diff --git a/lib/src/kv.rs b/rust/lib/src/kv.rs similarity index 100% rename from lib/src/kv.rs rename to rust/lib/src/kv.rs diff --git a/lib/src/lib.rs b/rust/lib/src/lib.rs similarity index 100% rename from lib/src/lib.rs rename to rust/lib/src/lib.rs diff --git a/lib/src/replica.rs b/rust/lib/src/replica.rs similarity index 100% rename from lib/src/replica.rs rename to rust/lib/src/replica.rs diff --git a/lib/src/result.rs b/rust/lib/src/result.rs similarity index 100% rename from lib/src/result.rs rename to rust/lib/src/result.rs diff --git a/lib/src/server.rs b/rust/lib/src/server.rs similarity index 100% rename from lib/src/server.rs rename to rust/lib/src/server.rs diff --git a/lib/src/status.rs b/rust/lib/src/status.rs similarity index 100% rename from lib/src/status.rs rename to rust/lib/src/status.rs diff --git a/lib/src/string.rs b/rust/lib/src/string.rs similarity index 100% rename from lib/src/string.rs rename to rust/lib/src/string.rs diff --git a/lib/src/task.rs b/rust/lib/src/task.rs similarity index 100% rename from lib/src/task.rs rename to rust/lib/src/task.rs diff --git a/lib/src/traits.rs b/rust/lib/src/traits.rs similarity index 100% rename from lib/src/traits.rs rename to rust/lib/src/traits.rs diff --git a/lib/src/uda.rs b/rust/lib/src/uda.rs similarity index 100% rename from lib/src/uda.rs rename to rust/lib/src/uda.rs diff --git a/lib/src/util.rs b/rust/lib/src/util.rs similarity index 100% rename from lib/src/util.rs rename to rust/lib/src/util.rs diff --git a/lib/src/uuid.rs b/rust/lib/src/uuid.rs similarity index 100% rename from lib/src/uuid.rs rename to rust/lib/src/uuid.rs diff --git a/lib/src/workingset.rs b/rust/lib/src/workingset.rs similarity index 100% rename from lib/src/workingset.rs rename to rust/lib/src/workingset.rs diff --git a/lib/taskchampion.h b/rust/lib/taskchampion.h similarity index 100% rename from lib/taskchampion.h rename to rust/lib/taskchampion.h diff --git a/scripts/changelog.py b/rust/scripts/changelog.py similarity index 100% rename from scripts/changelog.py rename to rust/scripts/changelog.py diff --git a/sync-server/Cargo.toml b/rust/sync-server/Cargo.toml similarity index 100% rename from sync-server/Cargo.toml rename to rust/sync-server/Cargo.toml diff --git a/sync-server/src/api/add_snapshot.rs b/rust/sync-server/src/api/add_snapshot.rs similarity index 100% rename from sync-server/src/api/add_snapshot.rs rename to rust/sync-server/src/api/add_snapshot.rs diff --git a/sync-server/src/api/add_version.rs b/rust/sync-server/src/api/add_version.rs similarity index 100% rename from sync-server/src/api/add_version.rs rename to rust/sync-server/src/api/add_version.rs diff --git a/sync-server/src/api/get_child_version.rs b/rust/sync-server/src/api/get_child_version.rs similarity index 100% rename from sync-server/src/api/get_child_version.rs rename to rust/sync-server/src/api/get_child_version.rs diff --git a/sync-server/src/api/get_snapshot.rs b/rust/sync-server/src/api/get_snapshot.rs similarity index 100% rename from sync-server/src/api/get_snapshot.rs rename to rust/sync-server/src/api/get_snapshot.rs diff --git a/sync-server/src/api/mod.rs b/rust/sync-server/src/api/mod.rs similarity index 100% rename from sync-server/src/api/mod.rs rename to rust/sync-server/src/api/mod.rs diff --git a/sync-server/src/bin/taskchampion-sync-server.rs b/rust/sync-server/src/bin/taskchampion-sync-server.rs similarity index 100% rename from sync-server/src/bin/taskchampion-sync-server.rs rename to rust/sync-server/src/bin/taskchampion-sync-server.rs diff --git a/sync-server/src/lib.rs b/rust/sync-server/src/lib.rs similarity index 100% rename from sync-server/src/lib.rs rename to rust/sync-server/src/lib.rs diff --git a/sync-server/src/server.rs b/rust/sync-server/src/server.rs similarity index 100% rename from sync-server/src/server.rs rename to rust/sync-server/src/server.rs diff --git a/sync-server/src/storage/inmemory.rs b/rust/sync-server/src/storage/inmemory.rs similarity index 100% rename from sync-server/src/storage/inmemory.rs rename to rust/sync-server/src/storage/inmemory.rs diff --git a/sync-server/src/storage/mod.rs b/rust/sync-server/src/storage/mod.rs similarity index 100% rename from sync-server/src/storage/mod.rs rename to rust/sync-server/src/storage/mod.rs diff --git a/sync-server/src/storage/sqlite.rs b/rust/sync-server/src/storage/sqlite.rs similarity index 100% rename from sync-server/src/storage/sqlite.rs rename to rust/sync-server/src/storage/sqlite.rs diff --git a/taskchampion/Cargo.toml b/rust/taskchampion/Cargo.toml similarity index 100% rename from taskchampion/Cargo.toml rename to rust/taskchampion/Cargo.toml diff --git a/taskchampion/src/depmap.rs b/rust/taskchampion/src/depmap.rs similarity index 100% rename from taskchampion/src/depmap.rs rename to rust/taskchampion/src/depmap.rs diff --git a/taskchampion/src/errors.rs b/rust/taskchampion/src/errors.rs similarity index 100% rename from taskchampion/src/errors.rs rename to rust/taskchampion/src/errors.rs diff --git a/taskchampion/src/lib.rs b/rust/taskchampion/src/lib.rs similarity index 100% rename from taskchampion/src/lib.rs rename to rust/taskchampion/src/lib.rs diff --git a/taskchampion/src/macros.rs b/rust/taskchampion/src/macros.rs similarity index 100% rename from taskchampion/src/macros.rs rename to rust/taskchampion/src/macros.rs diff --git a/taskchampion/src/replica.rs b/rust/taskchampion/src/replica.rs similarity index 100% rename from taskchampion/src/replica.rs rename to rust/taskchampion/src/replica.rs diff --git a/taskchampion/src/server/config.rs b/rust/taskchampion/src/server/config.rs similarity index 100% rename from taskchampion/src/server/config.rs rename to rust/taskchampion/src/server/config.rs diff --git a/taskchampion/src/server/crypto.rs b/rust/taskchampion/src/server/crypto.rs similarity index 100% rename from taskchampion/src/server/crypto.rs rename to rust/taskchampion/src/server/crypto.rs diff --git a/taskchampion/src/server/generate-test-data.py b/rust/taskchampion/src/server/generate-test-data.py similarity index 100% rename from taskchampion/src/server/generate-test-data.py rename to rust/taskchampion/src/server/generate-test-data.py diff --git a/taskchampion/src/server/local.rs b/rust/taskchampion/src/server/local.rs similarity index 100% rename from taskchampion/src/server/local.rs rename to rust/taskchampion/src/server/local.rs diff --git a/taskchampion/src/server/mod.rs b/rust/taskchampion/src/server/mod.rs similarity index 100% rename from taskchampion/src/server/mod.rs rename to rust/taskchampion/src/server/mod.rs diff --git a/taskchampion/src/server/op.rs b/rust/taskchampion/src/server/op.rs similarity index 100% rename from taskchampion/src/server/op.rs rename to rust/taskchampion/src/server/op.rs diff --git a/taskchampion/src/server/remote/mod.rs b/rust/taskchampion/src/server/remote/mod.rs similarity index 100% rename from taskchampion/src/server/remote/mod.rs rename to rust/taskchampion/src/server/remote/mod.rs diff --git a/taskchampion/src/server/test-bad-app-id.data b/rust/taskchampion/src/server/test-bad-app-id.data similarity index 100% rename from taskchampion/src/server/test-bad-app-id.data rename to rust/taskchampion/src/server/test-bad-app-id.data diff --git a/taskchampion/src/server/test-bad-client-key.data b/rust/taskchampion/src/server/test-bad-client-key.data similarity index 100% rename from taskchampion/src/server/test-bad-client-key.data rename to rust/taskchampion/src/server/test-bad-client-key.data diff --git a/taskchampion/src/server/test-bad-secret.data b/rust/taskchampion/src/server/test-bad-secret.data similarity index 100% rename from taskchampion/src/server/test-bad-secret.data rename to rust/taskchampion/src/server/test-bad-secret.data diff --git a/taskchampion/src/server/test-bad-version-id.data b/rust/taskchampion/src/server/test-bad-version-id.data similarity index 100% rename from taskchampion/src/server/test-bad-version-id.data rename to rust/taskchampion/src/server/test-bad-version-id.data diff --git a/taskchampion/src/server/test-bad-version.data b/rust/taskchampion/src/server/test-bad-version.data similarity index 100% rename from taskchampion/src/server/test-bad-version.data rename to rust/taskchampion/src/server/test-bad-version.data diff --git a/taskchampion/src/server/test-bad-version_id.data b/rust/taskchampion/src/server/test-bad-version_id.data similarity index 100% rename from taskchampion/src/server/test-bad-version_id.data rename to rust/taskchampion/src/server/test-bad-version_id.data diff --git a/taskchampion/src/server/test-good.data b/rust/taskchampion/src/server/test-good.data similarity index 100% rename from taskchampion/src/server/test-good.data rename to rust/taskchampion/src/server/test-good.data diff --git a/taskchampion/src/server/test.rs b/rust/taskchampion/src/server/test.rs similarity index 100% rename from taskchampion/src/server/test.rs rename to rust/taskchampion/src/server/test.rs diff --git a/taskchampion/src/server/types.rs b/rust/taskchampion/src/server/types.rs similarity index 100% rename from taskchampion/src/server/types.rs rename to rust/taskchampion/src/server/types.rs diff --git a/taskchampion/src/storage/config.rs b/rust/taskchampion/src/storage/config.rs similarity index 100% rename from taskchampion/src/storage/config.rs rename to rust/taskchampion/src/storage/config.rs diff --git a/taskchampion/src/storage/inmemory.rs b/rust/taskchampion/src/storage/inmemory.rs similarity index 100% rename from taskchampion/src/storage/inmemory.rs rename to rust/taskchampion/src/storage/inmemory.rs diff --git a/taskchampion/src/storage/mod.rs b/rust/taskchampion/src/storage/mod.rs similarity index 100% rename from taskchampion/src/storage/mod.rs rename to rust/taskchampion/src/storage/mod.rs diff --git a/taskchampion/src/storage/op.rs b/rust/taskchampion/src/storage/op.rs similarity index 100% rename from taskchampion/src/storage/op.rs rename to rust/taskchampion/src/storage/op.rs diff --git a/taskchampion/src/storage/sqlite.rs b/rust/taskchampion/src/storage/sqlite.rs similarity index 100% rename from taskchampion/src/storage/sqlite.rs rename to rust/taskchampion/src/storage/sqlite.rs diff --git a/taskchampion/src/task/annotation.rs b/rust/taskchampion/src/task/annotation.rs similarity index 100% rename from taskchampion/src/task/annotation.rs rename to rust/taskchampion/src/task/annotation.rs diff --git a/taskchampion/src/task/mod.rs b/rust/taskchampion/src/task/mod.rs similarity index 100% rename from taskchampion/src/task/mod.rs rename to rust/taskchampion/src/task/mod.rs diff --git a/taskchampion/src/task/status.rs b/rust/taskchampion/src/task/status.rs similarity index 100% rename from taskchampion/src/task/status.rs rename to rust/taskchampion/src/task/status.rs diff --git a/taskchampion/src/task/tag.rs b/rust/taskchampion/src/task/tag.rs similarity index 100% rename from taskchampion/src/task/tag.rs rename to rust/taskchampion/src/task/tag.rs diff --git a/taskchampion/src/task/task.rs b/rust/taskchampion/src/task/task.rs similarity index 100% rename from taskchampion/src/task/task.rs rename to rust/taskchampion/src/task/task.rs diff --git a/taskchampion/src/taskdb/apply.rs b/rust/taskchampion/src/taskdb/apply.rs similarity index 100% rename from taskchampion/src/taskdb/apply.rs rename to rust/taskchampion/src/taskdb/apply.rs diff --git a/taskchampion/src/taskdb/mod.rs b/rust/taskchampion/src/taskdb/mod.rs similarity index 100% rename from taskchampion/src/taskdb/mod.rs rename to rust/taskchampion/src/taskdb/mod.rs diff --git a/taskchampion/src/taskdb/snapshot.rs b/rust/taskchampion/src/taskdb/snapshot.rs similarity index 100% rename from taskchampion/src/taskdb/snapshot.rs rename to rust/taskchampion/src/taskdb/snapshot.rs diff --git a/taskchampion/src/taskdb/sync.rs b/rust/taskchampion/src/taskdb/sync.rs similarity index 100% rename from taskchampion/src/taskdb/sync.rs rename to rust/taskchampion/src/taskdb/sync.rs diff --git a/taskchampion/src/taskdb/undo.rs b/rust/taskchampion/src/taskdb/undo.rs similarity index 100% rename from taskchampion/src/taskdb/undo.rs rename to rust/taskchampion/src/taskdb/undo.rs diff --git a/taskchampion/src/taskdb/working_set.rs b/rust/taskchampion/src/taskdb/working_set.rs similarity index 100% rename from taskchampion/src/taskdb/working_set.rs rename to rust/taskchampion/src/taskdb/working_set.rs diff --git a/taskchampion/src/utils.rs b/rust/taskchampion/src/utils.rs similarity index 100% rename from taskchampion/src/utils.rs rename to rust/taskchampion/src/utils.rs diff --git a/taskchampion/src/workingset.rs b/rust/taskchampion/src/workingset.rs similarity index 100% rename from taskchampion/src/workingset.rs rename to rust/taskchampion/src/workingset.rs diff --git a/xtask/Cargo.toml b/rust/xtask/Cargo.toml similarity index 100% rename from xtask/Cargo.toml rename to rust/xtask/Cargo.toml diff --git a/xtask/src/main.rs b/rust/xtask/src/main.rs similarity index 100% rename from xtask/src/main.rs rename to rust/xtask/src/main.rs