build: Set up the monorepo workspace. Ensure the root README describes a pro...
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
This commit is contained in:
parent
8928bd8225
commit
4416aaf6d9
20
Dockerfile
20
Dockerfile
@ -1,8 +1,22 @@
|
||||
# Default Dockerfile - replace with your application
|
||||
# Stage 1: Install dependencies and build
|
||||
FROM node:18-alpine AS build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json package-lock.json* ./
|
||||
COPY packages/shared/package.json ./packages/shared/
|
||||
COPY packages/web/package.json ./packages/web/
|
||||
|
||||
RUN npm install --ignore-scripts
|
||||
|
||||
COPY packages/ ./packages/
|
||||
|
||||
RUN npm run build
|
||||
|
||||
# Stage 2: Serve
|
||||
FROM nginx:alpine
|
||||
|
||||
# Copy static files or your app
|
||||
COPY . /usr/share/nginx/html/
|
||||
COPY --from=build /app/packages/web/dist /usr/share/nginx/html/
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
|
||||
52
README.md
52
README.md
@ -1,19 +1,49 @@
|
||||
# foundary-1770666514
|
||||
# Foundary
|
||||
|
||||
Deployed at: https://ks9ftyd2.threesix.ai
|
||||
Foundary is a product studio for conversational product development. It provides the tools and infrastructure to go from idea to shipped product through structured conversation — turning dialogue into design decisions, code, and deployable artifacts.
|
||||
|
||||
## Getting Started
|
||||
## How it works
|
||||
|
||||
1. Clone the repository
|
||||
2. Build with Docker: `docker build -t foundary-1770666514 .`
|
||||
3. Run locally: `docker run -p 8080:8080 foundary-1770666514`
|
||||
1. **Converse** — Describe what you want to build in plain language. Foundary captures intent, constraints, and requirements through iterative dialogue.
|
||||
2. **Shape** — Conversations produce concrete specs, wireframes, and architecture decisions stored as version-controlled artifacts.
|
||||
3. **Build** — Specs flow into implementation. Shared libraries, components, and business logic live in a unified monorepo so everything stays in sync.
|
||||
4. **Ship** — Every push to `main` triggers an automated build and deployment pipeline. Products go live continuously.
|
||||
|
||||
## CI/CD
|
||||
## Repository structure
|
||||
|
||||
This project uses Woodpecker CI for continuous deployment. Pushing to `main` will:
|
||||
- Build a Docker image
|
||||
- Push to the container registry
|
||||
- Deploy to Kubernetes
|
||||
This is an npm workspaces monorepo. All packages live under `packages/`:
|
||||
|
||||
```
|
||||
packages/
|
||||
shared/ — shared types, utilities, and constants (@foundary/shared)
|
||||
web/ — web application (@foundary/web)
|
||||
```
|
||||
|
||||
## Getting started
|
||||
|
||||
```bash
|
||||
# Install all dependencies
|
||||
npm install
|
||||
|
||||
# Run all workspaces in dev mode
|
||||
npm run dev
|
||||
|
||||
# Build all workspaces
|
||||
npm run build
|
||||
|
||||
# Run tests across all workspaces
|
||||
npm run test
|
||||
```
|
||||
|
||||
## Deployment
|
||||
|
||||
Pushes to `main` trigger automatic deployment via Woodpecker CI:
|
||||
|
||||
1. Build Docker image
|
||||
2. Push to container registry
|
||||
3. Update Kubernetes deployment
|
||||
|
||||
Live at: https://ks9ftyd2.threesix.ai
|
||||
|
||||
## Resources
|
||||
|
||||
|
||||
18
package.json
Normal file
18
package.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "foundary",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Foundary — a product studio for conversational product development",
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "npm run build --workspaces --if-present",
|
||||
"dev": "npm run dev --workspaces --if-present",
|
||||
"lint": "npm run lint --workspaces --if-present",
|
||||
"test": "npm run test --workspaces --if-present"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
}
|
||||
12
packages/shared/package.json
Normal file
12
packages/shared/package.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@foundary/shared",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Shared types, utilities, and constants for Foundary",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"build": "echo 'No build configured yet'",
|
||||
"lint": "echo 'No linter configured yet'",
|
||||
"test": "echo 'No tests configured yet'"
|
||||
}
|
||||
}
|
||||
1
packages/shared/src/index.js
Normal file
1
packages/shared/src/index.js
Normal file
@ -0,0 +1 @@
|
||||
// @foundary/shared — shared types, utilities, and constants
|
||||
15
packages/web/package.json
Normal file
15
packages/web/package.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "@foundary/web",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Foundary web application",
|
||||
"scripts": {
|
||||
"dev": "echo 'No dev server configured yet'",
|
||||
"build": "echo 'No build configured yet'",
|
||||
"lint": "echo 'No linter configured yet'",
|
||||
"test": "echo 'No tests configured yet'"
|
||||
},
|
||||
"dependencies": {
|
||||
"@foundary/shared": "*"
|
||||
}
|
||||
}
|
||||
1
packages/web/src/index.js
Normal file
1
packages/web/src/index.js
Normal file
@ -0,0 +1 @@
|
||||
// @foundary/web — web application entry point
|
||||
Loading…
Reference in New Issue
Block a user