Skip to content

feat: restructure and standardize project scripts for portability and usability#43

Merged
Exonymos merged 3 commits intomainfrom
feat/scripts-restructure
Mar 26, 2026
Merged

feat: restructure and standardize project scripts for portability and usability#43
Exonymos merged 3 commits intomainfrom
feat/scripts-restructure

Conversation

@Exonymos
Copy link
Copy Markdown
Owner

@Exonymos Exonymos commented Mar 26, 2026

Summary

This PR restructures and enhances all project scripts to improve portability, consistency, and developer experience across platforms.

Changes

Script Organization

  • Moved all scripts into a dedicated scripts/ directory:
    • Launchers: run.py, run.sh, run.bat
    • Setup: setup.py, setup.sh, setup.bat
    • Release: make_release.py

Portability Improvements

  • Implemented dynamic project root resolution across all scripts
  • Ensured consistent path handling regardless of execution location
  • Improved cross-platform compatibility (Windows, Linux/macOS)

Setup & Dependency Management

  • Enhanced setup scripts with:
    • uv installation and dependency synchronization
    • Clearer instructions and error handling
  • Added rich to setup.py for improved logging and progress feedback

Launcher Enhancements

  • Improved virtual environment detection and activation checks
  • Updated FLASK_APP path to match new project structure
  • Refined error messages for better clarity

Release Script Improvements

  • Updated included/excluded files to align with new structure
  • Improved path handling to preserve relative structure in releases
  • Enhanced console output and error handling

@Exonymos Exonymos self-assigned this Mar 26, 2026
@Exonymos Exonymos changed the title chore: fix flake8 errors and warnings according to .flake8 config feat: restructure and standardize project scripts for portability and usability Mar 26, 2026
…ty and clarity

- Moved launcher scripts (`run.py`, `run.sh`, `run.bat`) to the `scripts` directory.
- Enhanced script logic to resolve project root dynamically for better portability.
- Adjusted virtual environment activation checks and error messages for clarity.
- Updated FLASK_APP path to align with new project structure.
- Standardized instructions for dependency setup across platforms.
- Moved `setup.bat`, `setup.sh`, and `setup.py` to the `scripts` directory.
- Improved cross-platform compatibility and added dynamic path resolution for portability.
- Enhanced dependency management logic to include `uv` installation and synchronization.
- Updated instructions and error handling for clearer feedback during the setup process.
- Incorporated `rich` for better logging and progress feedback in `setup.py`.
- Moved `make_release.py` to `scripts/` directory and adjusted paths for better alignment with the project structure.
- Updated included and excluded files to match the new structure and reduce unnecessary files in releases.
- Enhanced path-handling logic to dynamically resolve project root and preserve relative paths in releases.
- Improved console feedback by refining progress display and error handling.
@Exonymos Exonymos force-pushed the feat/scripts-restructure branch from 7e726fb to 527c449 Compare March 26, 2026 21:07
Comment thread scripts/setup.py Dismissed
Comment thread scripts/setup.py
) as progress:
task = progress.add_task(description, total=None)
try:
result = func(*args, **kwargs)

Check warning

Code scanning / CodeQL

Use of the return value of a procedure Warning

The result of
setup_database.db_upgrade
is used even though it is always None.
@Exonymos Exonymos marked this pull request as ready for review March 26, 2026 21:10
@Exonymos Exonymos merged commit 6ad8d12 into main Mar 26, 2026
4 checks passed
@Exonymos Exonymos deleted the feat/scripts-restructure branch March 26, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants