Skip to content

Commit 300b8b6

Browse files
MDFlux v0.1.0 — convert any document to clean, AI-ready Markdown (Windows · portable · MIT)
0 parents  commit 300b8b6

146 files changed

Lines changed: 22952 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Default owner for everything in the repo.
2+
* @ibrahimqureshae
3+
4+
# Core conversion sidecar (Python).
5+
/app/src-tauri/resources/sidecar/ @ibrahimqureshae

.github/FUNDING.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
github: [ibrahimqureshae]
2+
buy_me_a_coffee: mibrahim99
3+
custom: ["https://www.paypal.me/mibrahimqr"]
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug report
3+
about: Something isn't working
4+
title: "[Bug] "
5+
labels: bug
6+
---
7+
8+
**What happened**
9+
A clear description of the bug.
10+
11+
**Steps to reproduce**
12+
1.
13+
2.
14+
3.
15+
16+
**Expected behavior**
17+
What you expected instead.
18+
19+
**File / format involved**
20+
e.g. a scanned PDF, a DOCX, audio — and the cleanup mode (Off / Rule-based / AI).
21+
22+
**Environment**
23+
- MDFlux version:
24+
- Windows version:
25+
26+
**Logs / screenshots**
27+
Anything from the Diagnostics panel that helps. Do not paste API keys.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security report
4+
url: mailto:muhammadibrahim.ger@gmail.com
5+
about: Please report security vulnerabilities privately by email, not as a public issue. See SECURITY.md.
6+
- name: Question or idea
7+
url: https://github.com/ibrahimqureshae/mdflux/issues/new/choose
8+
about: For usage questions and feature ideas, open a bug report or feature request.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea
4+
title: "[Feature] "
5+
labels: enhancement
6+
---
7+
8+
**The problem**
9+
What are you trying to do that's hard or impossible today?
10+
11+
**Proposed solution**
12+
What you'd like to happen.
13+
14+
**Alternatives considered**
15+
Any workarounds or other approaches.
16+
17+
**Additional context**
18+
Anything else (formats, scale, workflow).

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## What & why
2+
3+
<!-- What does this change, and why? Link any related issue (e.g. Closes #123). -->
4+
5+
## How was it tested?
6+
7+
<!-- Commands run / manual steps. e.g. `npm run check`, `cargo check`, converted X. -->
8+
9+
## Checklist
10+
11+
- [ ] Focused change; matches the surrounding code style
12+
- [ ] `cd app && npm run check` passes (0 errors)
13+
- [ ] `cd app/src-tauri && cargo check` passes
14+
- [ ] No secrets, keys, or personal paths added

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
updates:
3+
# Frontend (SvelteKit / Tauri JS deps)
4+
- package-ecosystem: npm
5+
directory: /app
6+
schedule:
7+
interval: weekly
8+
open-pull-requests-limit: 5
9+
10+
# Rust shell (Tauri)
11+
- package-ecosystem: cargo
12+
directory: /app/src-tauri
13+
schedule:
14+
interval: weekly
15+
open-pull-requests-limit: 5
16+
17+
# GitHub Actions used in CI / release workflows
18+
- package-ecosystem: github-actions
19+
directory: /
20+
schedule:
21+
interval: weekly

.github/workflows/ci.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
frontend:
15+
name: Frontend check (svelte-check)
16+
runs-on: ubuntu-latest
17+
defaults:
18+
run:
19+
working-directory: app
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: actions/setup-node@v4
23+
with:
24+
node-version: 20
25+
cache: npm
26+
cache-dependency-path: app/package-lock.json
27+
- run: npm ci
28+
- run: npm run check
29+
30+
rust:
31+
name: Rust check (cargo)
32+
runs-on: windows-latest
33+
defaults:
34+
run:
35+
working-directory: app/src-tauri
36+
steps:
37+
- uses: actions/checkout@v4
38+
- uses: dtolnay/rust-toolchain@stable
39+
- uses: Swatinem/rust-cache@v2
40+
with:
41+
workspaces: app/src-tauri
42+
- run: cargo check --locked

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# ── Dependencies & build output ──────────────────────────────────────────
2+
node_modules/
3+
target/
4+
.svelte-kit/
5+
build/
6+
dist/
7+
*.log
8+
9+
# ── Python bytecode ───────────────────────────────────────────────────────
10+
__pycache__/
11+
*.pyc
12+
13+
# ── Editor / OS ───────────────────────────────────────────────────────────
14+
.vscode/
15+
.idea/
16+
.DS_Store
17+
Thumbs.db
18+
19+
# ── Internal working dirs (not part of the public repo) ───────────────────
20+
.claude/
21+
Marketing/
22+
benchmarks/
23+
_tests/
24+
fixtures/
25+
26+
# ── Tauri generated ───────────────────────────────────────────────────────
27+
app/src-tauri/gen/
28+
29+
# ── App-internal design note ──────────────────────────────────────────────
30+
app/ipc-contract-v1.md
31+
32+
# ── Internal docs: ignore every root-level *.md EXCEPT the standard repo
33+
# files. This is a whitelist, so future internal notes never leak in. ────
34+
/*.md
35+
!/README.md
36+
!/SECURITY.md
37+
!/THIRD-PARTY-LICENSES.md
38+
!/CONTRIBUTING.md
39+
!/CODE_OF_CONDUCT.md
40+
!/CHANGELOG.md
41+
!/ROADMAP.md

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented here. The format is based on
4+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
5+
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [0.1.0] — 2026-06-19
8+
9+
First public release. Windows, portable (extract-and-run; no installer).
10+
11+
### Added
12+
13+
- Convert PDF, DOCX, PPTX, XLSX, EPUB, HTML, CSV, JSON, and XML to clean Markdown, built on
14+
Microsoft's MarkItDown.
15+
- **Cleanup modes:** Off, deterministic rule-based, and an optional AI pass (local Ollama or
16+
bring-your-own-key OpenAI-compatible / Anthropic).
17+
- **OCR** for scanned PDFs and images (RapidOCR) and **audio transcription** (faster-whisper),
18+
installed on demand as optional engines.
19+
- **Batch conversion** with adaptive concurrency, cancel, timeouts, and per-file progress.
20+
- **Output control:** folder rules, naming templates, before/after preview.
21+
- Self-provisioning Python 3.12 runtime on first launch; fully offline thereafter.
22+
- First-run setup shown as a multi-step stepper with live download size/speed.
23+
24+
### Security
25+
26+
- Dependencies are integrity-verified during the one-time setup, so first run is trustworthy. See
27+
[`SECURITY.md`](SECURITY.md).
28+
29+
[0.1.0]: https://github.com/ibrahimqureshae/mdflux/releases/tag/v0.1.0

0 commit comments

Comments
 (0)