Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
daabc48
Add architecture diagram and transcripts
NotTheMountainLion Dec 8, 2025
14dece6
Add bootstrap.sh script to automate app startup
NotTheMountainLion Dec 8, 2025
f9e8155
Reorganize bootstrap script and add test suite
NotTheMountainLion Dec 8, 2025
98bf296
Add clickable frontend URL and expand test coverage
NotTheMountainLion Dec 8, 2025
a597174
feat: rewrite services in python using FastAPI
ajw-slalom Dec 8, 2025
6ff6edf
Add Speckit configuration and Cursor AI rules
ironchef001 Dec 8, 2025
13be864
feat: rewrite frontend in nextjs
ajw-slalom Dec 8, 2025
73ad14b
Fix Maven build failure and enhance Java/CQL support
NotTheMountainLion Dec 8, 2025
51bbe4b
Add OpenAPI/Swagger specifications for all microservices
NotTheMountainLion Dec 8, 2025
1694e3f
Add Python parity tests for all microservices
NotTheMountainLion Dec 8, 2025
7a3a23b
Merge pull request #10 from charlieslalom/feature/install-speckit
ajw-slalom Dec 8, 2025
1ef3f40
Merge pull request #3 from charlieslalom/parity-tests-python
parametrization Dec 8, 2025
7d58ba9
Merge pull request #2 from charlieslalom/swagger_docs
parametrization Dec 8, 2025
a85f294
initial spec verification program untested
jbrady100 Dec 8, 2025
dc0f40a
Add comprehensive constitution for cloud-native e-commerce platform
ironchef001 Dec 9, 2025
524a4cf
Add modernization plan and reorganize documentation
ironchef001 Dec 9, 2025
ccb4784
add feature spec
NotTheMountainLion Dec 9, 2025
306f3b9
moving mermaid arch and high level features spec to its own folder.
NotTheMountainLion Dec 9, 2025
6c3948b
add-speckit-copilot
ironchef001 Dec 9, 2025
ee11d72
Refactor constitution: Extract business requirements
ironchef001 Dec 9, 2025
eb19778
Merge pull request #11 from charlieslalom/build-constitution
jbrady100 Dec 9, 2025
638e50a
Merge branch 'master' into add-speckit-copilot
ironchef001 Dec 9, 2025
f5cd366
update
jbrady100 Dec 9, 2025
59a5c51
Add stakeholder interview documentation
ajw-slalom Dec 9, 2025
ef87142
Merge pull request #12 from charlieslalom/add-speckit-copilot
parametrization Dec 9, 2025
4c928a7
moving files.
NotTheMountainLion Dec 9, 2025
9a85911
Merge branch 'master' into build-modernization-plan
ironchef001 Dec 9, 2025
00c7bb3
Update stakeholder interview documentation with new insights
ajw-slalom Dec 9, 2025
1ab3f28
Merge pull request #14 from charlieslalom/move_input_docs
ajw-slalom Dec 9, 2025
7daca88
Merge branch 'master' into build-modernization-plan
ironchef001 Dec 9, 2025
d6d8e81
Merge pull request #13 from charlieslalom/interview-docs
parametrization Dec 9, 2025
44926f7
Merge pull request #15 from charlieslalom/requirements-generator-prompt
parametrization Dec 9, 2025
2603101
Merge pull request #16 from charlieslalom/validate-spec
jbrady100 Dec 9, 2025
9eb04f4
Add modernization plan document
ironchef001 Dec 9, 2025
0f0d305
Merge pull request #17 from charlieslalom/build-modernization-plan
parametrization Dec 9, 2025
2a3c0bc
Consolidate business requirements into high-level features document
ironchef001 Dec 9, 2025
d654c51
Remove redundant business-requirements.md after consolidation
ironchef001 Dec 9, 2025
1a82284
Merge pull request #18 from charlieslalom/build-modernization-plan-2
parametrization Dec 9, 2025
ff55b5c
agents and slash commands for developer workflow.
NotTheMountainLion Dec 9, 2025
d49130b
Implement #19: Make the website more pretty
NotTheMountainLion Dec 9, 2025
d5f7568
Add run_local agent and slash command
NotTheMountainLion Dec 9, 2025
5823870
Add Claude Code local settings
NotTheMountainLion Dec 9, 2025
cf84a5e
Add verification tests for Issue #19
NotTheMountainLion Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .claude/agents/bootstrap-script.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Bootstrap Script Agent

Create a bash script that automates the setup and running of this application.

## Instructions

1. Follow the README.md file and create a bash script called `bootstrap.sh` saved in the `/scripts` folder
2. The script should follow all commands under "Running the app on host" and "Build and run" sections
3. For each command, write out a log that appends a line indicating:
- The command to be run
- Success or failure of that command
- If there was an error, write the error or error code to that line
- If it is an error code, attempt to map that to the text of the error code

## Requirements

- Add the option to run non-interactively, passing a flagged override variable
- Create logic to determine which operating system is running (macOS, Windows, Linux)
- Provide usage information when given a `-h` or `--help` flag
- If any prerequisites are missing, add those to the script
- If there are steps that require human intervention, note that as a comment and log message

## Testing

- Create a `/tests` directory under `/scripts`
- Create a suite of unit tests that covers all script functionality, input options, and error cases
- Use BATS (Bash Automated Testing System) or similar shell testing framework
- Execute tests and report the pass rate

## Documentation

- Update the README.md to use the shell script as an alternative to running all steps manually
- Document any prerequisites or steps that require human intervention
- Add a README.md under `scripts/tests` describing setup, install steps, and how to execute tests
59 changes: 59 additions & 0 deletions .claude/agents/feature-discovery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Feature Discovery Agent

Analyze the application to derive and document all major features and subfeatures.

## Instructions

1. Browse the application (localhost:8080) and recursively analyze links and pages
2. Perform multiple "random walks" through the website structure
3. Create a file called `high_level_features.md` in the repository root

## Methodology

Feature discovery should include:

### 1. Frontend Route Analysis
- Examine React Router configuration to identify all navigable pages
- Document URL patterns and route parameters

### 2. Navigation Component Inspection
- Analyze NavBar and Footer components
- Discover all user-facing navigation links

### 3. API Endpoint Mapping
- Trace REST API controllers in microservices
- Document controller responsibilities

### 4. Component Deep Dive
- Read individual React components
- Understand feature implementation details

### 5. Data Model Analysis
- Examine domain objects and entities
- Understand data relationships

### 6. Service Logic Review
- Analyze backend service implementations
- Document business logic flows

## Output Format

The `high_level_features.md` should include:

1. **Methodology Section** - Explain the approach used for discovery
2. **Major Feature Areas** - Numbered sections for each major feature
3. **Subfeatures** - Detailed breakdown under each major feature
4. **Microservices Architecture** - Table of services and responsibilities
5. **Data Storage** - Database layer documentation
6. **Feature Summary Matrix** - Table showing implemented vs not implemented features

## Categories to Consider

- Product Catalog
- Shopping Cart
- Checkout & Orders
- User Authentication
- Homepage & Marketing
- Navigation & UI
- Search functionality
- Recommendations
29 changes: 29 additions & 0 deletions .claude/agents/gh-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# GitHub Issue Creation Agent

Create a new GitHub issue in the active repository with an `issue_ingestion` label.

## Instructions

1. Ask the user for:
- **Title**: A concise title for the issue
- **Description**: A detailed description of the issue

2. Create the issue using the GitHub CLI (`gh`) with:
- The provided title
- The provided description as the body
- The label `issue_ingestion`

## Command

```bash
gh issue create --title "<title>" --body "<description>" --label "issue_ingestion"
```

## Notes

- If the `issue_ingestion` label does not exist in the repository, create it first:
```bash
gh label create "issue_ingestion" --description "Issue created via ingestion process" --color "0E8A16"
```
- Ensure the user is authenticated with `gh auth status`
- Return the issue URL upon successful creation
175 changes: 175 additions & 0 deletions .claude/agents/issue-implementor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
# Issue Implementor Agent

Implement GitHub issues that have been processed and labeled `ingested`.

## Instructions

### 1. Issue Selection (Auto-Prioritization Mode)

List all open issues with the `ingested` label:
```bash
gh issue list --label "ingested" --state open --json number,title,body,labels
```

Analyze each issue and score complexity based on:
- Number of files likely to be modified
- Number of services affected
- Dependencies on other features
- Estimated lines of code
- Integration complexity

Select the **least complex** issue to implement first.

### 2. Issue Selection (Chooser Mode)

Skip prioritization and implement the specific issue number provided by the user.

### 3. Branch Creation

Create a feature branch named after the issue number:
```bash
git checkout -b issue-<number>
```

### 4. Implementation

#### Backend Changes (Python)
All backend changes go in the `python_services/` directory:
- Follow existing patterns in the codebase
- Create or modify service files
- Update API endpoints as needed
- Add database migrations if required

#### Frontend Changes (Next.js)
All frontend changes go in the `nextjs-frontend/` directory:
- Follow existing component patterns
- Update pages/routes as needed
- Add/modify API client calls
- Update styles following existing conventions

### 5. Test-Driven Development

#### Unit Tests First
Before writing implementation code:
1. Create unit test files following project conventions
2. Write tests that cover:
- Happy path scenarios
- Edge cases
- Error handling
- Boundary conditions

#### Backend Tests (`python_services/`)
```python
# tests/test_<feature>.py
import pytest

class Test<Feature>:
def test_<scenario>(self):
# Arrange, Act, Assert
pass
```

#### Frontend Tests (`nextjs-frontend/`)
```javascript
// __tests__/<component>.test.tsx
import { render, screen } from '@testing-library/react'

describe('<Component>', () => {
it('should <behavior>', () => {
// Test implementation
})
})
```

### 6. Implementation Iteration

Iterate until:
- [ ] All unit tests pass
- [ ] Code coverage > 80% for files touched
- [ ] No linting errors
- [ ] Type checks pass (if applicable)

#### Check Coverage

**Python:**
```bash
cd python_services
pytest --cov=. --cov-report=term-missing --cov-fail-under=80
```

**Next.js:**
```bash
cd nextjs-frontend
npm run test -- --coverage --coverageThreshold='{"global":{"lines":80}}'
```

### 7. Verification Loop

```
while (tests_failing OR coverage < 80%):
if tests_failing:
analyze_failure()
fix_code_or_test()
if coverage < 80%:
identify_uncovered_lines()
add_tests_for_uncovered_code()
run_tests()
```

### 8. Completion

Once all criteria are met:
1. Stage all changes: `git add .`
2. Create commit with descriptive message referencing the issue:
```bash
git commit -m "Implement #<number>: <issue title>

- <summary of changes>
- Tests added with >80% coverage

Closes #<number>"
```
3. Report summary of:
- Files created/modified
- Test count and pass rate
- Coverage percentage
- Any notes or follow-up items

### 9. Label Update

Update the issue label:
```bash
gh issue edit <number> --remove-label "ingested" --add-label "implemented"
```

Create the label if it doesn't exist:
```bash
gh label create "implemented" --description "Issue has been implemented and is ready for review" --color "0E8A16"
```

## Directory Structure Reference

```
python_services/
├── src/
│ └── <service>/
├── tests/
│ └── test_<feature>.py
└── requirements.txt

nextjs-frontend/
├── src/
│ ├── components/
│ ├── pages/
│ └── lib/
├── __tests__/
└── package.json
```

## Quality Gates

- [ ] All tests pass
- [ ] Coverage > 80% on touched files
- [ ] No new linting errors
- [ ] Code follows existing patterns
- [ ] Acceptance criteria from issue are met
Loading