Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
ee29bbd
chore: remove Python implementation in favor of Rust rewrite
Reim-developer Mar 22, 2026
7ef6425
docs: add GNU GPLv3 license file
Reim-developer Mar 22, 2026
32d89e6
chore: add .gitignore with common ignore patterns
Reim-developer Mar 22, 2026
3921244
style(config): add rustfmt configuration
Reim-developer Mar 22, 2026
49d6035
chore(deps): add Cargo.lock for dependency locking
Reim-developer Mar 22, 2026
02ef68f
build: add Cargo workspace configuration
Reim-developer Mar 22, 2026
2c52bfa
chore(deps): add package-lock.json for dependency locking
Reim-developer Mar 22, 2026
8ede01a
build: add package.json for pyright type checking
Reim-developer Mar 22, 2026
a09e222
build: add pyright strict type checking configuration
Reim-developer Mar 22, 2026
af04e38
ci: add GitHub Actions CI workflow
Reim-developer Mar 22, 2026
b11ea13
chore: add VS Code settings for formatOnSave and clippy
Reim-developer Mar 22, 2026
4fbfb28
docs(benchmarks): add benchmark documentation
Reim-developer Mar 22, 2026
c0b4ade
feat(benchmarks): add CLI benchmark runner for Rust vs Python comparison
Reim-developer Mar 22, 2026
d8553be
chore(config): add programming language configuration file
Reim-developer Mar 22, 2026
227c27e
feat(cli): add sephera_cli crate with clap CLI parser
Reim-developer Mar 22, 2026
9a2125b
feat(cli): add args module with clap argument parsing for loc command
Reim-developer Mar 22, 2026
2d4224f
feat(cli): add lib.rs entry point for sephera_cli crate
Reim-developer Mar 22, 2026
6327c2b
feat(cli): add main.rs entry point for CLI crate
Reim-developer Mar 22, 2026
57850bf
feat(cli): add output module for printing code loc reports
Reim-developer Mar 22, 2026
5ee07d4
feat(cli): add CLI runner module
Reim-developer Mar 22, 2026
8b0b13d
test(cli): add integration tests for loc command
Reim-developer Mar 22, 2026
64f2e6b
feat(core): add sephera_core crate
Reim-developer Mar 22, 2026
c382c64
feat(core): add code_loc, config, language_data module declarations
Reim-developer Mar 22, 2026
6315d76
feat(core): add lib.rs with core module and lint config
Reim-developer Mar 22, 2026
9bcc8a8
feat(core): add code_loc module implementation
Reim-developer Mar 22, 2026
c048d4a
feat(core): add CommentStyle and LanguageConfig structs
Reim-developer Mar 22, 2026
ce27abe
feat(core): add generated language data with comment styles and file …
Reim-developer Mar 22, 2026
0204859
feat(core): add language data module
Reim-developer Mar 22, 2026
452a26c
feat(core): add code LOC analyzer implementation
Reim-developer Mar 22, 2026
b70bcf9
feat(core): add ignore matcher for code LOC analysis
Reim-developer Mar 22, 2026
01eaa5f
feat(core): add file reader for LOC metrics calculation
Reim-developer Mar 22, 2026
17b7b6c
feat(core): add content scanner for LOC metrics calculation
Reim-developer Mar 22, 2026
0fbcd68
test(core): add unit tests for LOC metrics calculation
Reim-developer Mar 22, 2026
91cd47a
feat(core): add types for LOC metrics calculation
Reim-developer Mar 22, 2026
c5ea7f2
test(core): add unit tests for language resolution
Reim-developer Mar 22, 2026
71217d1
feat(sephera_tools): add new CLI tools package
Reim-developer Mar 22, 2026
8f89a22
feat(sephera_tools): add benchmark corpus generation functionality
Reim-developer Mar 22, 2026
b3cb9c9
feat(sephera_tools): add language_data module for language registry m…
Reim-developer Mar 22, 2026
3b02bf8
feat(sephera_tools): add lib.rs with workspace_root utility and modul…
Reim-developer Mar 22, 2026
14ea19f
feat(sephera_tools): add CLI entry point with generate commands
Reim-developer Mar 22, 2026
22662b7
feat(sephera_tools): add benchmark dataset specifications
Reim-developer Mar 22, 2026
28ebb7d
feat(sephera_tools): add benchmark fixture templates for multiple lan…
Reim-developer Mar 22, 2026
65264e2
test(sephera_tools): add test for benchmark corpus generation layout
Reim-developer Mar 22, 2026
2cd89cd
feat(sephera_tools): add benchmark corpus writer module
Reim-developer Mar 22, 2026
a6b9a0f
feat(sephera_tools): add language registry loader from YAML files
Reim-developer Mar 22, 2026
bda1a8e
feat(sephera_tools): add language data models for language registry
Reim-developer Mar 22, 2026
d179301
feat(sephera_tools): add language data path utilities
Reim-developer Mar 22, 2026
90b1dec
feat(sephera_tools): add language data rendering module
Reim-developer Mar 22, 2026
daa3b60
test(sephera_tools): add tests for language data module
Reim-developer Mar 22, 2026
583fd80
feat(sephera_tools): add language registry validation module
Reim-developer Mar 22, 2026
8fe3531
docs: add README with project documentation
Reim-developer Mar 22, 2026
b397224
feat(bench): add extra-large dataset option to benchmark runner
Reim-developer Mar 22, 2026
60053d7
docs(sephera_cli): add help text to loc command arguments
Reim-developer Mar 22, 2026
a665411
style(sephera_cli): format output strings for better readability
Reim-developer Mar 22, 2026
2084f8f
test(sephera_cli): remove output assertions from loc command test
Reim-developer Mar 22, 2026
b4438d7
feat(bench): add dataset selection to benchmark corpus generator
Reim-developer Mar 22, 2026
d6dcdbf
feat(bench): add dataset selection to benchmark corpus generator
Reim-developer Mar 22, 2026
4caae09
feat(bench): add flexible dataset size specification and extra-large …
Reim-developer Mar 22, 2026
da481b3
test(bench): add extra-large dataset minimum size verification test
Reim-developer Mar 22, 2026
87f083b
feat(bench): add target total bytes dataset sizing
Reim-developer Mar 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitattributes

