Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
446 commits
Select commit Hold shift + click to select a range
43751df
Merge pull request #67 from MichaelWalker-git/feat/e2e-custom-prompts
MichaelWalker-git Jan 29, 2026
d211ca9
Merge branch 'develop' into feature/e2e-tests-recent-features
MichaelWalker-git Jan 29, 2026
71f72f6
chore: remove redundant unauthenticated E2E tests
MichaelWalker-git Jan 29, 2026
a3c9a8c
fix: remove conflicting globalSetup from playwright config
MichaelWalker-git Jan 29, 2026
3a64500
chore: trigger CI re-run
MichaelWalker-git Jan 29, 2026
81c30dc
chore: trigger E2E tests
MichaelWalker-git Jan 29, 2026
d19d3c8
Merge pull request #54 from MichaelWalker-git/feature/e2e-tests-recen…
MichaelWalker-git Jan 29, 2026
6fa5ae2
feat: Add comprehensive Sentry observability enhancements (#69)
MichaelWalker-git Jan 30, 2026
eba3f6d
fix: Remove Sentry profiling integrations that require additional pac…
MichaelWalker-git Jan 30, 2026
6e70039
fix: Add type safety to deadlinesData parameter (#70)
MichaelWalker-git Jan 31, 2026
2839507
fix: Add type safety to brief helpers (#71)
MichaelWalker-git Jan 31, 2026
0d965f3
fix: Clean up create-opportunity Lambda handler (#72)
MichaelWalker-git Jan 31, 2026
7da7c7a
fix: Add type safety to proposals page (#76)
MichaelWalker-git Jan 31, 2026
8640453
fix: Add null checks to GenerateProposalModal handlers (#77)
MichaelWalker-git Jan 31, 2026
8eb8401
Feature/styled docx generator (#78)
MichaelWalker-git Feb 2, 2026
7d603b9
fix: Update index-document tests for knowledgeBaseId requirement
MichaelWalker-git Feb 2, 2026
2ac5c24
fix: Remove pnpm-lock.yaml from infrastructure directory
MichaelWalker-git Feb 2, 2026
23b4305
fix: Fix unit test failures in web-app
MichaelWalker-git Feb 2, 2026
49d821c
fix: Move hooks before early return in ProposalsContent
MichaelWalker-git Feb 2, 2026
1155f59
fix: Use artifacts instead of cache for E2E build sharing
MichaelWalker-git Feb 2, 2026
49fab9f
refactor: Server-driven state for CancelPipelineButton (#68)
MichaelWalker-git Feb 2, 2026
3dd85ac
fix: Add debug output and fix artifact glob patterns for E2E tests
MichaelWalker-git Feb 2, 2026
23fafcf
fix: Include hidden files in E2E build artifact upload
MichaelWalker-git Feb 2, 2026
3a59244
fix: Use tar archive for E2E build artifacts
MichaelWalker-git Feb 2, 2026
3c395a9
docs: Add CI/CD best practices and lessons learned to CLAUDE.md
MichaelWalker-git Feb 2, 2026
79c6cc9
feat: Restore indexes (knowledge bases) loading in questions-provider…
MichaelWalker-git Feb 3, 2026
5861e52
Feature/win loss analytics phase1 (#79)
MichaelWalker-git Feb 3, 2026
fd79ba2
feat: Add FOIA Integration (Phase 4) (#49)
MichaelWalker-git Feb 3, 2026
09ac552
Sam gov api key setting for organizations, bugfix (#81)
MichaelWalker-git Feb 3, 2026
8c610d1
fix: render outcomes, foia requests (#82)
MichaelWalker-git Feb 3, 2026
1453075
feat: Add e2e regression tests for Sentry errors
MichaelWalker-git Feb 4, 2026
ba9c53f
chore: Update branching strategy for production deployment
MichaelWalker-git Feb 4, 2026
ca634ca
test: Add comprehensive e2e tests for organization creation
MichaelWalker-git Feb 4, 2026
e26bf90
docs: Add design document for Textract to DeepSeek migration
MichaelWalker-git Feb 4, 2026
cd33960
fix: Add null checks for organization data (AUTO-RFP-5V/5W) (#84)
MichaelWalker-git Feb 4, 2026
4d382f1
fix: Add missing imports causing ReferenceErrors (AUTO-RFP-6*) (#85)
MichaelWalker-git Feb 4, 2026
07de27f
fix: Improve executive brief worker error handling (AUTO-RFP-5*) (#86)
MichaelWalker-git Feb 4, 2026
1c9f6c1
fix: Improve Textract pipeline error handling (AUTO-RFP-47/66/4P) (#87)
MichaelWalker-git Feb 4, 2026
ce57050
fix: Improve document indexing validation (AUTO-RFP-6E/6F) (#88)
MichaelWalker-git Feb 4, 2026
dcaf92e
fix: Resolve deployment pipeline failures - remove pnpm lock files (#89)
MichaelWalker-git Feb 4, 2026
207f4c0
Decouple API Stack (#83)
MichaelWalker-git Feb 5, 2026
f978b00
feat: update linear api key settings, add test deployment tasks for p…
MichaelWalker-git Feb 6, 2026
cab3dc6
feat: rename main branch to master (#92)
MichaelWalker-git Feb 6, 2026
ba7698f
feat: Add auto answer generation pipeline (#94)
MichaelWalker-git Feb 6, 2026
9a9fd14
Bugfix/rename main branch (#95)
MichaelWalker-git Feb 6, 2026
80585a3
update cdk (#97)
MichaelWalker-git Feb 6, 2026
c86717c
fix: update edit org
Feb 6, 2026
f1f9e13
fix: permissions
Feb 6, 2026
23a88cf
fix: brief stack
Feb 6, 2026
009be40
fix: cdk
Feb 6, 2026
e488263
Merge pull request #98 from MichaelWalker-git/bugfix/org_api
MichaelWalker-git Feb 6, 2026
19de883
fix: cdk
Feb 9, 2026
b471bd2
fix: cdk
Feb 9, 2026
5f3ee26
fix: cdk
Feb 9, 2026
b84a6ab
fix: add answers pagination
Feb 9, 2026
380cbf8
Merge pull request #99 from MichaelWalker-git/bugfix/cdk
MichaelWalker-git Feb 9, 2026
ef49fb5
feat: implement past performance feature
Feb 10, 2026
6c4b373
feat: implement past performance feature
Feb 10, 2026
d4062c5
Merge pull request #101 from MichaelWalker-git/feature/HOR-1425-past-…
MichaelWalker-git Feb 10, 2026
22c22a5
feat: calendar view and subscripton for deadlines
pyvovarova-kateryna Feb 10, 2026
f15e0c5
feat: calendar view and subscripton for deadlines
pyvovarova-kateryna Feb 10, 2026
14df219
feat: implement enhanced confidence score algorithm
Feb 10, 2026
e143308
Merge pull request #102 from MichaelWalker-git/feature/calendar-deadl…
MichaelWalker-git Feb 10, 2026
35a888b
Merge pull request #103 from MichaelWalker-git/feature/HOR-1420-imple…
MichaelWalker-git Feb 10, 2026
e3ad829
fix: bugfix
Feb 10, 2026
cc217e7
Merge pull request #104 from MichaelWalker-git/feature/HOR-1420-imple…
MichaelWalker-git Feb 10, 2026
c9868dc
fix: permissions to stop execution
pyvovarova-kateryna Feb 10, 2026
41cc6b8
Merge pull request #105 from MichaelWalker-git/fix/stop-execution
MichaelWalker-git Feb 10, 2026
f8a47b6
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
16ddc34
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
13e6a47
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
004b2a0
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
9499080
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
f0d4357
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
9700e9d
feat: update org icon, move export functionality to BE, add simple ve…
Feb 11, 2026
fbb6301
Merge pull request #107 from MichaelWalker-git/feat/rfp-document-uplo…
MichaelWalker-git Feb 11, 2026
72fa739
feat: add AWS Marketplace
MichaelWalker-git Feb 12, 2026
e1483aa
Merge pull request #108 from MichaelWalker-git/feat/aws-marketplace-tag
MichaelWalker-git Feb 12, 2026
acb57e5
feat: add first template management system, move pages, update user info
Feb 12, 2026
3745a40
Merge branch 'develop' into feature/HOR-1427-auto-rfp-phase-5-impleme…
Feb 12, 2026
d222e1c
feat: add first template management system, move pages, update user info
Feb 12, 2026
af560f7
feat: add first template management system, move pages, update user info
Feb 12, 2026
56cf432
Merge pull request #109 from MichaelWalker-git/feature/HOR-1427-auto-…
MichaelWalker-git Feb 12, 2026
f574688
feat: add Google Doc integration (problem with service account storag…
Feb 13, 2026
28df1f2
feat: add Google Doc integration (problem with service account storag…
Feb 16, 2026
91069fe
Merge pull request #110 from MichaelWalker-git/feature/google-sync
MichaelWalker-git Feb 16, 2026
7507491
feat: implement cross organization account access
Feb 17, 2026
e0c661d
feat: implement cross organization account access
Feb 17, 2026
35ce189
Merge pull request #111 from MichaelWalker-git/feature/implement-cros…
MichaelWalker-git Feb 17, 2026
e5805b3
feat: question clustering
pyvovarova-kateryna Feb 18, 2026
4a26473
feat: question clustering (test fix)
pyvovarova-kateryna Feb 18, 2026
d22fbdf
Merge pull request #112 from MichaelWalker-git/feature/question-clust…
MichaelWalker-git Feb 18, 2026
9356a84
feat: implement stale content detection system
Feb 18, 2026
e90e98a
Merge remote-tracking branch 'origin/develop' into feature/implement-…
Feb 18, 2026
abe5102
feat: implement stale content detection system
Feb 18, 2026
05f0935
feat: implement stale content detection system
Feb 18, 2026
9f610da
feat: implement stale content detection system
Feb 18, 2026
7fdc04f
feat: implement stale content detection system
Feb 18, 2026
31c3860
feat: implement stale content detection system
Feb 18, 2026
ec4f608
feat: implement stale content detection system
Feb 18, 2026
fec9f4c
feat: implement stale content detection system
Feb 18, 2026
aae0d14
feat: implement stale content detection system
Feb 18, 2026
2ac2d91
Merge pull request #113 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
978d0bd
feat: implement stale content detection system
Feb 18, 2026
69a60c4
Merge pull request #114 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
14b3d9b
feat: implement stale content detection system
Feb 18, 2026
8039169
Merge pull request #115 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
677300c
feat: implement stale content detection system
Feb 18, 2026
be4164a
Merge pull request #116 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
7885fae
feat: implement stale content detection system
Feb 18, 2026
834591d
Merge pull request #117 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
bf970d5
feat: implement stale content detection system
Feb 18, 2026
20f8d13
Merge pull request #118 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
e43d0ab
feat: implement stale content detection system
Feb 18, 2026
d9d6a9a
Merge pull request #119 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
f5a177d
feat: implement stale content detection system
Feb 18, 2026
c81bee4
Merge pull request #120 from MichaelWalker-git/feature/implement-stal…
MichaelWalker-git Feb 18, 2026
2ed0b30
feat: [Auto_RFP_Phase 6] Implement Team Collaboration Features
Feb 20, 2026
20bf3af
Merge pull request #122 from MichaelWalker-git/feature/auto-rfp-phase…
MichaelWalker-git Feb 20, 2026
c879ef7
feat: [Auto_RFP_Phase 6] Implement Notification System
Feb 23, 2026
ef754fd
feat: [Auto_RFP_Phase 6] Implement Notification System
Feb 23, 2026
657fd73
feat: [Auto_RFP_Phase 6] Implement Notification System
Feb 23, 2026
4466855
feat: [Auto_RFP_Phase 6] Implement Notification System
Feb 23, 2026
d3d14f9
Merge pull request #123 from MichaelWalker-git/feature/notification-s…
MichaelWalker-git Feb 23, 2026
a3e989c
feat: [Auto_RFP_Phase 6] Implement Audit Trail & Compliance Logging
Feb 23, 2026
7b75097
feat: [Auto_RFP_Phase 6] Implement Audit Trail & Compliance Logging
Feb 24, 2026
476dab4
Merge pull request #124 from MichaelWalker-git/feature/audit-trail-an…
MichaelWalker-git Feb 24, 2026
43f013a
feat: configure custom domain
Feb 24, 2026
99348a3
Merge pull request #125 from MichaelWalker-git/feature/custom-domain
MichaelWalker-git Feb 24, 2026
00272fc
feat: [Auto_RFP_Phase 5] Implement Template Management System
Feb 25, 2026
d5bae4b
feat: [Auto_RFP_Phase 5] Implement Template Management System
Feb 25, 2026
4099b4b
feat: [Auto_RFP_Phase 5] Implement Template Management System
Feb 25, 2026
7149d26
Merge pull request #127 from MichaelWalker-git/feature/template-manag…
MichaelWalker-git Feb 25, 2026
31d737c
feat: [HOR-1428] Implement Analytics Dashboard
Feb 26, 2026
4fdd0f5
feat: [HOR-1428] Implement Analytics Dashboard
Feb 27, 2026
683edee
feat: [HOR-1428] Implement Analytics Dashboard
Feb 27, 2026
79db68c
Merge pull request #128 from MichaelWalker-git/feature/org-analitics
MichaelWalker-git Feb 27, 2026
2484aee
feat: question perion engagement tools, opportunity-specific question…
pyvovarova-kateryna Feb 27, 2026
181fa47
Merge pull request #129 from MichaelWalker-git/feature/question-engag…
MichaelWalker-git Feb 27, 2026
36c513d
feat: implement required rfp docs
Feb 27, 2026
1fd3c22
Merge pull request #130 from MichaelWalker-git/feature/required-rfp-docs
MichaelWalker-git Feb 27, 2026
de1303d
feat: implement required rfp docs
Feb 27, 2026
9ab54c5
Merge pull request #131 from MichaelWalker-git/feature/required-rfp-docs
MichaelWalker-git Feb 27, 2026
cddb205
feat: implement required rfp docs
Feb 27, 2026
ba73f7c
Merge pull request #132 from MichaelWalker-git/feature/required-rfp-docs
MichaelWalker-git Feb 27, 2026
846294b
feat: Implement Bid/No-Bid Scoring Engine
Mar 2, 2026
5c490de
feat: implement required rfp docs
Mar 2, 2026
f497630
Merge pull request #133 from MichaelWalker-git/feature/implement-bidn…
MichaelWalker-git Mar 2, 2026
b1ce610
fix: engagement tools improvements
pyvovarova-kateryna Mar 3, 2026
3e987c2
fix: engagement tools improvements
pyvovarova-kateryna Mar 3, 2026
3781f15
Merge pull request #134 from MichaelWalker-git/fix/engagement-tools
MichaelWalker-git Mar 3, 2026
cb423b8
feat: implement ai tools approach, add primary contact
Mar 3, 2026
3a9a39b
feat: implement ai tools approach, add primary contact
Mar 3, 2026
7cdc658
Merge pull request #135 from MichaelWalker-git/feature/ai-tools-approach
MichaelWalker-git Mar 3, 2026
b8367dc
feat: [Auto_RFP_Phase 6] AWS Partner Portal Integration - Auto Credit…
Mar 4, 2026
eadd7f9
Merge pull request #137 from MichaelWalker-git/feature/aws-partner-po…
MichaelWalker-git Mar 4, 2026
8a6a7fc
feat: Implement Submission Process
Mar 5, 2026
8aecaba
feat: Implement Submission Process
Mar 5, 2026
aa856c1
Merge pull request #138 from MichaelWalker-git/feature/submission
MichaelWalker-git Mar 5, 2026
62aa20a
feat: Version Comparison
pyvovarova-kateryna Mar 6, 2026
ec3e924
Merge pull request #139 from MichaelWalker-git/feature/version-compar…
MichaelWalker-git Mar 6, 2026
3ef1037
fix: update rfp document template usage
Mar 6, 2026
a5b983b
Merge remote-tracking branch 'origin/develop' into bugfix/rfp-template
Mar 6, 2026
b5000dd
fix: update rfp document template usage
Mar 6, 2026
7a913f2
fix: update rfp document template usage
Mar 6, 2026
f6e098f
fix: update rfp document template usage
Mar 6, 2026
625e70d
fix: update rfp document template usage
Mar 6, 2026
e4c4a72
fix: update rfp document template usage
Mar 6, 2026
9f0f624
fix: update rfp document template usage
Mar 6, 2026
3bbc363
fix: update rfp document template usage
Mar 6, 2026
530c8a1
Merge pull request #140 from MichaelWalker-git/bugfix/rfp-template
MichaelWalker-git Mar 6, 2026
25ad708
feat: version comparison
pyvovarova-kateryna Mar 6, 2026
0c62ad8
Merge pull request #141 from MichaelWalker-git/feature/version-compar…
MichaelWalker-git Mar 6, 2026
18654f4
fix: sentry
Mar 10, 2026
d52b629
Merge pull request #143 from MichaelWalker-git/bugfix/sentry
MichaelWalker-git Mar 10, 2026
2ae3aac
feat: add project contact
Mar 10, 2026
3be85e5
feat: add project contact
Mar 10, 2026
7d463fd
Merge pull request #145 from MichaelWalker-git/bugfix/project-contact
MichaelWalker-git Mar 10, 2026
5dd60aa
feat: update rfp export functionality
Mar 11, 2026
1d57927
Merge pull request #147 from MichaelWalker-git/bugfix/rfp-document-ex…
MichaelWalker-git Mar 11, 2026
6cade32
feat: [HOR-1415] Implement Submission Compliance Checker
Mar 11, 2026
2644584
Merge pull request #148 from MichaelWalker-git/feature/implement-subm…
MichaelWalker-git Mar 11, 2026
0f5db9a
fix: question pipeline
pyvovarova-kateryna Mar 11, 2026
a4033df
Merge pull request #149 from MichaelWalker-git/fix/question-extraction
MichaelWalker-git Mar 11, 2026
90f9a0f
feat: update apn integration
Mar 13, 2026
101eee6
feat: update apn integration
Mar 13, 2026
4bb9ed9
Merge pull request #151 from MichaelWalker-git/feature/apn
MichaelWalker-git Mar 13, 2026
e620f00
feat: improve approve-reject feature
Mar 16, 2026
01bb3c9
feat: improve approve-reject feature
Mar 16, 2026
96a431d
feat: improve approve-reject feature
Mar 16, 2026
e70fbc3
feat: improve approve-reject feature
Mar 16, 2026
25beebc
Merge pull request #152 from MichaelWalker-git/feature/approve-reject…
MichaelWalker-git Mar 16, 2026
8008dd0
feat: export clarifying questions
pyvovarova-kateryna Mar 16, 2026
c3e2660
Merge pull request #153 from MichaelWalker-git/feature/qa-export
MichaelWalker-git Mar 16, 2026
63594dd
feat: pricing
Mar 17, 2026
8ca3414
Merge pull request #155 from MichaelWalker-git/feature/pricing
MichaelWalker-git Mar 17, 2026
e2e3775
feat: update rfp document generation, improve template apply, update UI
Mar 18, 2026
ba9a788
feat: update rfp document generation, improve template apply, update UI
Mar 18, 2026
42dc761
feat: dark mode support across all components + UX improvements
pyvovarova-kateryna Mar 19, 2026
2b8cec2
feat: dark mode support across all components + UX improvements
pyvovarova-kateryna Mar 19, 2026
2a73642
feat: dark mode support across all components + UX improvements
pyvovarova-kateryna Mar 19, 2026
f5e83ee
Merge pull request #157 from MichaelWalker-git/fix/ux-improvements
MichaelWalker-git Mar 19, 2026
00f6e4b
feat: update rfp document generation, improve template apply, update UI
Mar 19, 2026
af919f7
Merge pull request #156 from MichaelWalker-git/bugfix/rfp-document-ge…
MichaelWalker-git Mar 19, 2026
f031292
fix: Document generation outputs raw [CONTENT: ...] placeholders inst…
Mar 20, 2026
82552b4
Merge pull request #158 from MichaelWalker-git/bugfix/document-genera…
MichaelWalker-git Mar 20, 2026
baaaec4
fix: Project Creation Error
Mar 23, 2026
ac3687e
Merge pull request #160 from MichaelWalker-git/bugfix/project-creatio…
MichaelWalker-git Mar 23, 2026
8a5feea
fix: brief relevancy scoring, KB access control
pyvovarova-kateryna Mar 23, 2026
8730641
fix: brief relevancy scoring, KB access control
pyvovarova-kateryna Mar 23, 2026
1316ded
Merge pull request #162 from MichaelWalker-git/bugfix/scoring-issues
MichaelWalker-git Mar 23, 2026
25911a4
fix: Pinecone error
Mar 24, 2026
e235bcd
Merge branch 'develop' into bugfix/project-creation-error
Mar 24, 2026
a80d301
fix: Pinecone error
Mar 24, 2026
3ce993b
fix: Pinecone error
Mar 24, 2026
ef2f055
fix: Pinecone error
Mar 24, 2026
718397f
Merge pull request #163 from MichaelWalker-git/bugfix/project-creatio…
MichaelWalker-git Mar 24, 2026
a9e0622
fix: [HOR-1885] Failed Fetch Error to AWS East
Mar 25, 2026
6190ef3
fix: [HOR-1885] Failed Fetch Error to AWS East
Mar 25, 2026
e25817f
Merge pull request #165 from MichaelWalker-git/bugfix/failed-fetch-er…
MichaelWalker-git Mar 25, 2026
c9dce49
fix: Contact section Zoderror
pyvovarova-kateryna Mar 25, 2026
70819b5
Merge pull request #166 from MichaelWalker-git/bugfix/contact-zod-error
MichaelWalker-git Mar 25, 2026
1124c89
feat: approve all q&a button to content library
Mar 25, 2026
3d6e471
Merge pull request #167 from MichaelWalker-git/feature/approve-all-co…
MichaelWalker-git Mar 25, 2026
22dfbaf
feat: approve all q&a button to content library
Mar 25, 2026
6d1db33
feat: resend invitation
Mar 25, 2026
8bc125f
Merge pull request #168 from MichaelWalker-git/feature/improve-login-ux
MichaelWalker-git Mar 25, 2026
795eac0
feat: resend invitation
Mar 25, 2026
fbb5da5
Merge pull request #170 from MichaelWalker-git/bugfix/email
MichaelWalker-git Mar 25, 2026
6c40230
feat: resend invitation
Mar 25, 2026
112a3d8
Merge pull request #171 from MichaelWalker-git/bugfix/email
MichaelWalker-git Mar 25, 2026
fbbb213
fix: cluster answers, approve all questions, sentry spans
pyvovarova-kateryna Mar 26, 2026
87f4cc3
Merge pull request #174 from MichaelWalker-git/bugfix/consecutive-http
MichaelWalker-git Mar 26, 2026
2542129
feat: AI Chat for RFP Documents
Mar 27, 2026
f709312
feat: AI Chat for RFP Documents
Mar 27, 2026
f7a6ee5
Merge pull request #175 from MichaelWalker-git/feature/ai-chat-for-rf…
MichaelWalker-git Mar 27, 2026
2b8c7ea
fix: avoid using local env for setting up pinecone api key
Mar 30, 2026
43519dd
Merge pull request #177 from MichaelWalker-git/bugfix/pinecone-api-key
MichaelWalker-git Mar 30, 2026
ca22d4f
fix: [HOR-1911] Project not visible after creation
Mar 31, 2026
62f30d2
Merge pull request #178 from MichaelWalker-git/bugfix/project-not-vis…
MichaelWalker-git Mar 31, 2026
3aef4e7
feature: [HOR-1910] Export all for generated RFP documents
Mar 31, 2026
c16051e
Merge pull request #179 from MichaelWalker-git/feature/export-all-for…
MichaelWalker-git Mar 31, 2026
e7c1349
chore: update CLAUDE.md to reflect current monorepo structure
Mar 31, 2026
770f14e
Merge pull request #180 from MichaelWalker-git/chore/update-claude-md
MichaelWalker-git Mar 31, 2026
84b3b0d
fix: add fallback for undefined status in badge components
Mar 31, 2026
d0a3ac5
Merge pull request #182 from MichaelWalker-git/bugfix/badge-icon-unde…
MichaelWalker-git Mar 31, 2026
8195cd3
feat: assign users to project and opportunities
pyvovarova-kateryna Mar 31, 2026
94ac3ad
Merge pull request #184 from MichaelWalker-git/feature/project-assign
MichaelWalker-git Mar 31, 2026
29d6d0a
filter questions by oppurtunityid rather than entire project
ivan5355 Mar 31, 2026
c7c522e
fix: skip export tests for unimplemented functions
ivan5355 Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
141 changes: 141 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

**AutoRFP** is an AI-powered RFP response automation platform for government contractors. Core capabilities: RFP document processing, AI answer generation (RAG), executive briefs, proposal generation, SAM.gov integration, and knowledge base management.

## Monorepo Structure

```
auto_rfp/ # pnpm workspaces monorepo
├── apps/
│ ├── web/ # Next.js App Router frontend (Tailwind 4, Shadcn UI, SWR)
│ └── functions/ # AWS Lambda handlers (Node.js 20, ESM)
├── packages/
│ ├── core/ # Shared Zod schemas & inferred TypeScript types (tsup, vitest)
│ └── infra/ # AWS CDK stacks (API Gateway, DynamoDB, Cognito, S3, etc.)
└── scripts/ # Utility scripts
```

## Commands

All commands use `pnpm`. Run from the monorepo root unless noted.

```bash
# Root-level
pnpm build # Build all packages
pnpm dev # Start web dev server
pnpm test # Run all tests
pnpm lint # Lint all packages

# Core schemas (packages/core)
cd packages/core
pnpm build # Build with tsup (required before web/functions can import)
pnpm test # Run vitest schema tests

# Lambda functions (apps/functions)
cd apps/functions
pnpm test # Run all Jest tests
pnpm test -- --testPathPattern=handlers/answer # Run tests for a specific domain
pnpm test -- path/to/file.test.ts # Run a single test file

# Web app (apps/web)
cd apps/web
pnpm dev # Dev server (port 3000)
pnpm build # Production build
pnpm test # Jest unit/component tests
pnpm test:e2e # Playwright e2e tests
pnpm test:e2e:ui # Playwright with UI
pnpm lint # ESLint

# Infrastructure (packages/infra)
cd packages/infra
pnpm test # CDK/Jest tests

# Deployments (from root)
pnpm deploy:dev # Deploy all CDK stacks to dev
pnpm deploy:dev:hotswap # Hotswap deploy (faster for Lambda changes)
pnpm deploy:dev:api # Deploy only API stack to dev
```

### Build Order

`packages/core` must be built first — both `apps/web` and `apps/functions` depend on it:
```bash
cd packages/core && pnpm build # Always rebuild after changing schemas
```

### Type Checking

```bash
cd apps/functions && pnpm build # tsc (checks types)
cd apps/web && npx tsc --noEmit # Type-check without emitting
cd packages/infra && pnpm build # tsc
```

## Architecture

### Backend (apps/functions)

Lambda handlers are organized by domain in `src/handlers/<domain>/`. Each handler follows a thin pattern:
1. Parse event → 2. Validate with Zod (destructure `safeParse`) → 3. Call helper → 4. Return `apiResponse()`

Key directories:
- `src/handlers/` — Thin Lambda handlers grouped by domain (~30 domains)
- `src/helpers/` — Business logic, DynamoDB operations, AI integrations
- `src/constants/` — PK constants, config values
- `src/middleware/` — Middy middleware (auth, RBAC, error handling)
- `src/types/` — DynamoDB item types extending core schemas with PK/SK

DynamoDB uses single-table design. All operations go through `src/helpers/db.ts` (`createItem`, `getItem`, `queryBySkPrefix`, etc.). PK constants are in `src/constants/`. SK strings are built via helper functions — never manually.

### Frontend (apps/web)

Next.js App Router with Feature-Sliced Design:
- `app/` — Pages and layouts (route groups: `(auth)`, `(dashboard)`)
- `features/` — Domain modules with `components/`, `hooks/`, `lib/`, `index.ts` barrel exports
- `components/ui/` — Shadcn UI primitives
- `lib/hooks/` — Shared SWR data-fetching hooks
- `context/` — Auth, organization providers

State: SWR for server state, AWS Amplify for auth, `nuqs` for URL state.

### Infrastructure (packages/infra)

CDK stacks in `lib/`. API routes defined in `api/routes/<domain>.routes.ts` and registered in `api/api-orchestrator-stack.ts`.

### Shared Types (packages/core)

All domain types are Zod schemas in `src/schemas/`. Types are always inferred via `z.infer<>` — never defined manually. Built with tsup to ESM + CJS.

## Git Workflow

- **develop** — Main development branch. PRs target here. Deploys to staging.
- **production** — Customer-facing. Updated only via Release workflow.
- Create feature branches from `develop`, open PRs to `develop`.

## Key Conventions

Detailed rules are in `.claude/rules/`. The most critical ones:

- **No `any` type.** Use `unknown` with type guards, or specific type assertions.
- **All types from Zod.** `type Foo = z.infer<typeof FooSchema>` — never manual interfaces for domain types.
- **`const` arrow functions** for all function definitions (except Next.js page/layout defaults).
- **Destructure `safeParse`** immediately: `const { success, data, error } = Schema.safeParse(raw)`.
- **`orgId` from request body/query/path** — never from JWT token or `event.auth`.
- **Use `apiResponse()`** from `@/helpers/api` for all REST responses.
- **No raw DynamoDB SDK in handlers** — use helpers from `@/helpers/db` or domain helpers.
- **Skeleton loading states** — never spinners or "Loading..." text.
- **Shadcn UI components** — never raw HTML elements for buttons, inputs, etc.
- **Tests are co-located** with source files (e.g., `create-foo.ts` → `create-foo.test.ts`).
- **Test the exported business function directly**, not the middy-wrapped handler.
- **Mock middy and AWS SDK before imports** in test files.

## Lessons Learned

- When modifying handler parameters, update ALL corresponding test files.
- All React hooks must be called before any conditional returns.
- Mock function names must exactly match the imported function names.
- After changing core schemas, rebuild `packages/core` before running dependent tests.
144 changes: 144 additions & 0 deletions .claude/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Claude Code Configuration

This directory contains configuration and rules for [Claude Code](https://claude.ai/code).

## Directory Structure

```
.claude/
├── README.md # This file
├── settings.json # Team settings (tracked in git)
├── settings.local.json # Personal settings (gitignored)
├── agents/ # Custom agents for specialized workflows
│ ├── feature-implementer.md # End-to-end feature implementation
│ ├── code-reviewer.md # Convention compliance & security audit
│ └── test-generator.md # Comprehensive test suite generation
├── skills/ # Reusable skills (10 skills)
│ ├── audit-logging/SKILL.md # Audit trail logging for handlers & services
│ ├── backend-test/SKILL.md # Jest tests with AWS SDK & middy mocking
│ ├── cdk-route/SKILL.md # API Gateway routes with Lambda integration
│ ├── dynamodb-helper/SKILL.md # DynamoDB helpers with SK builders & CRUD
│ ├── e2e-test/SKILL.md # Playwright E2E tests with auth fixtures
│ ├── frontend-feature/SKILL.md # Feature modules (hooks, components, pages)
│ ├── frontend-form/SKILL.md # Forms with react-hook-form & Zod validation
│ ├── lambda/SKILL.md # Lambda handlers with middy & Sentry
│ ├── step-function/SKILL.md # Step Functions pipelines with CDK
│ └── zod-schema/SKILL.md # Zod schemas with types & DTOs
└── rules/ # Project rules (tracked in git)
├── 01-project-structure.md
├── 02-typescript-best-practices.md
├── 03-entity-definitions.md
├── 04-backend-architecture.md
├── 05-dynamodb-design.md
├── 06-frontend-architecture.md
├── 07-infrastructure.md
├── 08-cicd.md
├── 09-testing.md
├── RULES.md
├── README.md
├── cost-optimization.md
├── next-js.md
├── web-development.md
└── workflows/
├── architecture.md
└── implementation.md
```

## 🤖 Agents

Agents are specialized personas that can be invoked in Claude Code to handle specific workflows. Use them with `/agent <name>` in Claude Code.

### 1. Feature Implementer (`feature-implementer`)

**When to use**: Building a new feature end-to-end across the monorepo.

Implements features in the correct dependency order:
```
Core Schemas → Constants → Helpers → Lambda Handlers → CDK Routes → CDK Infra → Frontend Hooks → Components → Tests
```

**Example prompts**:
- `"Implement the FOIA request feature from docs/FOIA-IMPLEMENTATION.md"`
- `"Build a new notifications CRUD with REST API and React UI"`
- `"Add a deadline extraction feature with DynamoDB storage and frontend display"`

---

### 2. Code Reviewer (`code-reviewer`)

**When to use**: Auditing code for correctness, security, and convention compliance before merging.

Checks 30+ rules across TypeScript, backend, frontend, DynamoDB, testing, and audit trail categories. Produces a structured report at `docs/reviews/`.

**Example prompts**:
- `"Review the answer feature"`
- `"Review apps/functions/src/handlers/clustering/"`
- `"Security review the auth handlers"`
- `"Review apps/web/components/brief/helpers.ts"`

**Output**: Structured markdown report with severity levels (🔴 Critical, 🟡 Warning, 🔵 Info) and a compliance summary table.

---

### 3. Test Generator (`test-generator`)

**When to use**: Writing comprehensive tests for handlers, helpers, schemas, or components.

Generates tests with proper AWS SDK mocking, covers all code paths (happy path, validation, not-found, guards, errors, edge cases), and follows project conventions.

**Example prompts**:
- `"Write tests for apps/functions/src/handlers/document/download-document.ts"`
- `"Write tests for the brief feature"`
- `"Write schema tests for packages/core/src/schemas/project.ts"`
- `"Write tests for apps/web/components/brief/"`

---

## 🛠️ Skills

Skills are reusable instruction sets that Claude Code can activate for specific tasks. Each skill provides step-by-step templates and hard rules for a particular type of work.

| # | Skill | Description | Trigger Example |
|---|---|---|---|
| 1 | **`zod-schema`** | Create Zod schemas with types, Create/Update DTOs, barrel exports | `"Create a schema for notifications"` |
| 2 | **`lambda`** | Lambda handler with middy, Zod validation, audit, Sentry | `"Create a handler to list notifications"` |
| 3 | **`cdk-route`** | API Gateway route with Lambda integration in CDK | `"Add API routes for the notification domain"` |
| 4 | **`dynamodb-helper`** | DynamoDB helpers with SK builders and CRUD operations | `"Create DynamoDB helpers for notifications"` |
| 5 | **`frontend-feature`** | Feature module with hooks, components, pages (FSD) | `"Create the notifications frontend feature"` |
| 6 | **`frontend-form`** | Form page with react-hook-form, Zod, Shadcn UI | `"Create a notification create/edit form"` |
| 7 | **`backend-test`** | Jest tests with AWS SDK mocking, middy mocking | `"Write tests for the create-notification handler"` |
| 8 | **`e2e-test`** | Playwright E2E tests with auth fixtures, page objects | `"Write E2E tests for the notifications feature"` |
| 9 | **`audit-logging`** | Audit trail logging with proper actions and patterns | `"Add audit logging to the notification handlers"` |
| 10 | **`step-function`** | Step Functions pipelines with CDK for async workflows | `"Create a notification delivery pipeline"` |

---

## Rules Directory

The `rules/` directory contains markdown files that Claude Code automatically reads when working on this project. These rules define:

- **Project conventions** and coding standards
- **Architecture patterns** for backend and frontend
- **Database design** patterns
- **Testing requirements**
- **CI/CD workflows**

These files are synced from `.clinerules/` to ensure consistency across different AI coding assistants.

## Settings

- `settings.json` - Team-wide Claude Code settings (tracked in git)
- `settings.local.json` - Personal Claude Code settings (gitignored)

## Syncing Rules

To update Claude Code rules from clinerules:

```bash
cp -r .clinerules/* .claude/rules/
```

## Learn More

- [Claude Code Documentation](https://docs.claude.ai/code)
- [Project Rules in .clinerules/](../.clinerules/README.md)
Loading