diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 32d9592..b93e50b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,56 +1,39 @@ -# Pull Request +## Summary -## Description + - +- ## Type of Change + + - [ ] Bug fix -- [ ] New feature -- [ ] Breaking change +- [ ] New feature / enhancement - [ ] Documentation update -- [ ] Refactoring -- [ ] Dependency update - -## Related Issue - - -Fixes # +- [ ] Refactor (no behavior change) +- [ ] Chore (dependencies, CI, tooling) ## Changes Made - + -- -- -- +Resolves # -## Testing +## How to Test - + -- [ ] Tested locally with Docker -- [ ] Tested with OpenAI provider -- [ ] Tested with Ollama provider -- [ ] Tested all affected endpoints -- [ ] Verified frontend functionality +1. ## Checklist -- [ ] Code follows project style guidelines -- [ ] Self-review completed -- [ ] Comments added for complex code -- [ ] Documentation updated (if needed) -- [ ] No breaking changes (or documented if unavoidable) -- [ ] All tests pass locally -- [ ] No secrets or API keys committed -- [ ] `.env` files not committed - -## Screenshots - - +- [ ] I have read the [Contributing Guide](../CONTRIBUTING.md) +- [ ] My branch is up to date with `main` +- [ ] New environment variables (if any) are documented in `.env.example` and the README +- [ ] No secrets, API keys, or credentials are included in this PR +- [ ] I have tested my changes locally -## Additional Notes +## Screenshots (if applicable) - + diff --git a/README.md b/README.md index 8bc149f..21788a3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +

+ Company Logo +

+ # SpecForge — AI-Powered System Design Spec Generator An AI-powered application that generates comprehensive system design specifications. Input your project idea, answer targeted questions, and receive a detailed architectural specification with diagrams, data models, API designs, and implementation plans — powered by any OpenAI-compatible LLM endpoint or locally running Ollama model. diff --git a/backend/Dockerfile b/backend/Dockerfile index 3ddbbd9..bbc93a9 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -11,6 +11,12 @@ RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY . . +# Create non-root user and switch to it +RUN adduser --disabled-password --gecos '' appuser && \ + chown -R appuser:appuser /app + +USER appuser + # Expose port EXPOSE 8000 diff --git a/docs/assets/InnovationHub-HeaderImage.png b/docs/assets/InnovationHub-HeaderImage.png new file mode 100644 index 0000000..0558e37 Binary files /dev/null and b/docs/assets/InnovationHub-HeaderImage.png differ diff --git a/frontend/.vite/deps/_metadata.json b/frontend/.vite/deps/_metadata.json new file mode 100644 index 0000000..8d188d5 --- /dev/null +++ b/frontend/.vite/deps/_metadata.json @@ -0,0 +1,8 @@ +{ + "hash": "9c9ce344", + "configHash": "2fbe75f3", + "lockfileHash": "c9a90dd2", + "browserHash": "dc81674d", + "optimized": {}, + "chunks": {} +} \ No newline at end of file diff --git a/frontend/.vite/deps/package.json b/frontend/.vite/deps/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/frontend/.vite/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 5319cec..f1da255 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -8,6 +8,12 @@ RUN npm ci COPY . . +# Create non-root user and switch to it +RUN adduser -D appuser && \ + chown -R appuser:appuser /app + +USER appuser + EXPOSE 3000 ENV VITE_API_BASE_URL=http://localhost:8000