This file was deleted.

20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md

This file was deleted.

32 changes: 0 additions & 32 deletions .github/ISSUE_TEMPLATE/config.yml

This file was deleted.

95 changes: 0 additions & 95 deletions .github/workflows/build.yml

This file was deleted.

113 changes: 113 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: CI

on:
push:
branches:
- master
- main
- rust-version
pull_request:

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
fmt:
name: Rust Fmt
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt

- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2

- name: Check formatting
run: cargo fmt --all --check

clippy:
name: Rust Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy

- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2

- name: Run clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings

test:
name: Rust Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2

- name: Run tests
run: cargo test --workspace

pyright:
name: Pyright
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm

- name: Install Node dependencies
run: npm ci

- name: Run Pyright
run: npm run pyright

benchmark:
name: Benchmark
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2

- name: Run benchmark suite
run: python benchmarks/run.py --datasets small medium large

- name: Upload benchmark reports
uses: actions/upload-artifact@v4
with:
name: benchmark-reports
path: benchmarks/reports/
if-no-files-found: error
15 changes: 6 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
__pycache__
build
dist
test.json
SepheraExport.json
site
SepheraExport.md
.vscode
SepheraCfg.yml
/target
/.venv
/benchmarks/generated_corpus/
/benchmarks/reports/
/benchmarks/__pycache__/
/node_modules/
1 change: 1 addition & 0 deletions .rustfmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
max_width = 80
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"editor.formatOnSave": true,
"rust-analyzer.check.command": "clippy"
}
Loading
Loading