hirekit 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. hirekit-0.1.0/.env.example +12 -0
  2. hirekit-0.1.0/.github/ISSUE_TEMPLATE/bug_report.md +25 -0
  3. hirekit-0.1.0/.github/ISSUE_TEMPLATE/feature_request.md +18 -0
  4. hirekit-0.1.0/.github/PULL_REQUEST_TEMPLATE.md +17 -0
  5. hirekit-0.1.0/.gitignore +18 -0
  6. hirekit-0.1.0/CONTRIBUTING.md +53 -0
  7. hirekit-0.1.0/LICENSE +21 -0
  8. hirekit-0.1.0/PKG-INFO +332 -0
  9. hirekit-0.1.0/PROJECT_PLAN.md +252 -0
  10. hirekit-0.1.0/README.ko.md +266 -0
  11. hirekit-0.1.0/README.md +279 -0
  12. hirekit-0.1.0/demo.cast +46 -0
  13. hirekit-0.1.0/docs/AGENT_PROMPTS.md +863 -0
  14. hirekit-0.1.0/docs/REPORT_QUALITY_GUIDE.md +879 -0
  15. hirekit-0.1.0/docs/index.html +819 -0
  16. hirekit-0.1.0/examples/config.toml +22 -0
  17. hirekit-0.1.0/examples/profile.yaml +39 -0
  18. hirekit-0.1.0/pyproject.toml +93 -0
  19. hirekit-0.1.0/scripts/demo.sh +48 -0
  20. hirekit-0.1.0/src/hirekit/__init__.py +3 -0
  21. hirekit-0.1.0/src/hirekit/cli/__init__.py +1 -0
  22. hirekit-0.1.0/src/hirekit/cli/app.py +442 -0
  23. hirekit-0.1.0/src/hirekit/core/__init__.py +1 -0
  24. hirekit-0.1.0/src/hirekit/core/cache.py +68 -0
  25. hirekit-0.1.0/src/hirekit/core/config.py +63 -0
  26. hirekit-0.1.0/src/hirekit/core/parallel.py +47 -0
  27. hirekit-0.1.0/src/hirekit/core/scoring.py +22 -0
  28. hirekit-0.1.0/src/hirekit/engine/__init__.py +1 -0
  29. hirekit-0.1.0/src/hirekit/engine/company_analyzer.py +336 -0
  30. hirekit-0.1.0/src/hirekit/engine/cover_letter.py +517 -0
  31. hirekit-0.1.0/src/hirekit/engine/interview_prep.py +249 -0
  32. hirekit-0.1.0/src/hirekit/engine/jd_matcher.py +378 -0
  33. hirekit-0.1.0/src/hirekit/engine/resume_advisor.py +300 -0
  34. hirekit-0.1.0/src/hirekit/engine/scorer.py +63 -0
  35. hirekit-0.1.0/src/hirekit/llm/__init__.py +1 -0
  36. hirekit-0.1.0/src/hirekit/llm/base.py +61 -0
  37. hirekit-0.1.0/src/hirekit/output/__init__.py +1 -0
  38. hirekit-0.1.0/src/hirekit/sources/__init__.py +1 -0
  39. hirekit-0.1.0/src/hirekit/sources/base.py +93 -0
  40. hirekit-0.1.0/src/hirekit/sources/global_/__init__.py +1 -0
  41. hirekit-0.1.0/src/hirekit/sources/global_/brave_search.py +116 -0
  42. hirekit-0.1.0/src/hirekit/sources/global_/credible_news.py +157 -0
  43. hirekit-0.1.0/src/hirekit/sources/global_/exa_search.py +102 -0
  44. hirekit-0.1.0/src/hirekit/sources/global_/github.py +138 -0
  45. hirekit-0.1.0/src/hirekit/sources/global_/google_news.py +107 -0
  46. hirekit-0.1.0/src/hirekit/sources/kr/__init__.py +1 -0
  47. hirekit-0.1.0/src/hirekit/sources/kr/dart.py +330 -0
  48. hirekit-0.1.0/src/hirekit/sources/kr/naver_news.py +84 -0
  49. hirekit-0.1.0/src/hirekit/sources/kr/naver_search.py +121 -0
  50. hirekit-0.1.0/src/hirekit/sources/us/__init__.py +1 -0
  51. hirekit-0.1.0/tests/__init__.py +0 -0
  52. hirekit-0.1.0/tests/conftest.py +25 -0
  53. hirekit-0.1.0/tests/test_config.py +38 -0
  54. hirekit-0.1.0/tests/test_engine/__init__.py +0 -0
  55. hirekit-0.1.0/tests/test_engine/test_cover_letter.py +130 -0
  56. hirekit-0.1.0/tests/test_engine/test_interview_prep.py +48 -0
  57. hirekit-0.1.0/tests/test_engine/test_jd_matcher.py +90 -0
  58. hirekit-0.1.0/tests/test_engine/test_resume_advisor.py +102 -0
  59. hirekit-0.1.0/tests/test_output/__init__.py +0 -0
  60. hirekit-0.1.0/tests/test_scorer.py +71 -0
  61. hirekit-0.1.0/tests/test_sources/__init__.py +0 -0
  62. hirekit-0.1.0/tests/test_sources/test_base.py +81 -0
