How to Make a Feature Request for TaxHacker: The Complete Contributor Guide
TaxHacker accepts feature requests exclusively through GitHub Issues, accessible either via the "Request New Feature" button in the dashboard welcome widget or directly at https://github.com/vas3k/TaxHacker/issues.
TaxHacker is an open-source personal finance platform that combines Next.js, Prisma, and AI-powered receipt extraction to automate tax documentation. If you want to influence the project roadmap, understanding how to make a feature request for TaxHacker correctly ensures your proposal receives proper technical consideration from maintainers.
Where to Submit TaxHacker Feature Requests
According to the source code in README.md (line 219), TaxHacker explicitly encourages community members to suggest new ideas through GitHub Issues as one of the primary contribution channels. The repository does not maintain a separate forum, Discord channel, or email list for feature tracking—all discussion happens in the public issue tracker.
The dashboard UI provides a direct entry point. In components/dashboard/welcome-widget.tsx (lines 72-78), the "Request New Feature" button href points directly to the GitHub Issues page, creating a seamless bridge between the application interface and the repository.
Step-by-Step Process for Submitting Requests
Step 1: Navigate to the Issues Tracker
Open https://github.com/vas3k/TaxHacker/issues in your browser, or click the "Request New Feature" link from the welcome widget rendered by components/dashboard/welcome-widget.tsx.
Step 2: Create a New Issue
Click "New issue". Note that TaxHacker currently does not store issue templates in the repository (no .github/ISSUE_TEMPLATE/ directory exists), so you will encounter a blank markdown editor rather than a structured form.
Step 3: Structure Your Description
Organize your request into five distinct sections to match the architectural review process maintainers follow:
- Title — Short, descriptive, and specific (e.g., "Add OCR support for Japanese receipts").
- Motivation — Who benefits, what problem it solves, and current limitations.
- Proposed Solution — High-level technical approach referencing specific files.
- Impact — UI changes, database migrations, or configuration additions required.
- References — Links to relevant code sections (e.g.,
lib/ocr.ts,prisma/schema.prisma).
Step 4: Apply Labels
Add the enhancement label manually if you have write access; otherwise, maintainers will triage and label the issue during review.
Anatomy of an Effective TaxHacker Feature Request
TaxHacker employs a modular architecture: Next.js handles the frontend and API routes, Prisma manages database interactions, and pluggable LLM providers power AI extraction. Requests that explicitly identify which architectural layer they modify—whether app/ API routes, models/ schema definitions, or lib/ utility functions—significantly accelerate the review process.
Technical Context to Include
When proposing changes to the AI pipeline, reference files like lib/ocr.ts or models/prompt.ts. For database-related features, cite prisma/schema.prisma and specify if migrations are required. UI modifications should reference components in components/dashboard/ or pages in app/(app)/.
Example Well-Structured Request
### Title
Support OCR of Japanese receipts
### Motivation
Many freelancers in Japan need to process receipts in kanji. Current OCR only works well with Latin characters, forcing manual entry.
### Proposed Solution
1. Add a new language pack to the OCR pipeline in `lib/ocr.ts`.
2. Extend the AI prompt in `models/field.ts` to include a `language` parameter.
3. Update the UI in `components/dashboard/receipt-uploader.tsx` to allow language selection.
4. Create a migration in `prisma/migrations/` to store the new `language` column on the `Transaction` model.
### Impact
- UI changes: dropdown for language selection.
- Database schema change: `language` field in `Transaction`.
- Settings page entry to enable/disable Japanese OCR.
### References
- OCR pipeline: `lib/ocr.ts`
- Transaction model: `prisma/schema.prisma`
- Existing LLM prompt: `models/prompt.ts`
Programmatic Shortcut Using the GitHub API
If you prefer automation, submit your feature request via the GitHub REST API:
curl -X POST \
-H "Authorization: token <YOUR_PERSONAL_TOKEN>" \
-d '{"title":"Support OCR of Japanese receipts","body":"...markdown content from above...","labels":["enhancement"]}' \
https://api.github.com/repos/vas3k/TaxHacker/issues
Summary
- Primary Channel: Use GitHub Issues exclusively; the
README.mdand welcome widget both route tohttps://github.com/vas3k/TaxHacker/issues. - No Templates: The repository lacks issue templates, requiring you to provide structured markdown manually.
- Technical Specificity: Reference exact file paths like
lib/ocr.ts,prisma/schema.prisma, orcomponents/dashboard/welcome-widget.tsxto demonstrate architectural awareness. - Labeling: Mark requests with the
enhancementlabel to ensure proper categorization. - Clear Structure: Include motivation, proposed solution, impact assessment, and code references to facilitate maintainer triage.
Frequently Asked Questions
Is there a dedicated feature request template for TaxHacker?
No. As of the current codebase, TaxHacker does not include .github/ISSUE_TEMPLATE files, so you must compose your request in a blank markdown editor. Following the five-section structure outlined above (Title, Motivation, Proposed Solution, Impact, References) aligns with how maintainers prefer to evaluate incoming ideas.
Can I submit feature requests via email or social media?
The project documentation in README.md directs all feature discussions to GitHub Issues. While Vas3k may have personal social media accounts, the official contribution workflow requires public GitHub Issues so the entire community can discuss, vote on, and track progress transparently.
What file paths should I reference when proposing AI-related features?
For changes involving receipt processing, cite lib/ocr.ts for OCR logic and models/prompt.ts or models/field.ts for LLM prompt modifications. If your feature requires storing new data types, reference prisma/schema.prisma and specify necessary migrations. UI changes should mention specific components in components/dashboard/.
How do I know if my feature request affects the database schema?
If your proposal introduces new data fields (like the language example above), it likely requires modifications to prisma/schema.prisma. Review the existing models in that file to determine if you need new columns, tables, or enums, and explicitly mention migration requirements in your issue description.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →