feat: initial otko import
Some checks failed
CI / lint (push) Has been cancelled
CI / test (macos-latest, 3.10) (push) Has been cancelled
CI / test (macos-latest, 3.11) (push) Has been cancelled
CI / test (macos-latest, 3.12) (push) Has been cancelled
CI / test (ubuntu-latest, 3.10) (push) Has been cancelled
CI / test (ubuntu-latest, 3.11) (push) Has been cancelled
CI / test (ubuntu-latest, 3.12) (push) Has been cancelled
CI / test (windows-latest, 3.10) (push) Has been cancelled
CI / test (windows-latest, 3.11) (push) Has been cancelled
CI / test (windows-latest, 3.12) (push) Has been cancelled
Some checks failed
CI / lint (push) Has been cancelled
CI / test (macos-latest, 3.10) (push) Has been cancelled
CI / test (macos-latest, 3.11) (push) Has been cancelled
CI / test (macos-latest, 3.12) (push) Has been cancelled
CI / test (ubuntu-latest, 3.10) (push) Has been cancelled
CI / test (ubuntu-latest, 3.11) (push) Has been cancelled
CI / test (ubuntu-latest, 3.12) (push) Has been cancelled
CI / test (windows-latest, 3.10) (push) Has been cancelled
CI / test (windows-latest, 3.11) (push) Has been cancelled
CI / test (windows-latest, 3.12) (push) Has been cancelled
This commit is contained in:
commit
612936a00b
540 changed files with 174136 additions and 0 deletions
37
CONTRIBUTING.md
Normal file
37
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Contributing
|
||||
|
||||
Thanks for your interest. This project is in an early phase; the bar for
|
||||
incoming changes is on architecture cleanliness rather than feature
|
||||
breadth.
|
||||
|
||||
## Dev setup
|
||||
|
||||
```bash
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -e ".[dev]"
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
## Before opening a PR
|
||||
|
||||
```bash
|
||||
ruff check src tests
|
||||
ruff format src tests
|
||||
mypy src/otko/core src/otko/services
|
||||
pytest -m "not slow"
|
||||
```
|
||||
|
||||
## Architectural rules (enforced in review)
|
||||
|
||||
1. `core/` may not import Qt or `openseespy`. Period.
|
||||
2. `services/` may not import Qt.
|
||||
3. `views/` may not import `openseespy` directly — go through a service.
|
||||
4. Public functions and methods need type hints and a docstring.
|
||||
5. New domain entities go through Pydantic validation.
|
||||
6. Long-running operations (>50 ms) run off the GUI thread.
|
||||
|
||||
## Commit style
|
||||
|
||||
Conventional Commits — `feat:`, `fix:`, `refactor:`, `docs:`, `test:`,
|
||||
`chore:`, `ci:`.
|
||||
Loading…
Reference in a new issue