home.social

Search

1000 results for “cli_ar”

  1. I love when I am toying around on my #mangopi MQ-pro that when I add “-r” to the #cmatrix cunning command the cpu instantly jumps to 100% utilization 🤣

    #sbc #cli

  2. ToolChain: Настройка Сборки Прошивок для Микроконтроллеров Artety из MakeFile

    Настало время освоить очередное семейство микроконтроллеров: от компании Artery Technology. Компания Artery Technology уже возвела полноценную экосистему для своих процессоров. Есть фирменные отладочные платы, программаторы, документация, исходные коды MCAL и даже кодо генераторы. В этом тексте я представил пошаговую инструкцию того как запрограммировать микроконтроллер Artery.

    habr.com/ru/articles/792590/

    #artery #AT32 #make #makefile #arm_cortexm4 #GDB #C #openocd #eclipse #CLI

  3. For @linux 30th bday, here's my #linux story.

    30 years ago, I did not know you could install a different OS on a computer.

    In 2002, I started to try this Linux thing. Tested #Mandrake and #Fedora on my desktop. Had a friend from #RéseauCitoyen over at my house help me debug the graphic card issues, without success.

    Fell in love with a stable and beautiful system in 2004 with #Ubuntu. Never looked back.

    I miss #CrunchBang.
    Crafted my own version of it with #Arch.

    #cli :tealheart:

  4. I've been working on translation-cli 🈶 🈳 🈹 tool as my sideproject for some time. I'm currently using a #bash script that works by making requests to pons.com api. However I've only now found out about #libretranslate that's a web interface to #argostranslate. I'm very hyped about both of the projects and I'd like to include #libretranslate into the next iteration of my project.

    community.libretranslate.com/

    #cli 💪

  5. Seems command-line interface tools with good / help info are very powerful because automatic coding tools can easily interface with them & use them correctly, even without additional context. Interestingly, many machine-based coding assistants are extremely good at generating command-line oriented programs in the first place. Until now, I struggled to build solid GUIs, for example with . Keeping software using the CLI - as well - seems to provide big automation advantages.

  6. Happy 20th birthday to #aria2 – the CLI download tool that can do #BitTorrent

  7. #Argc - Bash 기반의 강력한 CLI 빌드 프레임워크 | GeekNews
    Argc - Bash 기반의 강력한 CLI 빌드 프레임워크 | GeekNews
    share.google/KY8m7880ggoSx4QFb

  8. @mhd I was quite fond of Amiga #CLI syntax, which many did not consider a proper #Amiga subsystem because of #BCPL, but it allowed commands to pre-declare the arguments in a uniform, documented way similar to Python’s #argparse.

    It’s actually handled by BCPL’s rdargs() function, documented in cl.cam.ac.uk/~mr10/bcplman.pdf (p68).

    1/2

  9. #cli wobblings.....
    Seems there are more #linux fundamentals I still dont understand. Like #mountpoints.
    While something like a regular usb-key is (automounted) under /media/$USER/$devicename, the same does not apply to things like phones or tablets. Where are they?
    Neither 'duf -all' nor 'mount' has shown any indicator about the device. But I can access it with a GUI file manager, which btw also doesn't reveal me any useful hint about its path 🤔
    #linuxmint

  10. Had an enjoyable afternoon building a custom #cli #parser to replace #argparse in our internal tooling. I like its ease of use. But it is a custom parser and works only for my specific use case, but for use case it does more than argparse can and is simpler to use. #comandline #python

  11. @erion @pitermach these are CLI tools, but interesting. #bitlbee can also be used to make protocols accessible, through #pidgin app

  12. Simple CLI tool to capture websites as web archives:

    github.com/harvard-lil/scoop

    In comparison to Webrecorder, its much simpler, and faster and in comparison to Heritrix (used by the Internet Archive) it is, well, not Java :catte:

    #wac #archive #webarchiving

  13. asciinema CLI 3.0 is now available in Arch Linux, Gentoo, Homebrew, Manjaro (Testing, Unstable), OpenBSD Ports, Termux, and a few others.

    Big thanks to all the package maintainers!

    If it's not available via your package manager yet and you have toolchain available, then you can install it with:

    cargo install --locked --git github.com/asciinema/asciinema

  14. When two Hetzner servers died at the same time

    On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same pacman -Syyu the day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back. nmap -Pn -p 22 showed filtered from anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.

    Several hours went into hypotheses that turned out to be wrong:

    • The encryptssh initcpio hook referencing a /usr/lib/initcpio/udev/11-dm-initramfs.rules file that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway.
    • PermitRootLogin no in sshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd shows closed, not filtered.
    • Predictable interface-naming drift after the systemd 260 upgrade. Patched the .network config to match by MAC. Useful hardening; not the cause.
    • Stale GRUB stage1 + core.img in the MBR. Arch never re-runs grub-install after a grub package upgrade. Refreshed it. Still filtered.
    • Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.

    The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before systemd-journald could flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.

    What it almost certainly was

    Hetzner Dedicated servers configure the initramfs network with ip=dhcp on the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:

    • Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
    • New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays filtered.

    Hetzner’s own documentation has been quietly moving away from ip=dhcp toward static IPv4 in the kernel command line. The fix is exactly that:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"
    

    One line in /etc/default/grub, grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.

    Why it matters for anyone running this stack

    If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the ip=dhcp shipped by installimage is a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routine pacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.

    Tooling

    While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (hal) — including hal fix static-ip, which derives the static cmdline directly from your existing systemd-networkd .network file:

    github.com/kevinveenbirkenbach/hetzner-arch-luks

    Single command, idempotent, reversible (the original /etc/default/grub is backed up to .hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you.

    #ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd
  15. When two Hetzner servers died at the same time

    On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same pacman -Syyu the day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back. nmap -Pn -p 22 showed filtered from anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.

    Several hours went into hypotheses that turned out to be wrong:

    • The encryptssh initcpio hook referencing a /usr/lib/initcpio/udev/11-dm-initramfs.rules file that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway.
    • PermitRootLogin no in sshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd shows closed, not filtered.
    • Predictable interface-naming drift after the systemd 260 upgrade. Patched the .network config to match by MAC. Useful hardening; not the cause.
    • Stale GRUB stage1 + core.img in the MBR. Arch never re-runs grub-install after a grub package upgrade. Refreshed it. Still filtered.
    • Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.

    The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before systemd-journald could flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.

    What it almost certainly was

    Hetzner Dedicated servers configure the initramfs network with ip=dhcp on the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:

    • Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
    • New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays filtered.

    Hetzner’s own documentation has been quietly moving away from ip=dhcp toward static IPv4 in the kernel command line. The fix is exactly that:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"
    

    One line in /etc/default/grub, grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.

    Why it matters for anyone running this stack

    If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the ip=dhcp shipped by installimage is a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routine pacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.

    Tooling

    While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (hal) — including hal fix static-ip, which derives the static cmdline directly from your existing systemd-networkd .network file:

    github.com/kevinveenbirkenbach/hetzner-arch-luks

    Single command, idempotent, reversible (the original /etc/default/grub is backed up to .hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you.

    #ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd
  16. When two Hetzner servers died at the same time

    On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same pacman -Syyu the day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back. nmap -Pn -p 22 showed filtered from anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.

    Several hours went into hypotheses that turned out to be wrong:

    • The encryptssh initcpio hook referencing a /usr/lib/initcpio/udev/11-dm-initramfs.rules file that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway.
    • PermitRootLogin no in sshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd shows closed, not filtered.
    • Predictable interface-naming drift after the systemd 260 upgrade. Patched the .network config to match by MAC. Useful hardening; not the cause.
    • Stale GRUB stage1 + core.img in the MBR. Arch never re-runs grub-install after a grub package upgrade. Refreshed it. Still filtered.
    • Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.

    The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before systemd-journald could flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.

    What it almost certainly was

    Hetzner Dedicated servers configure the initramfs network with ip=dhcp on the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:

    • Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
    • New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays filtered.

    Hetzner’s own documentation has been quietly moving away from ip=dhcp toward static IPv4 in the kernel command line. The fix is exactly that:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"
    

    One line in /etc/default/grub, grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.

    Why it matters for anyone running this stack

    If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the ip=dhcp shipped by installimage is a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routine pacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.

    Tooling

    While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (hal) — including hal fix static-ip, which derives the static cmdline directly from your existing systemd-networkd .network file:

    github.com/kevinveenbirkenbach/hetzner-arch-luks

    Single command, idempotent, reversible (the original /etc/default/grub is backed up to .hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you.

    #ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd
  17. When two Hetzner servers died at the same time

    On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same pacman -Syyu the day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back. nmap -Pn -p 22 showed filtered from anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.

    Several hours went into hypotheses that turned out to be wrong:

    • The encryptssh initcpio hook referencing a /usr/lib/initcpio/udev/11-dm-initramfs.rules file that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway.
    • PermitRootLogin no in sshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd shows closed, not filtered.
    • Predictable interface-naming drift after the systemd 260 upgrade. Patched the .network config to match by MAC. Useful hardening; not the cause.
    • Stale GRUB stage1 + core.img in the MBR. Arch never re-runs grub-install after a grub package upgrade. Refreshed it. Still filtered.
    • Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.

    The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before systemd-journald could flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.

    What it almost certainly was

    Hetzner Dedicated servers configure the initramfs network with ip=dhcp on the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:

    • Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
    • New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays filtered.

    Hetzner’s own documentation has been quietly moving away from ip=dhcp toward static IPv4 in the kernel command line. The fix is exactly that:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"
    

    One line in /etc/default/grub, grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.

    Why it matters for anyone running this stack

    If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the ip=dhcp shipped by installimage is a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routine pacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.

    Tooling

    While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (hal) — including hal fix static-ip, which derives the static cmdline directly from your existing systemd-networkd .network file:

    github.com/kevinveenbirkenbach/hetzner-arch-luks

    Single command, idempotent, reversible (the original /etc/default/grub is backed up to .hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you.

    #ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd
  18. When two Hetzner servers died at the same time

    On May 12, 2026, two of my Arch Linux + LUKS servers at Hetzner became unreachable at the same moment. Both had been running for 4+ months without issue. Both had received the same pacman -Syyu the day before, but had stayed on the old kernel until the morning the websites stopped responding. I rebooted — SSH never came back. nmap -Pn -p 22 showed filtered from anywhere. No ping. No banner. The Hetzner Robot panel insisted the hardware was fine.

    Several hours went into hypotheses that turned out to be wrong:

    • The encryptssh initcpio hook referencing a /usr/lib/initcpio/udev/11-dm-initramfs.rules file that no longer exists. Real bug, no boot impact — the initramfs rebuilds anyway.
    • PermitRootLogin no in sshd_config. Real misconfiguration, fixed it, didn’t help. A refusing sshd shows closed, not filtered.
    • Predictable interface-naming drift after the systemd 260 upgrade. Patched the .network config to match by MAC. Useful hardening; not the cause.
    • Stale GRUB stage1 + core.img in the MBR. Arch never re-runs grub-install after a grub package upgrade. Refreshed it. Still filtered.
    • Kernel 7.0.5 regression. Downgraded to 6.18.3, the kernel that had run for 4 months. Still filtered. So the kernel itself wasn’t it either.

    The clue was in the persistent journal: a single recorded boot from December 31 to May 12 10:13 UTC, and absolutely nothing after. Every reboot since the upgrade was failing before systemd-journald could flush to disk — so the failure had to be in the initramfs, before the root filesystem was even mounted.

    What it almost certainly was

    Hetzner Dedicated servers configure the initramfs network with ip=dhcp on the kernel command line. That depends on Hetzner’s DHCP server replying to whatever request format the current kernel sends. Somewhere between kernel 6.18 / iproute2 6.18 and kernel 7.0 / iproute2 7.0, the request format changed enough that Hetzner’s DHCP stopped responding. Effects:

    • Old kernel at runtime kept the interface already configured (Phase A — 32 hours of healthy operation after the package upgrade).
    • New kernel cold-boots, hits DHCP, never gets an IP, dropbear cannot listen, port 22 stays filtered.

    Hetzner’s own documentation has been quietly moving away from ip=dhcp toward static IPv4 in the kernel command line. The fix is exactly that:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:cryptroot ip=A.B.C.D::GATEWAY:255.255.255.255:hostname:eth0:none"
    

    One line in /etc/default/grub, grub-mkconfig, reboot. No more dependency on Hetzner’s DHCP responding to whatever your current kernel sends.

    Why it matters for anyone running this stack

    If you run Arch on Hetzner Dedicated with full-disk encryption and remote unlock via dropbear, the ip=dhcp shipped by installimage is a latent bug. It can keep working for years and then break overnight, on every machine you have, after a routine pacman -Syyu. The static-IP version is what Hetzner now recommends and removes the entire dependency.

    Tooling

    While debugging, I turned the whole rescue / chroot / diagnose / fix workflow into a Python CLI (hal) — including hal fix static-ip, which derives the static cmdline directly from your existing systemd-networkd .network file:

    github.com/kevinveenbirkenbach/hetzner-arch-luks

    Single command, idempotent, reversible (the original /etc/default/grub is backed up to .hal-backup). If you’re on this stack, switch to static IP before the next kernel upgrade catches you.

    #ArchLinux #bootFailure #debugging #DevOps #DHCP #Dropbear #fullDiskEncryption #GRUB #Hetzner #initramfs #kernelUpgrade #Linux #LUKS #mkinitcpio #pacman #postmortem #PythonCLI #serverOutage #sysadmin #systemdNetworkd
  19. Updated fittrackee.escuco.de/ to #fittrackee v.0.8.7

    - new sport #swimrun
    - bug fix CLI - fix limit for user data export cleanup
    - some translation updates

    Many thanks to @FitTrackee and all contributors.

    The way I see it, a lot of work is currently being put into FitTrackee. The first v0.9 beta pre-releases are here and it seems to be heading towards federation. I think it's going to be a blast.

    #opensource #selfhosting #running #cycling #biking #laufen #radfahren #activitytracker

  20. Updated fittrackee.escuco.de/ to #fittrackee v.0.8.7

    - new sport #swimrun
    - bug fix CLI - fix limit for user data export cleanup
    - some translation updates

    Many thanks to @FitTrackee and all contributors.

    The way I see it, a lot of work is currently being put into FitTrackee. The first v0.9 beta pre-releases are here and it seems to be heading towards federation. I think it's going to be a blast.

    #opensource #selfhosting #running #cycling #biking #laufen #radfahren #activitytracker

  21. Updated fittrackee.escuco.de/ to #fittrackee v.0.8.7

    - new sport #swimrun
    - bug fix CLI - fix limit for user data export cleanup
    - some translation updates

    Many thanks to @FitTrackee and all contributors.

    The way I see it, a lot of work is currently being put into FitTrackee. The first v0.9 beta pre-releases are here and it seems to be heading towards federation. I think it's going to be a blast.

    #opensource #selfhosting #running #cycling #biking #laufen #radfahren #activitytracker

  22. Updated fittrackee.escuco.de/ to #fittrackee v.0.8.7

    - new sport #swimrun
    - bug fix CLI - fix limit for user data export cleanup
    - some translation updates

    Many thanks to @FitTrackee and all contributors.

    The way I see it, a lot of work is currently being put into FitTrackee. The first v0.9 beta pre-releases are here and it seems to be heading towards federation. I think it's going to be a blast.

    #opensource #selfhosting #running #cycling #biking #laufen #radfahren #activitytracker

  23. Claude ест токены впустую, но я его прокачал

    В материале расскажу вам о инструменте для AI-ассистента работающего CLI на PHP + SQLite. Который парсит проект, строит графы зависимостей и даёт Claude точечный доступ к коду: конкретный метод, поля класса, цепочка наследования, все SQL-запросы к таблице — одной командой, без чтения файлов целиком. Сейчас поддерживает Go , PHP и JavaScript, позже добавлю и C.ссылочка на гитхаб внизу) Claude знает структуру проекта — но недостаточно хорошо Claude Code читает CLAUDE.md , понимает архитектуру, знает какие файлы за что отвечают. Но когда доходит до дела — всё равно читает файлы целиком. Нужен один метод — читает весь класс. Нужно найти где вызывается функция — читает директорию за директорией. Контекст тает, а реальной работы ещё не было. К тому моменту как он добрался до ответа, контекст уже наполовину занят файлами которые я и сам мог открыть.Или другой сценарий: нужно понять какие поля у сущности. Claude читает файл целиком, хотя там нужны только первые 20 строк с полями и конструктором.Контекстное окно — главный ресурс при работе с AI на большом проекте. Тратить его на чтение файлов целиком расточительно.Меня это раздражало. Написал инструмент. Что я сделал Написал два PHP-скрипта: buildGraph.php — сканирует проект и строит граф зависимостей в SQLite. Парсит PHP и JS: классы, методы, вызовы, импорты, наследование. Запуск инкрементальный — повторный проход обновляет только изменённые файлы за 100–200 мс. claudeSearch.php — CLI-интерфейс. Даёт AI точечный доступ к коду одной командой.

    habr.com/ru/articles/1035206/

    #ai #claude_code #deepseek

  24. Claude ест токены впустую, но я его прокачал

    В материале расскажу вам о инструменте для AI-ассистента работающего CLI на PHP + SQLite. Который парсит проект, строит графы зависимостей и даёт Claude точечный доступ к коду: конкретный метод, поля класса, цепочка наследования, все SQL-запросы к таблице — одной командой, без чтения файлов целиком. Сейчас поддерживает Go , PHP и JavaScript, позже добавлю и C.ссылочка на гитхаб внизу) Claude знает структуру проекта — но недостаточно хорошо Claude Code читает CLAUDE.md , понимает архитектуру, знает какие файлы за что отвечают. Но когда доходит до дела — всё равно читает файлы целиком. Нужен один метод — читает весь класс. Нужно найти где вызывается функция — читает директорию за директорией. Контекст тает, а реальной работы ещё не было. К тому моменту как он добрался до ответа, контекст уже наполовину занят файлами которые я и сам мог открыть.Или другой сценарий: нужно понять какие поля у сущности. Claude читает файл целиком, хотя там нужны только первые 20 строк с полями и конструктором.Контекстное окно — главный ресурс при работе с AI на большом проекте. Тратить его на чтение файлов целиком расточительно.Меня это раздражало. Написал инструмент. Что я сделал Написал два PHP-скрипта: buildGraph.php — сканирует проект и строит граф зависимостей в SQLite. Парсит PHP и JS: классы, методы, вызовы, импорты, наследование. Запуск инкрементальный — повторный проход обновляет только изменённые файлы за 100–200 мс. claudeSearch.php — CLI-интерфейс. Даёт AI точечный доступ к коду одной командой.

    habr.com/ru/articles/1035206/

    #ai #claude_code #deepseek

  25. Claude ест токены впустую, но я его прокачал

    В материале расскажу вам о инструменте для AI-ассистента работающего CLI на PHP + SQLite. Который парсит проект, строит графы зависимостей и даёт Claude точечный доступ к коду: конкретный метод, поля класса, цепочка наследования, все SQL-запросы к таблице — одной командой, без чтения файлов целиком. Сейчас поддерживает Go , PHP и JavaScript, позже добавлю и C.ссылочка на гитхаб внизу) Claude знает структуру проекта — но недостаточно хорошо Claude Code читает CLAUDE.md , понимает архитектуру, знает какие файлы за что отвечают. Но когда доходит до дела — всё равно читает файлы целиком. Нужен один метод — читает весь класс. Нужно найти где вызывается функция — читает директорию за директорией. Контекст тает, а реальной работы ещё не было. К тому моменту как он добрался до ответа, контекст уже наполовину занят файлами которые я и сам мог открыть.Или другой сценарий: нужно понять какие поля у сущности. Claude читает файл целиком, хотя там нужны только первые 20 строк с полями и конструктором.Контекстное окно — главный ресурс при работе с AI на большом проекте. Тратить его на чтение файлов целиком расточительно.Меня это раздражало. Написал инструмент. Что я сделал Написал два PHP-скрипта: buildGraph.php — сканирует проект и строит граф зависимостей в SQLite. Парсит PHP и JS: классы, методы, вызовы, импорты, наследование. Запуск инкрементальный — повторный проход обновляет только изменённые файлы за 100–200 мс. claudeSearch.php — CLI-интерфейс. Даёт AI точечный доступ к коду одной командой.

    habr.com/ru/articles/1035206/

    #ai #claude_code #deepseek

  26. Claude ест токены впустую, но я его прокачал

    В материале расскажу вам о инструменте для AI-ассистента работающего CLI на PHP + SQLite. Который парсит проект, строит графы зависимостей и даёт Claude точечный доступ к коду: конкретный метод, поля класса, цепочка наследования, все SQL-запросы к таблице — одной командой, без чтения файлов целиком. Сейчас поддерживает Go , PHP и JavaScript, позже добавлю и C.ссылочка на гитхаб внизу) Claude знает структуру проекта — но недостаточно хорошо Claude Code читает CLAUDE.md , понимает архитектуру, знает какие файлы за что отвечают. Но когда доходит до дела — всё равно читает файлы целиком. Нужен один метод — читает весь класс. Нужно найти где вызывается функция — читает директорию за директорией. Контекст тает, а реальной работы ещё не было. К тому моменту как он добрался до ответа, контекст уже наполовину занят файлами которые я и сам мог открыть.Или другой сценарий: нужно понять какие поля у сущности. Claude читает файл целиком, хотя там нужны только первые 20 строк с полями и конструктором.Контекстное окно — главный ресурс при работе с AI на большом проекте. Тратить его на чтение файлов целиком расточительно.Меня это раздражало. Написал инструмент. Что я сделал Написал два PHP-скрипта: buildGraph.php — сканирует проект и строит граф зависимостей в SQLite. Парсит PHP и JS: классы, методы, вызовы, импорты, наследование. Запуск инкрементальный — повторный проход обновляет только изменённые файлы за 100–200 мс. claudeSearch.php — CLI-интерфейс. Даёт AI точечный доступ к коду одной командой.

    habr.com/ru/articles/1035206/

    #ai #claude_code #deepseek