rename ss-tools to superset-tools across the entire project

- Replace all occurrences of 'ss-tools' with 'superset-tools' in 104 files
- Rename git bundle file ss-tools.bundle → superset-tools.bundle
- Update .gitignore pattern accordingly
- Preserve variable names (hasSsTools etc.) and code identifiers
This commit is contained in:
2026-06-16 11:15:19 +03:00
parent d75db60343
commit ec6421de35
129 changed files with 467 additions and 467 deletions

View File

@@ -1,4 +1,4 @@
# Frontend Design Audit: ss-tools
# Frontend Design Audit: superset-tools
> Дата: 2026-06-02 (ревизия 3 — PR 0-4 выполнены)
> Цель: Аудит фронтенд кода на предмет "плавающего" дизайна, выработка AI-native правил

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# ── ss-tools E2E test runner ─────────────────────────────────
# ── superset-tools E2E test runner ─────────────────────────────────
# Usage:
# ./e2e/run-e2e.sh # default: test against local stack
# ./e2e/run-e2e.sh --ci # CI mode: build, start stack, test, teardown
@@ -41,7 +41,7 @@ for arg in "$@"; do
done
echo "═══════════════════════════════════════════════════════"
echo " ss-tools E2E Test Runner"
echo " superset-tools E2E Test Runner"
echo " Backend: $BACKEND_URL"
echo " Frontend: $FRONTEND_URL"
echo " CI mode: $CI_MODE"
@@ -52,7 +52,7 @@ if [ "$CI_MODE" = true ]; then
echo "[E2E] CI mode: building and starting stack..."
cd "$PROJECT_ROOT"
docker compose -p ss-tools-e2e --env-file .env.current up -d --build db backend
docker compose -p superset-tools-e2e --env-file .env.current up -d --build db backend
echo "[E2E] Waiting for backend to be healthy..."
for i in $(seq 1 30); do
@@ -62,7 +62,7 @@ if [ "$CI_MODE" = true ]; then
fi
if [ "$i" -eq 30 ]; then
echo "[E2E] Backend failed to start within 30s"
docker compose -p ss-tools-e2e logs --tail=20 backend
docker compose -p superset-tools-e2e logs --tail=20 backend
exit 1
fi
sleep 1
@@ -78,7 +78,7 @@ if [ "$CI_MODE" = true ]; then
cleanup() {
echo "[E2E] Cleaning up..."
kill "$VITE_PID" 2>/dev/null || true
docker compose -p ss-tools-e2e down -t 5
docker compose -p superset-tools-e2e down -t 5
}
trap cleanup EXIT
fi
@@ -88,7 +88,7 @@ echo "[E2E] Pre-flight: checking backend..."
if ! curl -sf "$BACKEND_URL/api/health/summary" > /dev/null 2>&1; then
echo "[E2E] ERROR: Backend unreachable at $BACKEND_URL"
echo " Make sure the stack is running:"
echo " docker compose -p ss-tools-current --env-file .env.current up -d"
echo " docker compose -p superset-tools-current --env-file .env.current up -d"
echo " Or use --ci to auto-start:"
echo " ./e2e/run-e2e.sh --ci"
exit 1

View File

