Initial Coworker app scaffold
This commit is contained in:
72
README.md
Normal file
72
README.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Coworker
|
||||
|
||||
Coworker is a Windows-first local AI coding app. It is designed like a focused desktop coding assistant: open a project, connect a local model, talk to the agent, inspect files, review diffs, and keep useful context in Brain.
|
||||
|
||||
## Features
|
||||
|
||||
- Codex-style desktop workflow for coding sessions.
|
||||
- Local model provider setup for Ollama, LM Studio, and custom OpenAI-compatible endpoints.
|
||||
- Brain with persistent memories and reusable skills.
|
||||
- Workspace file preview with path confinement.
|
||||
- Optional Web/PWA access for iPhone and iPad, disabled by default and protected by pairing codes.
|
||||
- Windows installer produced by Gitea Actions on Ubuntu runners.
|
||||
|
||||
## Development
|
||||
|
||||
Project setup, dependency installation, builds, tests, audits, packaging, and releases run in Gitea Actions. Do not run heavy project commands on the user's local machine.
|
||||
|
||||
Runner commands:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run lint
|
||||
npm run test
|
||||
npm run build
|
||||
npm run package:win
|
||||
```
|
||||
|
||||
Lightweight local validation:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## Windows Installer
|
||||
|
||||
The first release artifact is:
|
||||
|
||||
```text
|
||||
release/Coworker-Setup-<version>.exe
|
||||
release/SHA256SUMS.txt
|
||||
```
|
||||
|
||||
The installer is unsigned until a Windows code-signing certificate is configured. The app can check Gitea releases for updates, but silent auto-update is intentionally deferred until signing exists.
|
||||
|
||||
## Web/PWA Access
|
||||
|
||||
Web access is disabled by default. Enable it in Settings, choose localhost or LAN/Tailscale binding, then create a pairing code. Open the displayed URL on iPhone or iPad and add Coworker to the Home Screen.
|
||||
|
||||
Security defaults:
|
||||
|
||||
- pairing is required,
|
||||
- device tokens are stored hashed,
|
||||
- paired devices can be revoked in a future settings panel,
|
||||
- workspace access stays inside selected project folders.
|
||||
|
||||
## Architecture
|
||||
|
||||
```text
|
||||
apps/desktop Electron main process, preload bridge, React renderer
|
||||
packages/core Agent, Brain, provider, pairing, and shared types
|
||||
docs release, security, and project handoff documents
|
||||
.gitea/workflows Gitea CI, installer, security, and release automation
|
||||
```
|
||||
|
||||
## Release
|
||||
|
||||
1. Ensure the Gitea build workflow succeeds.
|
||||
2. Update `CHANGELOG.md`.
|
||||
3. Create a `v*` tag.
|
||||
4. Let the release workflow upload the installer and checksum to Gitea.
|
||||
|
||||
Do not create a release from a local build.
|
||||
Reference in New Issue
Block a user