From 235afe66b78985f30ac34e139609bf72ded0419a Mon Sep 17 00:00:00 2001 From: Elias Ahokas Date: Tue, 16 Jun 2026 22:37:46 +0300 Subject: [PATCH] Initial commit --- .aider.chat.history.md | 5 +++++ .aider.conf.yml | 15 +++++++++++++++ .aider.input.history | 3 +++ .gitignore | 31 +++++++++++++++++++++++++++++++ ARCH.md | 34 ++++++++++++++++++++++++++++++++++ CONVENTIONS.md | 23 +++++++++++++++++++++++ JOURNAL.md | 7 +++++++ README.md | 13 +++++++++++++ SPEC.md | 35 +++++++++++++++++++++++++++++++++++ TESTS.md | 4 ++++ 10 files changed, 170 insertions(+) create mode 100644 .aider.chat.history.md create mode 100644 .aider.conf.yml create mode 100644 .aider.input.history create mode 100644 .gitignore create mode 100644 ARCH.md create mode 100644 CONVENTIONS.md create mode 100644 JOURNAL.md create mode 100644 README.md create mode 100644 SPEC.md create mode 100644 TESTS.md 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. +