Bu repoda çalışan AI ajanları (Claude Code, Copilot, Cursor vb.) için rehber. Herhangi bir değişiklik yapmadan önce bu dosyayı oku.
dev-notes is a personal programming notes library written in Markdown. Notes are organized by language/topic and accessible via a zero-dependency Node.js CLI and a browser-based Web UI.
- No build step. No package manager. Node.js 18+ is the only requirement.
- Content is king. The value of this repo is in the
.mdfiles, not the tooling. - CLI entry point:
library/cli.js - Web UI entry point:
library/index.html
dev-notes/
├── Java-Notes/ # Lombok, JPA/Hibernate, Spring Boot
├── Javascript-Notes/ # Array methods, closures, async, regex
├── Python-Notes/ # Basics, advanced topics, DB operations
├── SQL-Notes/ # Basic queries, advanced SQL, psql terminal
├── MongoDB-Notes/ # Basic CRUD and querying
├── library/
│ ├── cli.js # CLI tool (Node.js, no dependencies)
│ └── index.html # Web UI (vanilla HTML/JS/CSS)
├── assets/ # Static assets (logo, images)
├── CONTRIBUTING.md
├── LICENSE.md
└── readme.md
| Rule | Example |
|---|---|
Lowercase, words separated by _ |
python_basic_1.md |
Suffix with _1, _2 for multi-part series |
sql_advanced_1.md, sql_advanced_2.md |
| Place in the correct category folder | Python-Notes/advanced_python_3.md |
Her yeni not bu yapıyı takip etmelidir:
# Konu Başlığı
> Bu notun tek cümlelik Türkçe özeti.
---
## Bölüm 1
İçerik buraya...
## Bölüm 2
İçerik buraya...
---
**Kaynaklar**
- Kaynak veya dokümantasyon linki (varsa)- Dil: Tüm notlar Türkçe yazılmalıdır. İngilizce kaynaklardan alınan notlara Türkçe açıklama ve özet eklenmelidir. Teknik terimler (variable, function, query vb.) orijinal haliyle kullanılabilir; ancak açıklamalar mutlaka Türkçe olmalıdır.
- Çeviri notu: Mevcut İngilizce notlar güncellenirken önce Türkçe karşılık yazılır, ardından teknik içerik korunur.
- Kod blokları: Her zaman dil tanımlayıcısı belirt (
```java,```python, vb.). - Dış görsel yok: Not dosyalarına harici resim ekleme. Gerekirse
assets/altından göreli yol kullan. - Odaklı tut: Dosya başına bir kavram veya birbiriyle ilişkili dar bir konu grubu.
- Frontmatter yok (YAML/TOML): CLI yalnızca düz Markdown ayrıştırır.
- Reads all
.mdfiles from the category folders. - Provides list, search, open (editor / TUI / browser), and help commands.
- Parses file paths to derive category and note name — folder and file naming directly affects CLI output.
- Do not introduce npm dependencies. Use only Node.js built-in modules.
- Do not change the command interface (flags, subcommands) without updating
readme.md. - Keep the TUI key bindings consistent with the table in
readme.md. - Test every modified command manually before committing:
node library/cli.js list
node library/cli.js search <keyword>
node library/cli.js open --tui- Single-file, vanilla HTML/CSS/JS. Do not split into separate files.
- Do not add external CDN dependencies.
- Category filtering and instant search must remain functional after any change.
- Test in a browser by starting the HTTP server:
node library/cli.js open --editor- Do not rename existing category folders (
Java-Notes,Python-Notes, etc.) — the CLI resolves categories from folder names. - Do not add a
package.jsonor any dependency management file. - Do not modify
LICENSE.md. - Do not add auto-generated files or compiled output to the repo.
- Do not edit
CONTRIBUTING.mdunless explicitly asked. - Do not create notes outside the established category folders without confirming with the user.
<type>(<scope>): <short description>
Types : add | update | fix | remove | refactor
Scopes : java | javascript | python | sql | mongodb | cli | web-ui | docs
Examples:
add(python): advanced decorators note
fix(cli): search flag not filtering by category
update(docs): add new CLI command to readme
- Note file follows the naming convention (
lowercase_with_underscores.md) - Note is placed in the correct category folder
- Code blocks have language identifiers
- CLI still runs without errors (
node library/cli.js list) - Commit message follows the convention above
-
readme.mdupdated if CLI commands or project structure changed