@@ -0,0 +1,12 @@
1
+ # HireKit API Keys
2
+ # Get your DART API key at: https://opendart.fss.or.kr/
3
+ DART_API_KEY=
4
+
5
+ # Naver Search API (optional)
6
+ # Get keys at: https://developers.naver.com/
7
+ NAVER_CLIENT_ID=
8
+ NAVER_CLIENT_SECRET=
9
+
10
+ # LLM API Keys (optional — HireKit works without these)
11
+ # OPENAI_API_KEY=
12
+ # ANTHROPIC_API_KEY=
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report a bug to help us improve
4
+ title: "[Bug] "
5
+ labels: bug
6
+ ---
7
+
8
+ **Describe the bug**
9
+ A clear description of what the bug is.
10
+
11
+ **To Reproduce**
12
+ Steps to reproduce:
13
+ 1. Run `hirekit ...`
14
+ 2. See error
15
+
16
+ **Expected behavior**
17
+ What you expected to happen.
18
+
19
+ **Environment:**
20
+ - OS: [e.g., macOS, Ubuntu]
21
+ - Python version: [e.g., 3.11]
22
+ - HireKit version: [e.g., 0.1.0]
23
+
24
+ **Additional context**
25
+ Any other context about the problem.
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest a new feature or data source
4
+ title: "[Feature] "
5
+ labels: enhancement
6
+ ---
7
+
8
+ **Is your feature request related to a problem?**
9
+ A clear description of the problem.
10
+
11
+ **Describe the solution you'd like**
12
+ What you want to happen.
13
+
14
+ **Data source plugin?**
15
+ If this is a new data source, which region (kr/us/global) and what data does it provide?
16
+
17
+ **Additional context**
18
+ Any other context or screenshots.
@@ -0,0 +1,17 @@
1
+ ## Summary
2
+
3
+ Brief description of changes.
4
+
5
+ ## Type
6
+
7
+ - [ ] Bug fix
8
+ - [ ] New feature
9
+ - [ ] New data source plugin
10
+ - [ ] Documentation
11
+ - [ ] Refactoring
12
+
13
+ ## Checklist
14
+
15
+ - [ ] Tests added/updated
16
+ - [ ] Linting passes (`ruff check`)
17
+ - [ ] Documentation updated (if needed)
@@ -0,0 +1,18 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *$py.class
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .eggs/
8
+ .venv/
9
+ venv/
10
+ *.egg
11
+ .mypy_cache/
12
+ .pytest_cache/
13
+ .ruff_cache/
14
+ *.db
15
+ reports/
16
+ .env
17
+ .omc/
18
+ .github/workflows/
@@ -0,0 +1,53 @@
1
+ # Contributing to HireKit
2
+
3
+ Thank you for your interest in contributing! Here's how to get started.
4
+
5
+ ## Development Setup
6
+
7
+ ```bash
8
+ # Clone the repo
9
+ git clone https://github.com/ziho/hirekit.git
10
+ cd hirekit
11
+
12
+ # Create virtual environment
13
+ python3 -m venv .venv
14
+ source .venv/bin/activate
15
+
16
+ # Install in development mode
17
+ pip install -e ".[dev]"
18
+
19
+ # Run tests
20
+ pytest
21
+
22
+ # Run linter
23
+ ruff check src/ tests/
24
+ ```
25
+
26
+ ## Adding a Data Source Plugin
27
+
28
+ 1. Create a new file in `src/hirekit/sources/{region}/`
29
+ 2. Implement the `BaseSource` protocol
30
+ 3. Register with `@SourceRegistry.register`
31
+ 4. Add entry point in `pyproject.toml`
32
+ 5. Write tests in `tests/test_sources/`
33
+
34
+ See `src/hirekit/sources/base.py` for the full protocol documentation.
35
+
36
+ ## Code Style
37
+
38
+ - We use `ruff` for linting and formatting
39
+ - Type hints are required for all public functions
40
+ - Tests are required for new features
41
+
42
+ ## Pull Request Process
43
+
44
+ 1. Fork the repo and create your branch from `main`
45
+ 2. Add tests for any new functionality
46
+ 3. Ensure all tests pass (`pytest`)
47
+ 4. Ensure linting passes (`ruff check`)
48
+ 5. Update documentation if needed
49
+ 6. Submit a PR with a clear description
50
+
51
+ ## Reporting Issues
52
+
53
+ Use GitHub Issues with the provided templates (bug report or feature request).
hirekit-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ziho
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
hirekit-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,332 @@
1
+ Metadata-Version: 2.4
2
+ Name: hirekit
3
+ Version: 0.1.0
4
+ Summary: AI-powered company analysis and interview preparation CLI for job seekers
5
+ Project-URL: Homepage, https://github.com/ziho/hirekit
6
+ Project-URL: Documentation, https://github.com/ziho/hirekit/docs
7
+ Project-URL: Repository, https://github.com/ziho/hirekit
8
+ Project-URL: Issues, https://github.com/ziho/hirekit/issues
9
+ Author: ziho
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: ai,career,company-analysis,dart,interview-prep,job-search
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: End Users/Desktop
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Office/Business
21
+ Requires-Python: >=3.11
22
+ Requires-Dist: beautifulsoup4>=4.12
23
+ Requires-Dist: httpx>=0.25
24
+ Requires-Dist: jinja2>=3.1
25
+ Requires-Dist: lxml>=5.0
26
+ Requires-Dist: pydantic>=2.0
27
+ Requires-Dist: python-dotenv>=1.0
28
+ Requires-Dist: rich>=13.0
29
+ Requires-Dist: typer>=0.9
30
+ Provides-Extra: all
31
+ Requires-Dist: litellm>=1.0; extra == 'all'
32
+ Requires-Dist: notion-client>=2.0; extra == 'all'
33
+ Requires-Dist: pykrx>=1.0; extra == 'all'
34
+ Provides-Extra: anthropic
35
+ Requires-Dist: anthropic>=0.20; extra == 'anthropic'
36
+ Provides-Extra: dev
37
+ Requires-Dist: mypy>=1.0; extra == 'dev'
38
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
39
+ Requires-Dist: pytest>=7.0; extra == 'dev'
40
+ Requires-Dist: respx>=0.20; extra == 'dev'
41
+ Requires-Dist: ruff>=0.1; extra == 'dev'
42
+ Provides-Extra: kr
43
+ Requires-Dist: pykrx>=1.0; extra == 'kr'
44
+ Provides-Extra: llm
45
+ Requires-Dist: litellm>=1.0; extra == 'llm'
46
+ Provides-Extra: notion
47
+ Requires-Dist: notion-client>=2.0; extra == 'notion'
48
+ Provides-Extra: ollama
49
+ Requires-Dist: ollama>=0.1; extra == 'ollama'
50
+ Provides-Extra: openai
51
+ Requires-Dist: openai>=1.0; extra == 'openai'
52
+ Description-Content-Type: text/markdown
53
+
54
+ <p align="center">
55
+ <h1 align="center">HireKit</h1>
56
+ <p align="center">
57
+ <strong>AI-powered company analysis and interview preparation CLI for job seekers</strong>
58
+ </p>
59
+ <p align="center">
60
+ Research companies. Match jobs. Ace interviews.
61
+ </p>
62
+ </p>
63
+
64
+ <p align="center">
65
+ <a href="https://pypi.org/project/hirekit/"><img src="https://img.shields.io/pypi/v/hirekit" alt="PyPI"></a>
66
+ <a href="https://github.com/zihoshin-dev/hirekit/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
67
+ <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python"></a>
68
+ <a href="https://github.com/zihoshin-dev/hirekit"><img src="https://img.shields.io/github/stars/zihoshin-dev/hirekit?style=social" alt="Stars"></a>
69
+ </p>
70
+
71
+ ---
72
+
73
+ ## Why It Matters
74
+
75
+ You're in an interview. Your interviewer asks: **"Why do you want to work here?"**
76
+
77
+ You pause. You didn't research the company beyond the job posting.
78
+
79
+ **90% of rejected candidates cite "unprepared" as feedback.**
80
+
81
+ Meanwhile, company research takes **4-8 hours** across fragmented sources:
82
+ - DART filings (Korean finance jargon, hard to parse)
83
+ - News articles (biased, scattered across 10+ sites)
84
+ - Glassdoor reviews (complaint-focused, outdated)
85
+ - GitHub (tech only, no culture insights)
86
+ - LinkedIn, internal wikis, salary data
87
+
88
+ No tool combines these into one actionable intelligence report.
89
+
90
+ **HireKit solves this:** One command, 2 minutes, 8 data sources, 1 decision-ready report.
91
+
92
+ ---
93
+
94
+ ## How It Works
95
+
96
+ ```bash
97
+ # Step 1: Install (30 seconds)
98
+ $ pip install hirekit
99
+
100
+ # Step 2: Configure API keys (1 minute, one-time)
101
+ $ hirekit configure
102
+ > DART API Key: [paste]
103
+ > Naver Client ID: [paste]
104
+
105
+ # Step 3: Analyze a company (2 minutes)
106
+ $ hirekit analyze 카카오
107
+
108
+ # Output: 12-section decision report
109
+ ```
110
+
111
+ **Total time: 3 minutes vs. 4-8 hours of manual research**
112
+
113
+ ---
114
+
115
+ ## What You Get
116
+
117
+ **Single Actionable Score: 0-100 Job Fit Rating**
118
+
119
+ ```
120
+ 82/100 = Strong Opportunity (Go for it)
121
+ 75/100 = Competitive (Worth applying with prep)
122
+ 60/100 = Caution (Red flags exist — investigate)
123
+ ```
124
+
125
+ **12-Section Report covering:**
126
+ - Executive summary with key reasons
127
+ - Financial health (salary negotiation potential)
128
+ - Tech stack & interview depth questions
129
+ - Recent news & company trajectory
130
+ - Culture & team dynamics
131
+ - Risk flags & mitigation strategies
132
+ - Interview prep tips specific to this company
133
+
134
+ **Multi-source cross-validation:**
135
+ - 8+ data sources collected in parallel
136
+ - Conflicts highlighted ("News says growing, DART shows debt spike — investigate")
137
+ - Evidence-based scoring, not gut feeling
138
+ - All sources cited with dates
139
+
140
+ ---
141
+
142
+ ## Quick Start
143
+
144
+ ```bash
145
+ # Install
146
+ pip install hirekit
147
+
148
+ # Configure (set up API keys)
149
+ hirekit configure
150
+
151
+ # Analyze a company
152
+ hirekit analyze 카카오
153
+
154
+ # View available data sources
155
+ hirekit sources
156
+ ```
157
+
158
+ ---
159
+
160
+ ## What's Next?
161
+
162
+ After analyzing a company, you can:
163
+
164
+ ```bash
165
+ # Compare companies side-by-side
166
+ $ hirekit compare 카카오 네이버 --focus salary,growth
167
+
168
+ # Match your resume to a job posting
169
+ $ hirekit match https://wanted.co.kr/job-123 resume.pdf
170
+
171
+ # Prepare interview questions specific to this company
172
+ $ hirekit interview 카카오 --role backend-engineer
173
+
174
+ # Get interview feedback on your resume
175
+ $ hirekit resume review resume.pdf --company 카카오
176
+ ```
177
+
178
+ 👉 **[Full Tutorial](docs/tutorial.md)** | **[CLI Reference](docs/cli-reference.md)** | **[FAQ](docs/faq.md)**
179
+
180
+ ---
181
+
182
+ ## Features
183
+
184
+ - **8-source parallel collection** — DART financials, Google/Naver/Brave/Exa news, Reuters, Korean biz press, GitHub tech scoring, Glassdoor reviews (all collected simultaneously)
185
+ - **12-section structured reports** — Executive summary, financial health, tech stack, news/trajectory, culture, compensation, growth potential, risks, interview prep, scorecard, similar companies, action items
186
+ - **Weighted 5-dimension scorecard** — Job Fit (30%), Career Leverage (20%), Growth Potential (20%), Compensation (15%), Culture Fit (15%) — 100-point decision score, not subjective rating
187
+ - **LLM-optional** — Works without any AI (template mode for offline use), enhanced with OpenAI/Anthropic/Ollama for deeper analysis
188
+ - **Plugin architecture** — Add custom data sources in 20 lines of Python, no core changes needed
189
+ - **Privacy-first** — All data stays local, no external tracking, no cloud uploads
190
+
191
+ ## Quick Start
192
+
193
+ ```bash
194
+ # Install
195
+ pip install hirekit
196
+
197
+ # Configure (set up API keys)
198
+ hirekit configure
199
+
200
+ # Analyze a company
201
+ hirekit analyze 카카오
202
+
203
+ # View available data sources
204
+ hirekit sources
205
+ ```
206
+
207
+ ## Demo
208
+
209
+ ```
210
+ $ hirekit analyze 카카오 --no-llm -o terminal
211
+
212
+ ╭──────────────────── HireKit Analysis ────────────────────╮
213
+ │ Analyzing: 카카오 │
214
+ │ Region: kr Tier: 1 LLM: off │
215
+ ╰──────────────────────────────────────────────────────────╯
216
+
217
+ 카카오 Scorecard
218
+ ┌─────────────────────┬────────┬────────┬──────────────────┐
219
+ │ Dimension │ Weight │ Score │ Evidence │
220
+ ├─────────────────────┼────────┼────────┼──────────────────┤
221
+ │ Job Fit │ 30% │ 3.5/5 │ Tech stack data │
222
+ │ Career Leverage │ 20% │ 4.6/5 │ 15 data points │
223
+ │ Growth Potential │ 20% │ 4.5/5 │ Financials + │
224
+ │ │ │ │ active news │
225
+ │ Compensation │ 15% │ 3.5/5 │ DART salary data │
226
+ │ Culture Fit │ 15% │ 4.5/5 │ Reviews + Exa │
227
+ │ Total │ │ 82/100 │ Grade S │
228
+ └─────────────────────┴────────┴────────┴──────────────────┘
229
+ ```
230
+
231
+ > 8 data sources collected 15 results in parallel — DART financials, Google/Naver/Brave/Exa news, Reuters, Korean biz press, GitHub tech scoring, Glassdoor reviews.
232
+
233
+ ## Data Sources
234
+
235
+ | Source | Region | Data | API Key |
236
+ |--------|--------|------|---------|
237
+ | DART | KR | Financial filings, employee data | `DART_API_KEY` |
238
+ | Naver News | KR | Recent news articles | `NAVER_CLIENT_ID` |
239
+ | Naver Search | KR | Blog, cafe, web (culture/interview) | `NAVER_CLIENT_ID` |
240
+ | GitHub | Global | Tech maturity scoring | gh CLI |
241
+ | Google News | Global | RSS news (no key needed) | - |
242
+ | Credible News | Global | Reuters, Bloomberg, FT, WSJ + Korean biz press | - |
243
+ | Brave Search | Global | Web + news semantic search | `BRAVE_API_KEY` |
244
+ | Exa Search | Global | AI semantic deep search | `EXA_API_KEY` |
245
+
246
+ ### Adding Custom Sources
247
+
248
+ ```python
249
+ from hirekit.sources.base import BaseSource, SourceRegistry, SourceResult
250
+
251
+ @SourceRegistry.register
252
+ class MySource(BaseSource):
253
+ name = "my_source"
254
+ region = "global"
255
+ sections = ["tech"]
256
+
257
+ def is_available(self) -> bool:
258
+ return True
259
+
260
+ def collect(self, company, **kwargs):
261
+ # Your data collection logic here
262
+ return [SourceResult(
263
+ source_name=self.name,
264
+ section="tech",
265
+ data={"key": "value"},
266
+ )]
267
+ ```
268
+
269
+ ## Configuration
270
+
271
+ Config lives in `~/.hirekit/config.toml`:
272
+
273
+ ```toml
274
+ [analysis]
275
+ default_region = "kr"
276
+ cache_ttl_hours = 168 # 7 days
277
+
278
+ [llm]
279
+ provider = "none" # openai, anthropic, ollama, none
280
+ model = "gpt-4o-mini"
281
+
282
+ [sources]
283
+ enabled = ["dart", "github", "naver_news"]
284
+
285
+ [output]
286
+ format = "markdown"
287
+ directory = "./reports"
288
+ ```
289
+
290
+ ## LLM Support
291
+
292
+ HireKit works without any LLM (template-based reports). For AI-enhanced analysis:
293
+
294
+ ```bash
295
+ # OpenAI
296
+ pip install hirekit[openai]
297
+ # Set OPENAI_API_KEY in ~/.hirekit/.env
298
+
299
+ # Anthropic
300
+ pip install hirekit[anthropic]
301
+
302
+ # Local models via Ollama
303
+ pip install hirekit[ollama]
304
+
305
+ # Or use litellm for 100+ providers
306
+ pip install hirekit[llm]
307
+ ```
308
+
309
+ ## Roadmap
310
+
311
+ - [x] **Phase 1:** DART + GitHub + News analysis, scorecard, Markdown reports
312
+ - [x] **Phase 2:** JD matching (`hirekit match`), interview prep (`hirekit interview`), resume review (`hirekit resume`)
313
+ - [ ] **Phase 3:** US companies (SEC Edgar), web UI, community plugins, PyPI publish
314
+
315
+ ## Contributing
316
+
317
+ Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
318
+
319
+ **Good first issues:**
320
+ - Add a new data source plugin
321
+ - Improve report templates
322
+ - Add i18n support
323
+
324
+ ## License
325
+
326
+ MIT License. See [LICENSE](LICENSE) for details.
327
+
328
+ ---
329
+
330
+ <p align="center">
331
+ <sub>Built with care for every job seeker out there.</sub>
332
+ </p>