Rename framework/ to diachron/ and update all references

Update paths in .gitignore, cmd, develop, mgmt, sync.sh, check.sh,
fixup.sh, CLAUDE.md, docs/new-project.md, and backend/*.sh scripts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-02 18:10:32 -05:00
parent db1f2151de
commit 02edf259f0
40 changed files with 37 additions and 37 deletions

8
.gitignore vendored
View File

@@ -1,5 +1,5 @@
**/node_modules **/node_modules
framework/downloads diachron/downloads
framework/binaries diachron/binaries
framework/.nodejs diachron/.nodejs
framework/.nodejs-config diachron/.nodejs-config

View File

@@ -56,7 +56,7 @@ cd master && go build
- **backend/** - TypeScript/Express.js backend application - **backend/** - TypeScript/Express.js backend application
- **master/** - Go-based master process for file watching and process management - **master/** - Go-based master process for file watching and process management
- **framework/** - Managed binaries (Node.js, pnpm), command wrappers, and - **diachron/** - Managed binaries (Node.js, pnpm), command wrappers, and
framework-specific library code framework-specific library code
- **monitor/** - Go file watcher that triggers rebuilds (experimental) - **monitor/** - Go file watcher that triggers rebuilds (experimental)
@@ -78,7 +78,7 @@ Responsibilities:
### Framework Command System ### Framework Command System
Commands flow through: `./cmd``framework/cmd.d/*``framework/shims/*` → managed binaries in `framework/binaries/` Commands flow through: `./cmd``diachron/cmd.d/*``diachron/shims/*` → managed binaries in `diachron/binaries/`
This ensures consistent tooling versions across the team without system-wide installations. This ensures consistent tooling versions across the team without system-wide installations.

View File

@@ -8,7 +8,7 @@ check_dir="$DIR"
out_dir="$check_dir/out" out_dir="$check_dir/out"
source "$check_dir"/../framework/shims/common source "$check_dir"/../diachron/shims/common
source "$check_dir"/../framework/shims/node.common source "$check_dir"/../diachron/shims/node.common
$ROOT/cmd pnpm tsc --outDir "$out_dir" $ROOT/cmd pnpm tsc --outDir "$out_dir"

View File

@@ -6,7 +6,7 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
check_dir="$DIR" check_dir="$DIR"
source "$check_dir"/../framework/shims/common source "$check_dir"/../diachron/shims/common
source "$check_dir"/../framework/shims/node.common source "$check_dir"/../diachron/shims/node.common
$ROOT/cmd pnpm tsc --showConfig $ROOT/cmd pnpm tsc --showConfig

View File

@@ -6,8 +6,8 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
check_dir="$DIR" check_dir="$DIR"
source "$check_dir"/../framework/shims/common source "$check_dir"/../diachron/shims/common
source "$check_dir"/../framework/shims/node.common source "$check_dir"/../diachron/shims/node.common
# $ROOT/cmd pnpm tsc --lib ES2023 --esModuleInterop -w $check_dir/app.ts # $ROOT/cmd pnpm tsc --lib ES2023 --esModuleInterop -w $check_dir/app.ts
# $ROOT/cmd pnpm tsc -w $check_dir/app.ts # $ROOT/cmd pnpm tsc -w $check_dir/app.ts

View File

@@ -10,7 +10,7 @@ cd "$DIR"
# #
exclusions="SC2002" exclusions="SC2002"
source "$DIR/framework/versions" source "$DIR/diachron/versions"
if [[ $# -ne 0 ]]; then if [[ $# -ne 0 ]]; then
shellcheck --exclude="$exclusions" "$@" shellcheck --exclude="$exclusions" "$@"
@@ -20,10 +20,10 @@ fi
shell_scripts="$(fd .sh | xargs)" shell_scripts="$(fd .sh | xargs)"
# The files we need to check all either end in .sh or else they're the files # The files we need to check all either end in .sh or else they're the files
# in framework/cmd.d and framework/shims. -x instructs shellcheck to also # in diachron/cmd.d and diachron/shims. -x instructs shellcheck to also
# check `source`d files. # check `source`d files.
shellcheck -x --exclude="$exclusions" "$DIR/cmd" "$DIR"/framework/cmd.d/* "$DIR"/framework/shims/* "$shell_scripts" shellcheck -x --exclude="$exclusions" "$DIR/cmd" "$DIR"/diachron/cmd.d/* "$DIR"/diachron/shims/* "$shell_scripts"
pushd "$DIR/master" pushd "$DIR/master"
docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:$golangci_lint golangci-lint run docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:$golangci_lint golangci-lint run

4
cmd
View File

@@ -13,7 +13,7 @@ if [ $# -lt 1 ]; then
echo "Usage: ./cmd <command> [args...]" echo "Usage: ./cmd <command> [args...]"
echo "" echo ""
echo "Available commands:" echo "Available commands:"
for cmd in "$DIR"/framework/cmd.d/*; do for cmd in "$DIR"/diachron/cmd.d/*; do
if [ -x "$cmd" ]; then if [ -x "$cmd" ]; then
basename "$cmd" basename "$cmd"
fi fi
@@ -24,4 +24,4 @@ fi
subcmd="$1" subcmd="$1"
shift shift
exec "$DIR"/framework/cmd.d/"$subcmd" "$@" exec "$DIR"/diachron/cmd.d/"$subcmd" "$@"

View File

@@ -13,7 +13,7 @@ if [ $# -lt 1 ]; then
echo "Usage: ./develop <command> [args...]" echo "Usage: ./develop <command> [args...]"
echo "" echo ""
echo "Available commands:" echo "Available commands:"
for cmd in "$DIR"/framework/develop.d/*; do for cmd in "$DIR"/diachron/develop.d/*; do
if [ -x "$cmd" ]; then if [ -x "$cmd" ]; then
basename "$cmd" basename "$cmd"
fi fi
@@ -24,4 +24,4 @@ fi
subcmd="$1" subcmd="$1"
shift shift
exec "$DIR"/framework/develop.d/"$subcmd" "$@" exec "$DIR"/diachron/develop.d/"$subcmd" "$@"

View File

@@ -13,7 +13,7 @@ source "$node_common_DIR"/../platform
# Get platform-specific node directory # Get platform-specific node directory
nodejs_dirname_var="nodejs_dirname_${platform}" nodejs_dirname_var="nodejs_dirname_${platform}"
nodejs_dirname="${!nodejs_dirname_var}" nodejs_dirname="${!nodejs_dirname_var}"
nodejs_dist_dir="framework/binaries/$nodejs_dirname" nodejs_dist_dir="diachron/binaries/$nodejs_dirname"
nodejs_bin_dir="$nodejs_dist_dir/bin" nodejs_bin_dir="$nodejs_dist_dir/bin"
nodejs_binary_dir="$project_root/$nodejs_bin_dir" nodejs_binary_dir="$project_root/$nodejs_bin_dir"

View File

@@ -11,6 +11,6 @@ source "$pnpm_shim_DIR"/node.common
# shellcheck source=./common # shellcheck source=./common
source "$pnpm_shim_DIR"/common source "$pnpm_shim_DIR"/common
# cd $ROOT/framework/node # cd $ROOT/diachron/node
exec "$pnpm_shim_DIR"/../binaries/pnpm "$@" exec "$pnpm_shim_DIR"/../binaries/pnpm "$@"

View File

@@ -38,11 +38,11 @@ you should convert the `.gitignore` file to whatever your version control
system uses.) system uses.)
You should add the whole directory to git and commit it. There will be two You should add the whole directory to git and commit it. There will be two
`.gitignore` files, one in the root, and one in the `framework/` directory. `.gitignore` files, one in the root, and one in the `diachron/` directory.
The root `.gitignore` created for you will be a good starting point, but you The root `.gitignore` created for you will be a good starting point, but you
can make changes to it as you see fit. However, you should not ever modify can make changes to it as you see fit. However, you should not ever modify
`framework/.gitignore`. More on this in the next section. `diachron/.gitignore`. More on this in the next section.
### working with diachron ### working with diachron

View File

@@ -11,7 +11,7 @@ cd "$DIR"
# uv run ruff format . # uv run ruff format .
shell_scripts="$(fd '.sh$' | xargs)" shell_scripts="$(fd '.sh$' | xargs)"
shfmt -i 4 -w "$DIR/cmd" "$DIR"/framework/cmd.d/* "$DIR"/framework/shims/* "$DIR"/master/master "$DIR"/logger/logger shfmt -i 4 -w "$DIR/cmd" "$DIR"/diachron/cmd.d/* "$DIR"/diachron/shims/* "$DIR"/master/master "$DIR"/logger/logger
# "$shell_scripts" # "$shell_scripts"
for ss in $shell_scripts; do for ss in $shell_scripts; do
shfmt -i 4 -w $ss shfmt -i 4 -w $ss
@@ -21,6 +21,6 @@ pushd "$DIR/master"
go fmt go fmt
popd popd
pushd "$DIR/express" pushd "$DIR/backend"
../cmd pnpm biome check --write ../cmd pnpm biome check --write
popd popd

4
mgmt
View File

@@ -13,7 +13,7 @@ if [ $# -lt 1 ]; then
echo "Usage: ./mgmt <command> [args...]" echo "Usage: ./mgmt <command> [args...]"
echo "" echo ""
echo "Available commands:" echo "Available commands:"
for cmd in "$DIR"/framework/mgmt.d/*; do for cmd in "$DIR"/diachron/mgmt.d/*; do
if [ -x "$cmd" ]; then if [ -x "$cmd" ]; then
basename "$cmd" basename "$cmd"
fi fi
@@ -24,4 +24,4 @@ fi
subcmd="$1" subcmd="$1"
shift shift
exec "$DIR"/framework/mgmt.d/"$subcmd" "$@" exec "$DIR"/diachron/mgmt.d/"$subcmd" "$@"

20
sync.sh
View File

@@ -6,11 +6,11 @@ set -eu
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=framework/versions # shellcheck source=diachron/versions
source "$DIR/framework/versions" source "$DIR/diachron/versions"
# shellcheck source=framework/platform # shellcheck source=diachron/platform
source "$DIR/framework/platform" source "$DIR/diachron/platform"
# Get platform-specific variables # Get platform-specific variables
nodejs_binary_var="nodejs_binary_${platform}" nodejs_binary_var="nodejs_binary_${platform}"
@@ -26,11 +26,11 @@ pnpm_binary_url="${!pnpm_binary_var}"
pnpm_checksum="${!pnpm_checksum_var}" pnpm_checksum="${!pnpm_checksum_var}"
# Set up paths for shims to use # Set up paths for shims to use
nodejs_dist_dir="framework/binaries/$nodejs_dirname" nodejs_dist_dir="diachron/binaries/$nodejs_dirname"
nodejs_bin_dir="$nodejs_dist_dir/bin" nodejs_bin_dir="$nodejs_dist_dir/bin"
# Ensure correct node version is installed # Ensure correct node version is installed
node_installed_checksum_file="$DIR/framework/binaries/.node.checksum" node_installed_checksum_file="$DIR/diachron/binaries/.node.checksum"
node_installed_checksum="" node_installed_checksum=""
if [ -f "$node_installed_checksum_file" ]; then if [ -f "$node_installed_checksum_file" ]; then
node_installed_checksum=$(cat "$node_installed_checksum_file") node_installed_checksum=$(cat "$node_installed_checksum_file")
@@ -38,22 +38,22 @@ fi
if [ "$node_installed_checksum" != "$nodejs_checksum" ]; then if [ "$node_installed_checksum" != "$nodejs_checksum" ]; then
echo "Downloading Node.js for $platform..." echo "Downloading Node.js for $platform..."
node_archive="$DIR/framework/downloads/node.tar.xz" node_archive="$DIR/diachron/downloads/node.tar.xz"
curl -fsSL "$nodejs_binary" -o "$node_archive" curl -fsSL "$nodejs_binary" -o "$node_archive"
echo "Verifying checksum..." echo "Verifying checksum..."
echo "$nodejs_checksum $node_archive" | sha256_check echo "$nodejs_checksum $node_archive" | sha256_check
echo "Extracting Node.js..." echo "Extracting Node.js..."
tar -xf "$node_archive" -C "$DIR/framework/binaries" tar -xf "$node_archive" -C "$DIR/diachron/binaries"
rm "$node_archive" rm "$node_archive"
echo "$nodejs_checksum" >"$node_installed_checksum_file" echo "$nodejs_checksum" >"$node_installed_checksum_file"
fi fi
# Ensure correct pnpm version is installed # Ensure correct pnpm version is installed
pnpm_binary="$DIR/framework/binaries/pnpm" pnpm_binary="$DIR/diachron/binaries/pnpm"
pnpm_installed_checksum_file="$DIR/framework/binaries/.pnpm.checksum" pnpm_installed_checksum_file="$DIR/diachron/binaries/.pnpm.checksum"
pnpm_installed_checksum="" pnpm_installed_checksum=""
if [ -f "$pnpm_installed_checksum_file" ]; then if [ -f "$pnpm_installed_checksum_file" ]; then
pnpm_installed_checksum=$(cat "$pnpm_installed_checksum_file") pnpm_installed_checksum=$(cat "$pnpm_installed_checksum_file")