commit 235afe66b78985f30ac34e139609bf72ded0419a Author: Elias Ahokas Date: Tue Jun 16 22:37:46 2026 +0300 Initial commit diff --git a/.aider.chat.history.md b/.aider.chat.history.md new file mode 100644 index 0000000..5788622 --- /dev/null +++ b/.aider.chat.history.md @@ -0,0 +1,5 @@ + +# aider chat started at 2026-06-16 22:37:03 + +> No git repo found, create one to track aider's changes (recommended)? (Y)es/(N)o [Yes]: n +> /home/sirian/.local/bin/aider diff --git a/.aider.conf.yml b/.aider.conf.yml new file mode 100644 index 0000000..ae7087b --- /dev/null +++ b/.aider.conf.yml @@ -0,0 +1,15 @@ +model: openrouter/deepseek/deepseek-v4 +weak-model: openrouter/qwen/qwen3-coder +editor-model: openrouter/qwen/qwen3-coder +edit-format: diff +auto-commits: true +dirty-commits: false +auto-test: true +test-cmd: "pytest tests/ -x" +read: + - SPEC.md + - ARCH.md + - CONVENTIONS.md + - TESTS.md +gitignore: true +show-model-warnings: true \ No newline at end of file diff --git a/.aider.input.history b/.aider.input.history new file mode 100644 index 0000000..0290be0 --- /dev/null +++ b/.aider.input.history @@ -0,0 +1,3 @@ + +# 2026-06-16 22:37:09.639627 ++n diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..687d626 --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +.env +.env.local +*.key +*.pem + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +venv/ +.venv/ +env/ +ENV/ +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ +.coverage +htmlcov/ +dist/ +build/ +*.egg-info/ + +# IDE +.vscode/ + +*.log +logs/ + +build/ \ No newline at end of file diff --git a/ARCH.md b/ARCH.md new file mode 100644 index 0000000..f5669f3 --- /dev/null +++ b/ARCH.md @@ -0,0 +1,34 @@ +# ARCH - [project name] + +Architectural decisions and their reasoning. What components are used, how will they communicate, what libraries are to be used... + +## Overview + +Short description of structure. Diagrams and pictures are helpful. + +## Tech stack + +Brief description of technologies to be used. + +For example: +- Pyton, 3.11+, Async support required +- Pytest, 8.x, Testing + +## Most important architectural decisions. + +Examples: + +### Polling vs events +- Decision: Polling every 10s +- Options: Using interrupts +- Why?: More simple to implement. + +## File structure + +src/ + main.py + config.py + +tests/ + tests.py + diff --git a/CONVENTIONS.md b/CONVENTIONS.md new file mode 100644 index 0000000..64028e4 --- /dev/null +++ b/CONVENTIONS.md @@ -0,0 +1,23 @@ +# CONVENTIONS + +Rules ai tools must follow + +## General + +- Write code you understand yourself. If you cannot explain a line it doesn't belong here +- No "clever" one-liners if a longer form is clearer +- Function name says what it does, docstring why +- No comments that restate the code. Comments say "why" not "what" + +## Git + +- One logical change per commit +- Commit message in active voice: "add feature x" NOT "added feature X" + + +## What NOT to do + +- No new dependencies without discussion (propose to ARCH.md, don't add) +- Don't mess with code style. Follow what is already there +- Don't refactor adjacent code "while you're at it" +- No assumed environment variables without decumenting in ARCH.md diff --git a/JOURNAL.md b/JOURNAL.md new file mode 100644 index 0000000..7701d50 --- /dev/null +++ b/JOURNAL.md @@ -0,0 +1,7 @@ +# JOURNAL + +Write a couple of sentences after every session. NOT AI GENERATED. Forces you to articulate what was done and helps to restore context after returning to the project a week later. + +Format: date + what was done + why + what's next + +## YYYY-MM-DD \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..69ab0da --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# Project name + +A brief description of what this project does. + +## Setup + +How does one run this project + +## Project structure + +Descriptions of files and structures. + +## Workflow \ No newline at end of file diff --git a/SPEC.md b/SPEC.md new file mode 100644 index 0000000..1e6d970 --- /dev/null +++ b/SPEC.md @@ -0,0 +1,35 @@ +# SPEC - [project name] + +This file defines WHAT the project does. + +## Goal + +One or two sentences about what this project will solve and for who. + +## Acceptance criteria + +Project is ready when following concrete criteria are met and tested: + +- [ ] [criteria 1] +- [ ] [criteria 2] + +## Constraints + +Technical boundaries and limitations: + +- Constraint 1 +- Constraint 2 + +## Out of scope + +What is not part of this project: + +- Out of scope 1 +- Out of scope 2 + +## Invariants + +Things that must never be broken: + +- Invariant 1 +- Invariant 2 \ No newline at end of file diff --git a/TESTS.md b/TESTS.md new file mode 100644 index 0000000..2d6a787 --- /dev/null +++ b/TESTS.md @@ -0,0 +1,4 @@ +# TESTS + +Test cases written in my own words. AI tools should read and implement tests written here in natural language. +