Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
105 changes: 104 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1 +1,104 @@
### contribution guide [merge from /dev here]
# Contributing to Cofounder

We welcome contributions to Cofounder! Whether you're interested in fixing bugs, adding new features, or improving documentation, your help is appreciated. This document outlines how to get started.

## Getting Started / Development Setup

This project is now a Yarn workspaces monorepo.

**Prerequisites:**

* **Node.js:** Please use Node.js version 22 (as mentioned in the main `README.md`). You can use a version manager like `nvm` to manage Node.js versions.
* **Yarn:** This project uses Yarn for package management. If you don't have Yarn installed, you can install it via npm: `npm install --global yarn`.

**Installation:**

1. **Clone the repository:**
```bash
git clone https://github.com/your-username/cofounder.git # Replace with the actual repository URL
cd cofounder
```
2. **Install dependencies:**
At the root of the project, run `yarn install` (or `yarn bootstrap` as defined in the root `package.json`) to install all dependencies for all packages within the monorepo.
```bash
yarn install
# or
# yarn bootstrap
```

## Running the Applications

The Cofounder monorepo consists of several packages. Here’s how to run the main ones:

* **Cofounder API (`@cofounder/api`):**
To start the API server, run the following command from the root directory of the monorepo:
```bash
yarn workspace @cofounder/api start
```
* **Dashboard (`@cofounder/dashboard`):**
To start the development server for the dashboard, run the following command from the root directory:
```bash
yarn workspace @cofounder/dashboard dev
```
* **Generated Applications (`apps/...`):**
Applications generated by Cofounder reside in the `apps/` directory (e.g., `apps/YourAppName`). These are separate projects with their own dependencies and runtimes. To run a generated app:
1. Navigate to its directory: `cd apps/YourAppName`
2. Follow the instructions in its specific `README.md` file. Typically, this involves installing its dependencies and starting its development server (e.g., `npm i && npm run dev` or `yarn && yarn dev`).
* **Boilerplate Projects (`@cofounder/boilerplate-main`):**
To run the main boilerplate project, which concurrently starts both the boilerplate frontend and backend services, use the following command from the root directory:
```bash
yarn workspace @cofounder/boilerplate-main dev
```
This will typically utilize the scripts within `@cofounder/boilerplate-backend-boilerplate` and `@cofounder/boilerplate-vitereact-boilerplate`.

## Code Style & Linting

We use ESLint for linting to maintain code consistency across the project.

* Please ensure your code adheres to the project's ESLint rules before submitting contributions.
* To lint all packages, run the following command from the root directory:
```bash
yarn lint
```
(This script is defined in the root `package.json` and executes the `lint` script in each workspace).

## Testing

* To run tests for all packages (if applicable and test scripts are defined in workspaces), execute the following command from the root directory:
```bash
yarn test
```
* We strongly encourage adding tests for any new features or bug fixes to maintain code quality and prevent regressions.

## Commit Message Standards

We encourage the use of [Conventional Commits](https://www.conventionalcommits.org/) for commit messages. This format helps in automatically generating changelogs and makes the project history easier to understand.

**Format:** `type(scope): subject`

* **type:** `feat` (new feature), `fix` (bug fix), `docs` (documentation), `style` (code style), `refactor`, `test`, `chore`, etc.
* **scope:** (Optional) The part of the project affected (e.g., `api`, `dashboard`, `node-llm`).
* **subject:** A concise description of the change.

**Examples:**
* `feat(api): add new endpoint for project status`
* `fix(dashboard): resolve issue with form submission`
* `docs: update ARCHITECTURE.md with new component details`

## Submitting Pull Requests

1. **Fork the repository** on GitHub.
2. **Create a new branch** for your feature or bug fix: `git checkout -b feat/my-new-feature` or `fix/address-specific-bug`.
3. **Make your changes,** including adding relevant tests and updating documentation as needed.
4. **Ensure your code lints and tests pass:** Run `yarn lint` and `yarn test`.
5. **Push your branch** to your fork: `git push origin feat/my-new-feature`.
6. **Open a pull request** against the `main` branch of the original Cofounder repository.
7. **Provide a clear description** of your changes in the pull request, outlining what was changed and why. Reference any relevant issues.

## Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms. (Assuming a `CODE_OF_CONDUCT.md` file exists or will be added. If not, this line can be adjusted or removed).

---

Thank you for considering contributing to Cofounder!
1 change: 1 addition & 0 deletions cofounder/api/db/index/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"version":1,"metadata_config":{},"items":[]}
5 changes: 4 additions & 1 deletion cofounder/api/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{
"name": "@cofounder/api",
"version": "1.0.0",
"type": "module",
"aliases": {
"@": "."
},
"scripts": {
"start:npx": "npm i && nodemon --loader esm-module-alias/loader --no-warnings server.js",
"start:npx": "nodemon --loader esm-module-alias/loader --no-warnings server.js",
"start": "nodemon --loader esm-module-alias/loader --no-warnings server.js"
},
"nodemonConfig": {
Expand All @@ -16,6 +18,7 @@
"@anthropic-ai/sdk": "^0.27.3",
"@google-cloud/storage": "^7.12.1",
"@resvg/resvg-js": "^2.6.2",
"ajv": "^8.12.0",
"async-retry": "^1.3.3",
"colormap": "^2.3.2",
"cors": "^2.8.5",
Expand Down
2 changes: 1 addition & 1 deletion cofounder/boilerplate/backend-boilerplate/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "backend",
"name": "@cofounder/boilerplate-backend-boilerplate",
"version": "1.0.0",
"description": "generated by cofounder backend layer",
"author": "[email protected]",
Expand Down
6 changes: 3 additions & 3 deletions cofounder/boilerplate/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "boilerplate",
"name": "@cofounder/boilerplate-main",
"version": "1.0.0",
"description": "",
"description": "Main package for running boilerplate frontend and backend together",
"main": "index.js",
"scripts": {
"dev": "concurrently \"cd vitereact && npm i && npm run dev\" \"cd backend && npm i && npm run start\""
"dev": "concurrently \"yarn workspace @cofounder/boilerplate-vitereact-boilerplate dev\" \"yarn workspace @cofounder/boilerplate-backend-boilerplate start\""
},
"author": "",
"license": "ISC",
Expand Down
4 changes: 2 additions & 2 deletions cofounder/boilerplate/vitereact-boilerplate/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "conductor",
"name": "@cofounder/boilerplate-vitereact-boilerplate",
"private": true,
"version": "0.0.0",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
Loading