@@ -121,13 +121,13 @@ cleanup() {
# Stop Stage 1 docker compose
if [[ -f "${PROJECT_ROOT}/dist/docker/docker-compose.enterprise-clean.yml" ]]; then
log_info "Stopping enterprise-clean stack..."
docker compose -p ss-tools-e2e-ec \
docker compose -p superset-tools-e2e-ec \
-f "${PROJECT_ROOT}/dist/docker/docker-compose.enterprise-clean.yml" \
down -t 10 2>/dev/null || true
fi
# Stop PostgreSQL container
docker rm -f ss-tools-e2e-pg 2>/dev/null || true
docker rm -f superset-tools-e2e-pg 2>/dev/null || true
log_info "Cleanup complete (exit code: $exit_code)"
exit "$exit_code"
@@ -216,43 +216,43 @@ stage1_enterprise_clean() {
# ── 1.2. LOAD IMAGES ─────────────────────────────────────
log_info "Step 1.2: Loading Docker images from bundle..."
if [[ -f "${PROJECT_ROOT}/dist/docker/ss-tools-backend.${RELEASE_TAG}.tar.xz" ]]; then
xz -dc "${PROJECT_ROOT}/dist/docker/ss-tools-backend.${RELEASE_TAG}.tar.xz" | docker load
if [[ -f "${PROJECT_ROOT}/dist/docker/superset-tools-backend.${RELEASE_TAG}.tar.xz" ]]; then
xz -dc "${PROJECT_ROOT}/dist/docker/superset-tools-backend.${RELEASE_TAG}.tar.xz" | docker load
log_ok "Backend image loaded"
else
log_warn "Backend archive not found, attempting docker build instead..."
cd "$PROJECT_ROOT"
docker build -f docker/backend.Dockerfile -t "ss-tools-backend:${RELEASE_TAG}" .
docker build -f docker/backend.Dockerfile -t "superset-tools-backend:${RELEASE_TAG}" .
fi
if [[ -f "${PROJECT_ROOT}/dist/docker/ss-tools-frontend.${RELEASE_TAG}.tar.xz" ]]; then
xz -dc "${PROJECT_ROOT}/dist/docker/ss-tools-frontend.${RELEASE_TAG}.tar.xz" | docker load
if [[ -f "${PROJECT_ROOT}/dist/docker/superset-tools-frontend.${RELEASE_TAG}.tar.xz" ]]; then
xz -dc "${PROJECT_ROOT}/dist/docker/superset-tools-frontend.${RELEASE_TAG}.tar.xz" | docker load
log_ok "Frontend image loaded"
else
log_warn "Frontend archive not found, attempting docker build instead..."
cd "$PROJECT_ROOT"
docker build -f docker/frontend.Dockerfile -t "ss-tools-frontend:${RELEASE_TAG}" .
docker build -f docker/frontend.Dockerfile -t "superset-tools-frontend:${RELEASE_TAG}" .
fi
if [[ -f "${PROJECT_ROOT}/dist/docker/ss-tools-agent.${RELEASE_TAG}.tar.xz" ]]; then
xz -dc "${PROJECT_ROOT}/dist/docker/ss-tools-agent.${RELEASE_TAG}.tar.xz" | docker load
if [[ -f "${PROJECT_ROOT}/dist/docker/superset-tools-agent.${RELEASE_TAG}.tar.xz" ]]; then
xz -dc "${PROJECT_ROOT}/dist/docker/superset-tools-agent.${RELEASE_TAG}.tar.xz" | docker load
log_ok "Agent image loaded"
else
log_warn "Agent archive not found, attempting docker build instead..."
cd "$PROJECT_ROOT"
docker build -f docker/Dockerfile.agent -t "ss-tools-agent:${RELEASE_TAG}" .
docker build -f docker/Dockerfile.agent -t "superset-tools-agent:${RELEASE_TAG}" .
fi
# ── 1.3. START POSTGRESQL (on default bridge first) ─────
log_info "Step 1.3: Starting new PostgreSQL container..."
docker rm -f ss-tools-e2e-pg 2>/dev/null || true
docker rm -f superset-tools-e2e-pg 2>/dev/null || true
# Remove any stale compose network so docker compose creates it fresh
docker network rm ss-tools-e2e-ec_default 2>/dev/null || true
docker network rm superset-tools-e2e-ec_default 2>/dev/null || true
# Start PG on default bridge initially — compose will create its own network
docker run -d \
--name ss-tools-e2e-pg \
--name superset-tools-e2e-pg \
-e POSTGRES_DB=ss_tools \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
@@ -261,19 +261,19 @@ stage1_enterprise_clean() {
log_info "Waiting for PostgreSQL to be ready..."
for i in $(seq 1 20); do
if docker exec ss-tools-e2e-pg pg_isready -U postgres -d ss_tools > /dev/null 2>&1; then
if docker exec superset-tools-e2e-pg pg_isready -U postgres -d ss_tools > /dev/null 2>&1; then
log_ok "PostgreSQL ready after ${i}s"
break
fi
if [ "$i" -eq 20 ]; then
log_error "PostgreSQL failed to start"
docker logs ss-tools-e2e-pg --tail 20
docker logs superset-tools-e2e-pg --tail 20
return 1
fi
sleep 1
done
EC_PG_HOST="ss-tools-e2e-pg"
EC_PG_HOST="superset-tools-e2e-pg"
EC_PG_PORT="5432"
# ── 1.4. DEPLOY ENTERPRISE CLEAN STACK ───────────────────
@@ -316,29 +316,29 @@ EOF
# Start compose FIRST so it creates the network with proper compose labels.
# The backend will fail to connect to PG on first start (PG not on compose network
# yet), but Docker restart policy (unless-stopped) will retry.
docker compose -p ss-tools-e2e-ec \
docker compose -p superset-tools-e2e-ec \
-f "$EC_COMPOSE_FILE" \
--env-file "/tmp/.env.e2e-enterprise-clean" \
up -d
# Connect PG to the compose-created network so backend can resolve ss-tools-e2e-pg
docker network connect ss-tools-e2e-ec_default ss-tools-e2e-pg
# Connect PG to the compose-created network so backend can resolve superset-tools-e2e-pg
docker network connect superset-tools-e2e-ec_default superset-tools-e2e-pg
# Restart backend so entrypoint reruns with PG accessible
docker compose -p ss-tools-e2e-ec restart backend
docker compose -p superset-tools-e2e-ec restart backend
# ── 1.5. WAIT FOR BACKEND + FRONTEND ────────────────────
log_info "Step 1.5: Waiting for services..."
if ! wait_for_backend "http://127.0.0.1:${EC_BACKEND_PORT}" "$TIMEOUT_BACKEND_START"; then
log_error "Backend failed to start. Logs:"
docker compose -p ss-tools-e2e-ec logs --tail=30 backend
docker compose -p superset-tools-e2e-ec logs --tail=30 backend
return 1
fi
if ! wait_for_frontend "http://127.0.0.1:${EC_FRONTEND_PORT}" "$TIMEOUT_FRONTEND_START"; then
log_error "Frontend failed to start. Logs:"
docker compose -p ss-tools-e2e-ec logs --tail=30 frontend
docker compose -p superset-tools-e2e-ec logs --tail=30 frontend
return 1
fi
@@ -376,12 +376,12 @@ EOF
# ── 1.7. STOP ENTERPRISE CLEAN STACK ─────────────────────
log_info "Step 1.7: Stopping enterprise-clean stack..."
docker compose -p ss-tools-e2e-ec \
docker compose -p superset-tools-e2e-ec \
-f "$EC_COMPOSE_FILE" \
--env-file "/tmp/.env.e2e-enterprise-clean" \
down -t 10
docker rm -f ss-tools-e2e-pg 2>/dev/null || true
docker rm -f superset-tools-e2e-pg 2>/dev/null || true
log_ok "Stage 1: Enterprise clean stack stopped"
}
@@ -405,7 +405,7 @@ stage2_live_project() {
log_ok "PostgreSQL already running on localhost:5432"
else
log_info "Starting PostgreSQL via docker compose..."
docker compose -p ss-tools-current -f docker-compose.yml up -d db
docker compose -p superset-tools-current -f docker-compose.yml up -d db
log_info "Waiting for PostgreSQL..."
for i in $(seq 1 20); do
if python3 -c "import socket; socket.create_connection(('localhost', 5432), timeout=1).close()" 2>/dev/null; then
@@ -414,7 +414,7 @@ stage2_live_project() {
fi
if [ "$i" -eq 20 ]; then
log_error "PostgreSQL failed to start"
docker compose -p ss-tools-current logs db --tail 20
docker compose -p superset-tools-current logs db --tail 20
return 1
fi
sleep 1

View File

@@ -31,7 +31,7 @@ test.describe('Git Integration', () => {
provider: 'GITEA',
url: GITEA_URL,
pat: GITEA_TOKEN,
default_repository: 'busya/ss-tools',
default_repository: 'busya/superset-tools',
default_branch: 'main',
});
expect(config).toBeDefined();
@@ -82,8 +82,8 @@ test.describe('Git Integration', () => {
const repos = await apiGet(`/api/git/config/${config.id}/gitea/repos`);
expect(Array.isArray(repos)).toBeTruthy();
expect(repos.length).toBeGreaterThan(0);
// Should include the ss-tools repo
const hasSsTools = repos.some(r => r.full_name?.includes('ss-tools'));
// Should include the superset-tools repo
const hasSsTools = repos.some(r => r.full_name?.includes('superset-tools'));
expect(hasSsTools).toBeTruthy();
});
});

View File

@@ -1,5 +1,5 @@
// #region PlaywrightConfig [C:3] [TYPE Config] [SEMANTICS e2e, playwright, test, config]
// @BRIEF Playwright E2E test configuration for ss-tools frontend.
// @BRIEF Playwright E2E test configuration for superset-tools frontend.
// @RELATION DEPENDS_ON -> [EXT:frontend:EnvConfig]]
// @INVARIANT All E2E tests run against a fully deployed stack (DB + backend + frontend).
// @UX_STATE ConfigLoaded -> Browser contexts are created with predefined env settings.

View File

@@ -13,7 +13,7 @@
@RELATION DEPENDS_ON ->[TaskLogViewer]
@RELATION DEPENDS_ON ->[PasswordPrompt]
@INVARIANT: This component contains NO business logic — it only renders model state and calls model.action().
@RATIONALE First page fully migrated to semantic design tokens (surface-*, border-*, text-*, primary, destructive, success, warning, info). All raw buttons replaced with $lib/ui Button. Serves as the canonical visual reference for all ss-tools pages.
@RATIONALE First page fully migrated to semantic design tokens (surface-*, border-*, text-*, primary, destructive, success, warning, info). All raw buttons replaced with $lib/ui Button. Serves as the canonical visual reference for all superset-tools pages.
@UX_STATE: [idle] -> Skeleton loader while environments load.
@UX_STATE: [ready] -> Step wizard with env selection, dashboards, options.
@UX_STATE: [loading] -> Skeleton/spinner during API calls (dry-run, DB fetch).

View File

@@ -1,5 +1,5 @@
// #region ModelTypes [C:1] [TYPE Module] [SEMANTICS types, domain, models]
// @BRIEF Core domain model interfaces for ss-tools frontend.
// @BRIEF Core domain model interfaces for superset-tools frontend.
// @LAYER Domain
// ── Task / Job ───────────────────────────────────────────────