
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
CLI tool for learning software development concepts through test-driven development
๐ฏ Learn software development concepts through test-driven development
Hackages is an interactive CLI tool that helps developers learn new concepts by generating personalized coding exercises using AI-powered test-driven development.
Install globally via npm:
npm install -g hackages
or
npx hackages
After installation, simply run:
hackages
You'll see a welcoming introduction explaining what Hackages is about, followed by 3 simple options:
Choose one and get your first exercise instantly - no authentication required!
Example Onboarding Flow:
$ hackages
๐ Welcome to Hackages! ๐
==================================================
๐ Learn software development through hands-on coding challenges
๐งช Write code, run tests, get instant AI feedback
๐ฏ Master concepts by doing, not just reading
==================================================
โจ What you'll get:
โข A coding challenge with clear instructions
โข Test cases that guide your implementation
โข AI-powered feedback on your code
โข A fun, interactive learning experience
๐ฏ Ready to try? Pick one:
? Choose your first exercise: โบ 1. JavaScript Array Methods
๐ Great choice!
You'll be learning: JavaScript Array Methods
๐ Generating your first exercise...
๐ Your first exercise is ready!
==================================================
๐ Files created:
โ tests/exercise.spec.js (Your test cases)
โ src/exercise.js (Your implementation file)
๐ Next steps:
1. Read the instructions and test file to understand what to implement
2. Open src/exercise.js and start coding
3. Run 'npx hackages test' to validate your implementation
4. Run 'npx hackages review' to get AI feedback on your code
๐ก Want to continue learning?
Run 'npx hackages' again to create more exercises and track your progress!
If you've used Hackages before and are logged in, you'll get the full personalized experience with custom learning goals and progress tracking.
# Start learning (default) - creates new exercise
hackages
# Continue working on existing exercise (interactive mode)
hackages continue
# Run tests for your current exercise
hackages test
# Get AI code review and feedback
hackages review
# Login with GitHub account
hackages login
# Logout from your account
hackages logout
# Show help
hackages --help
Run hackages
and answer a few questions:
Hackages automatically detects your preferred technology and clones the appropriate template repository:
git@github.com:hackages/ts-template.git
(SSH) or https://github.com/hackages/ts-template.git
(HTTPS)git@github.com:hackages/js-template.git
(SSH) or https://github.com/hackages/js-template.git
(HTTPS)git@github.com:hackages/go-template.git
(SSH) or https://github.com/hackages/go-template.git
(HTTPS)git@github.com:hackages/python-template.git
(SSH) or https://github.com/hackages/python-template.git
(HTTPS)The system detects your Git protocol preference (SSH vs HTTPS) and uses the appropriate URL.
Hackages creates exercise files in the cloned repository:
tests/exercise-1.spec.ts
- Test cases that define what to buildsrc/exercise-1.ts
- Empty implementation file for you to codeinstructions/exercise-1.mdx
- Detailed instructions and learning objectivescd <exercise-name>
npx hackages test
to check your progressnpx hackages review
Use hackages continue
to access the interactive menu:
The "Next Learning" option only appears if you have previous feedback from a code review, and it shows up to 3 AI-recommended learning steps plus an option to write your own goal.
$ hackages
๐ฏ Hackages Lab
==================================================
โ ๐ก What software development concept would you like to learn today? โบ TypeScript map function
โ
Detected language: TypeScript
โ ๐ ๏ธ Please confirm your technology choice: โบ TypeScript (Your selection)
โ ๐ Select your skill level: โบ Beginner
๐ You'll be logging in with your GitHub account to track your progress.
Press Enter to continue...
๐ฅ Cloning TypeScript template repository...
โ
Repository template cloned to: typescript-map-function
๐ Your learning exercise is ready!
๐ Repository cloned:
โ typescript-map-function/ (Your exercise directory)
โ typescript-map-function/tests/exercise-1.spec.ts (Your test cases)
โ typescript-map-function/src/exercise-1.ts (Your implementation file)
โ typescript-map-function/instructions/exercise-1.mdx (Exercise instructions)
๐ Next steps:
1. cd typescript-map-function (navigate to your exercise directory)
2. Read the instructions and test file to understand what to implement
3. Open src/exercise-1.ts and start coding
4. Run 'npx hackages test' to validate your implementation
5. Run 'npx hackages review' to get AI feedback on your code
$ cd typescript-map-function
$ npx hackages test
๐งช Running tests...
๐ Running tests in: typescript-map-function
โ 2 tests failed
$ hackages review
๐ Code Review
==================================================
๐ Files to be reviewed:
โ exercise-1.ts
โ utils.ts
Great start! Here's some feedback...
๐ Code review completed!
๐ Feedback saved to: feedback/exercise-1.mdx
๐ HTML page generated: feedback-exercise-1.html
๐ก Opening feedback page in browser...
==================================================
๐ Continue Your Learning Journey
==================================================
Choose your next learning step:
1. Explore Different Number Types
2. Learn About Function Overloading
3. Error Handling
4. Generic Functions
5. Advanced TypeScript Features
6. Write your next learning goal
๐ Generating your next exercise...
๐ Your next exercise is ready!
๐ Next exercise created:
โ tests/exercise-2.spec.ts (Your test cases)
โ src/exercise-2.ts (Your implementation file)
โ instructions/exercise-2.mdx (Exercise instructions)
Get AI feedback on your implementations with multiple output formats:
src/
directory automaticallyfeedback/exercise-1.mdx
in your exercise directoryfeedback-exercise-1.html
~/.hackages/
for safekeepingHackages uses technology-specific repository templates that provide:
src/
and tests/
directoriesThe system automatically detects your Git protocol preference:
git@github.com:hackages/<template>.git
https://github.com/hackages/<template>.git
Hackages uses GitHub OAuth for user authentication:
# Login with GitHub (opens browser)
hackages login
# Check if you're logged in
hackages --help # Shows your username if logged in
# Logout
hackages logout
This enables personalized learning experiences and progress tracking.
Hackages features a modern CLI interface with:
ยฉ Hackages
Happy Learning! ๐
Built with โค๏ธ by the Hackages team
FAQs
CLI tool for learning software development concepts through test-driven development
The npm package hackages receives a total of 5 weekly downloads. As such, hackages popularity was classified as not popular.
We found that hackages demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socketโs AI scanner detected the supply chain attack and flagged the malware.
Security News
CISAโs 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.