SoftDoc Pipeline is a public-facing snapshot of an automation pipeline for preparing software copyright application materials. It covers project planning, page/code generation, screenshot evidence, document assembly, and multiple entry points (CLI, API, Desktop GUI, Web UI).
Core goals:
- Turn project names and business context into structured project plans.
- Generate and assemble delivery artifacts (manuals, code materials, screenshots).
- Run consistency checks and risk gates during the pipeline.
This repository is published mainly for reference, code reading, and portfolio/archive purposes. It is not maintained as a turnkey public service, and it is not a legal guarantee of approval.
CLI pipeline:plan -> spec -> html -> screenshot -> code -> verify -> document -> pdf -> freezeDesktop app:PyQt6 + qfluentwidgetsWeb app:React + ViteBackend API:FastAPI + WebSocketCode material generation: business-aligned transformation from seed projectsPage material generation: HTML output + screenshot evidenceWord/PDF artifacts: manual and source-code document outputsQuality gates: spec/risk checks and runtime validationOptional extension: external submission integrations (not a core dependency)
flowchart LR
A[Project Name / Business Context]
B[Planning]
C[Executable Spec]
D[HTML / Page Generation]
E[Screenshot Evidence]
F[Code Material Generation]
G[Validation]
H[Document / PDF Assembly]
A --> B --> C --> D --> E --> F --> G --> H
.
├── main.py
├── run_api.py
├── gui/
├── web_ui/
├── api/
├── modules/
├── core/
├── config/
├── docs/
├── tests/
└── requirements.txt
- Python 3.10+
- FastAPI
- PyQt6
- React 19 + Vite + TypeScript
- Playwright
- python-docx / docxtpl / reportlab
This repository does not provide a hosted demo. The public snapshot is meant for source browsing and light local inspection.
Quick entry points:
- API preview:
uv run python run_api.py, then openhttp://localhost:8000/docs - CLI preview:
uv run python main.py --project "demo-project" --plan-only - Web UI preview:
cd web_ui && npm install && npm run dev
Sanitized screenshots from the public snapshot:
These images are sanitized for repository presentation only and do not represent a production environment.
If you only want to understand the system, start from:
docs/V2.1_ARCHITECTURE.mdapi/server.pymodules/project_planner.pymodules/document_generator.pyweb_ui/
If you only want a safe preview route, use this path first. It avoids real API keys, submission accounts, browser sessions, and private templates.
- Install Python dependencies:
uv venv .venv
.\.venv\Scripts\activate
uv pip install -r requirements.txt- Start the API and inspect Swagger only:
uv run python run_api.pyThen open http://localhost:8000/docs.
- Optionally verify the public Web UI build:
cd web_ui
npm install
npm run build- Optionally run the public-safe regression subset:
pytest tests/test_config.py tests/test_api_settings_safety.py tests/test_llm_budget.py -qStop here if your goal is inspection only. Full pipeline generation, document export, and submission-related flows usually require additional local-only configuration.
| Surface | Windows | macOS | Linux | Notes |
|---|---|---|---|---|
| API docs preview | Good | Good | Good | Safe inspection path; does not require running private submission flows. |
| Web UI build / preview | Good | Good | Good | npm run build is the safest public check. |
| CLI full pipeline | Partial | Partial | Partial | Usually needs local API config and environment reconstruction. |
| Desktop GUI | Best | Partial | Partial | Most maintained in Windows-oriented local workflows. |
| Document / PDF export | Best | Limited | Limited | Some export paths are more Windows-friendly. |
| Submission / signature flows | Local only | Local only | Local only | Depends on private accounts, browser state, and operator setup. |
This public repository is primarily intended for source browsing and architecture reference.
- Local configs, runtime data, generated outputs, and historical operator assets are intentionally excluded.
- Some internal or environment-specific flows may not be directly runnable after sanitization.
- If you only want to understand the project, start from
README,docs/,api/,modules/, andweb_ui/.
- Publish a smaller, safer demo set for readers who want to inspect representative outputs.
- Replace more historical internal naming with the public-facing
SoftDoc Pipelinename. - Add broader smoke coverage for CLI, API, and Web UI in public CI.
- Continue separating runtime-only submission logic from generally reusable pipeline code.
uv venv .venv
.\.venv\Scripts\activate
uv pip install -r requirements.txt
playwright install chromiumAlternative (pip):
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
playwright install chromiumUse example files only, and keep real credentials local:
config/api_config.json.example->config/api_config.jsongui_config.example.json->gui_config.json
Public example files:
config/api_config.json.example: versioned provider + budget example for local copy onlygui_config.example.json: versioned GUI preference example aligned with the current public snapshot
Local-only runtime files:
config/api_config.jsonconfig/general_settings.jsonconfig/submit_config.jsonconfig/browser_session.jsongui_config.json
config.py is a versioned loader module and is safe to keep public. Real credentials and local state should stay in ignored local JSON files and should not be part of the public snapshot.
API:
uv run python run_api.pyDesktop GUI:
uv run python gui/app.pyWeb UI:
cd web_ui
npm install
npm run devThe commands below usually require a valid local API configuration. They are not part of the no-secret preview route above.
Full pipeline:
uv run python main.py --project "demo-project" --full-pipelinePlan only:
uv run python main.py --project "demo-project" --plan-only- API base:
http://localhost:8000 - Swagger:
http://localhost:8000/docs
Typical API domains:
- Project management
- Charter/spec management
- Pipeline execution and task progress
- UI skill planning and policy auto-fix
- Pre-submission risk checks
- Settings and LLM usage metrics
Artifacts are generated under output/<project_name>/, typically including:
- Plan and charter files
- Executable spec
- HTML pages and screenshots
- Aligned code materials
- Manual
docx/pdf - Source-code
pdf - Risk and validation reports
- Freeze package
- Sanitization removed local configs, runtime data, private templates, and operator assets, so some flows will not run end-to-end without local reconstruction.
- The repository keeps source references for submission-related modules, but those flows depend on private credentials, browser state, or environment-specific setup.
- Some document and GUI paths remain more Windows-friendly than cross-platform.
- Public docs are improved, but some code comments, package metadata, and UI strings still use the historical project name.
Run backend tests if you are adapting the code locally:
pytest -qBuild Web UI if you modify the front-end:
cd web_ui
npm run buildRecommended docs:
docs/V2.1_ARCHITECTURE.mddocs/V2.2_PROCESS_UPGRADE.mddocs/V3.1_RUNTIME_SKILL_GATE_GUIDE.md
Do not publish:
- Real API keys, cookies, tokens, account passwords
- Local runtime configs (
config/api_config.json,config/submit_config.json,config/browser_session.json) - Runtime data (
data/task_logs/, project/account/runtime state files) - Generated outputs (
output/,temp_build/,logs/) - Any file containing real project/customer/private session data
This project improves document generation and validation efficiency. It does not replace legal/compliance review. Final submission responsibility remains with the submitting party.
This repository is released under the MIT License. See LICENSE.
Repository URL: https://github.com/CommitHu502Craft/SoftDoc-Pipeline.git






