cz-cli
aider
cz-cli | aider | |
---|---|---|
31 | 63 | |
16,381 | 9,450 | |
0.6% | - | |
2.3 | 9.9 | |
about 1 month ago | 8 days ago | |
JavaScript | Python | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cz-cli
-
Aider: AI pair programming in your terminal
Adopt a convention like commitizen: https://github.com/commitizen/cz-cli
'typeofchange(scopeofchange): reason for change'
It sort helps force devs to type out more meaningful commit messages.
-
What is a good message and size for a commit?
Commitizen Define a interface to write your commits and automatically and a prefix and a suffix to your message. (and others features not related)
-
Subject-First Commit Messages
Conventional commits are great, especially if you add in commit linting.
Being able to programmatically increment semantic versions and automatically generate relevant changelogs is awesome.
It’s also nice to implement Commitizen[0] for a little hand holding until folks get used to the linting.
I used to care a lot about doing things the way that felt right to me, but now I just want some common standard that is easy for everyone to follow, easy to automate, and easy to verify programmatically.
Things like conventional commits and semantic versioning aren’t perfect, but they are quite good and apply broadly to many use cases with common tooling and conventions.
--
[0]: http://commitizen.github.io/cz-cli/
-
Automating code patterns with Husky
In the world of software development, maintaining consistent code quality and ensuring that the codebase adheres to predefined patterns and guidelines is crucial. However, manually enforcing these standards can be time-consuming and error-prone. This is where automation tools like Husky, Lint-Staged, Commitlint, and Commitizen come to the rescue. In this post, we will explore how these tools can be combined to streamline your development workflow.
-
How to set up Commitzen with Husky
Conventional commits specification contains a set of rules for creating an explicit commit history, which makes it easier to write automated tools on top of, for example, semantic release. You can manually follow this convention in your project or use a tool to assist you, such as Commitizen.
-
Automated release with Semantic Release and commitizen
When working with JavaScript projects, managing version numbers and commit messages is important for the maintainability of the project. Since 2020 I have been the main developer of Atomic Calendar Revive a highly customisable Home Assistant calendar card, I found maintaining versions and releases to be cumbersome until recently. In this article, I will introduce the commitizen and semantic-release packages for creation or appropriate commit messages and semantic versioning. I will also provide examples of how I am currently using these packages to streamline my release workflow and project maintenance.
-
Does it make sense to write commit messages that include notes to yourself on how the project is going?
I use Commitizen to enforce a strict commit message. It's not required - but it makes my life easier. It adheres to a standard - but it's certainly not "the" standard.
-
What is the relation between commitizen-tools/commitizen and commitizen/cz-cli?
When I googled, I found cz-cli project first: https://github.com/commitizen/cz-cli
-
Ideas for minimum PHP pipeline for a small team
Same thing with git commits. Something like commitizen. It forces a specific format of your commits. And if you're using an associated issue/bug tracker that can automatically link to commits you can set up to format like that.
-
How do I learn modern web development?
That may also serve as a good entry point for nodeJS via the tools: commitizen, commitLint. That is you implement them within your project, and then also think about how to implement via CI/CD remotely.
aider
-
2markdown – Transform Websites into Markdown
I built a similar thing in python using Playwright and Pandoc [0]. It's used by aider's `/web ` command that lets you paste a markdown version of any webpage into your AI coding chat. This helps if you want to include docs for an obscure or non-public package/api/etc with the LLM while coding.
I really value dependencies which are easy for all users to install, cross-platform. Playwright is nice because it has a simple way to install its dependencies on most platforms. And the `pypandoc` module provides a seamless install of pandoc across platforms.
The result turns most web pages into nice markdown without requiring users to solve some painful platform specific chromium dependency nightmare.
[0] https://github.com/paul-gauthier/aider/blob/main/aider/scrap...
-
Aider: AI pair programming in your terminal
Thanks for trying aider, and sorry to hear you had trouble getting the hang of it. It might be worth looking through some of the tips on the aider GitHub page [0].
In particular, this is one of the most important tips: Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk GPT through changes like you might with a junior dev. Ask for a refactor to prepare, then ask for the actual change. Spend the time to ask for code quality/structure improvements.
Not sure if this was a factor in your attempts? I'd be happy to help you if you'd like to open an GitHub issue [1] our jump into our discord [2].
[0] https://github.com/paul-gauthier/aider#tips
[1] https://github.com/paul-gauthier/aider/issues/new/choose
[2] https://discord.gg/Tv2uQnR88V
-
Ask HN: If you've used GPT-4-Turbo and Claude Opus, which do you prefer?
Have you tried something like Agentic’s Glide? (They announced it this week here on HN)
They use gpt, but they might be able to configure it so it uses Claude
Another tool to check out could be aider https://github.com/paul-gauthier/aider
-
Launch HN: Glide (YC W19) – AI-assisted technical design docs
Are you aware of the work on https://github.com/paul-gauthier/aider? What's your take on generating code diffs directly instead of code editing instructions?
-
A Man in Seat 61
He should add AI to his site!
Not really - the site is great as-is and there's nothing wrong with this approach. It looks like it works really well for Mr. 61.
But I'd imagine it'd be pretty helpful to write tools to help with maintaining the site which do leverage LLM models. Do a combination of search + AI to rewrite + reviewing the individual edits (e.g. through selective git adds).
I'm imagining a tool like https://github.com/paul-gauthier/aider (which I haven't tried yet, but it looks useful for this kind of effort).
- Ask HN: What is the, currently, best Programming LLM (copilot) subscriptions?
-
Web Scraping in Python – The Complete Guide
I recently used [0] Playwright for Python and [1] pypandoc to build a scraper that fetches a webpage and turns the content into sane markdown so that it can be passed into an AI coding chat [2].
They are both very gentle dependencies to add to a project. Both packages contain built in or scriptable methods to install their underlying platform-specific binary dependencies. This means you don't need to ask end users to use some complex, platform-specific package manager to install playwright and pandoc.
Playwright let's you scrape pages that rely on js. Pandoc is great at turning HTML into sensible markdown. Below is an excerpt of the openai pricing docs [3] that have been scraped to markdown [4] in this manner.
[0] https://playwright.dev/python/docs/intro
[1] https://github.com/JessicaTegner/pypandoc
[2] https://github.com/paul-gauthier/aider
[3] https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turb...
[4] https://gist.githubusercontent.com/paul-gauthier/95a1434a28d...
## GPT-4 and GPT-4 Turbo
-
DeepSeek Coder: Let the Code Write Itself
Thanks for trying aider, and sorry to hear you had trouble getting the hang of it. It might be worth looking through some of the tips on the aider github page:
https://github.com/paul-gauthier/aider#tips
In particular, this is one of the most important tips: Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk GPT through changes like you might with a junior dev. Ask for a refactor to prepare, then ask for the actual change. Spend the time to ask for code quality/structure improvements.
Not sure if this was a factor in your attempts? But it's best not to ask for a big sweeping change all at once. It's hard to unambiguously and completely specify what you want, and it's also harder for GPT to succeed at bigger changes in one bite.
-
Voxos.ai – An Open-Source Desktop Voice Assistant
How does Voxos help avoid copying & pasting code into your IDE? I had a look around the code base and don't see any indication that it allows GPT to directly edit your source files. But maybe I am missing it?
I'm asking because this is a major focus of my open source AI coding project aider [0]. I always like to see how other projects approach the challenge of letting GPT edit existing code. Most recently aider adopted unified diffs as the GPT 4 Turbo code editing format [1].
[0] https://github.com/paul-gauthier/aider
[1] https://aider.chat/docs/unified-diffs.html
-
LLMs and Programming in the first days of 2024
There is a bit of learning curve to figuring out the most effective ways to collaboratively code with GPT, either through aider or other UXs. My best piece of advice is taken from aider's tips list and applies broadly to coding with LLMs:
Large changes are best performed as a sequence of thoughtful bite sized steps, where you plan out the approach and overall design. Walk GPT through changes like you might with a junior dev. Ask for a refactor to prepare, then ask for the actual change. Spend the time to ask for code quality/structure improvements.
https://github.com/paul-gauthier/aider#tips
What are some alternatives?
semantic-release - :package::rocket: Fully automated version management and package publishing
gpt-engineer - Specify what you want it to build, the AI asks for clarification, and then builds it.
tig - Text-mode interface for git
gpt-pilot - The first real AI developer
commitizen - Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
llama-cpp-python - Python bindings for llama.cpp
tortoisegit - Windows Explorer Extension to Operate Git; Mirror of official repository https://tortoisegit.org/sourcecode
ollama-ui - Simple HTML UI for Ollama
release-please - generate release PRs based on the conventionalcommits.org spec
tabby - Self-hosted AI coding assistant
standard-version - :trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
continue - ⏩ Open-source VS Code and JetBrains extensions that enable you to easily create your own modular AI software development system