Skip to content
Closed

---void #6915

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
e290bbf
personal: save development work (skill, docs, logs)
stevenvo Jan 2, 2026
5d89bbf
feat: add 1M context support for Claude Sonnet 4.5 via env vars
stevenvo Jan 2, 2026
eee12bb
Add Q/A count and first message preview to session listing
stevenvo Jan 2, 2026
7884181
Merge branch 'steven/personal-dev-work' into steven/1m-context-sonnet…
stevenvo Jan 2, 2026
76365b9
Fix bin/opencode ESM module error and add CODEOWNERS
stevenvo Jan 2, 2026
402dd4f
Merge pull request #1 from GeoComply/geocomply-dev
stevenvo Jan 2, 2026
54713b9
Update README with comprehensive development setup guide
stevenvo Jan 2, 2026
c9659c3
Add GeoComply fork features section to README
stevenvo Jan 2, 2026
a8cd1ff
Merge pull request #2 from GeoComply/geocomply-dev
stevenvo Jan 2, 2026
d638120
Add GeoComply fork section to top-level README
stevenvo Jan 2, 2026
e8b489b
Merge pull request #3 from GeoComply/geocomply-dev
stevenvo Jan 2, 2026
fcdab64
chore: configure @geocomply/opencode for GitHub Packages publishing
stevenvo Jan 4, 2026
4c2ba53
chore: rename amazon-writing skill to narrative-writing
stevenvo Jan 4, 2026
a4c18b5
fix: repair orphaned tool calls on session load
stevenvo Jan 4, 2026
358af0b
chore: update dependencies and workspace references for @geocomply/op…
stevenvo Jan 4, 2026
f1a3104
chore: add root build script delegator
stevenvo Jan 4, 2026
97ba7f9
chore: remove unnecessary root build script
stevenvo Jan 4, 2026
1a89633
docs: update git workflow for new branch structure
stevenvo Jan 4, 2026
26803cd
fix(tui): make bash outputs respect "Show tool details" toggle
stevenvo Jan 5, 2026
a74b481
fix(tui): add null safety checks for session().parentID to prevent ra…
stevenvo Jan 5, 2026
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
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Default code owner for all files
* @stevenvo
105 changes: 105 additions & 0 deletions .opencode/skill/narrative-writing/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
name: narrative-writing
description: Write documents using Amazon's clear, data-driven writing style for executive communication
---

# Narrative Writing Style

Apply these principles when writing documents, proposals, or executive communications.

## Sentence Structure

Use short sentences. Keep sentences under 30 words. One idea per sentence. Subject-verb-object order.

Bad: "The implementation of the new system, which we have been working on for several months, could potentially lead to significant improvements in efficiency."

Good: "The new system increases efficiency by 20%. Implementation takes three months."

## Replace Adjectives with Data

Remove subjective words. Use specific numbers instead.

Bad: "Our product has excellent customer satisfaction."
Good: "Our product has 95% customer satisfaction."

Bad: "We saw significant cost savings."
Good: "We saved $43,000 annually."

Bad: "The team achieved outstanding results."
Good: "The team reduced deployment time from 4 hours to 15 minutes."

## Eliminate Weasel Words

Remove words that weaken claims: may, might, could, potentially, possibly, somewhat, fairly, quite, rather.

Bad: "This approach might reduce costs."
Good: "This approach reduces costs by 30%."

Bad: "The feature could potentially improve performance."
Good: "The feature improves response time from 200ms to 50ms."

## Remove Adverbs and Qualifiers

Cut words like: very, really, extremely, significantly, substantially, I think, it seems, in my opinion.

Bad: "This is a very important initiative."
Good: "This initiative saves $100K annually."

Bad: "I think we should consider this approach."
Good: "This approach reduces errors by 40%."

## Apply the So-What Test

Every paragraph must answer: Why does this matter? What action should the reader take?

Bad: "We completed the migration project last quarter."
Good: "We completed the migration last quarter. This reduced infrastructure costs by $50K monthly. We recommend applying the same approach to the payments system."

## Use Plain Language

Avoid jargon. Define technical terms on first use. Write for readers unfamiliar with your domain.

Bad: "We need to leverage our synergies to optimize the value stream."
Good: "We need to combine the two teams to reduce handoffs."

## Document Structure

Start with the conclusion. State the recommendation first. Support with data. End with next steps.

Structure:

1. Purpose (one sentence)
2. Background (context the reader needs)
3. Current state (data)
4. Proposal (what you recommend)
5. Open questions (what you don't know)
6. Next steps (concrete actions)

## Tables Over Prose

Use tables to compare options or show data. Tables are faster to scan than paragraphs.

Bad: "Option A costs $10K and takes 2 weeks. Option B costs $15K and takes 1 week. Option C costs $8K and takes 3 weeks."

Good:
| Option | Cost | Time |
|--------|------|------|
| A | $10K | 2 weeks |
| B | $15K | 1 week |
| C | $8K | 3 weeks |

## When to Use This Skill

Use when writing:

- Executive proposals
- Business cases
- Status updates for leadership
- Technical decisions with business impact
- Any document where clarity and data matter

Do not use for:

- Creative writing
- Marketing copy
- Casual communication
224 changes: 224 additions & 0 deletions GIT_WORKFLOW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
# Git Workflow & Push Rules

## Repository Structure

This repo has multiple remotes with different purposes:

```
origin → https://github.com/sst/opencode.git (PUBLIC - upstream)
fork → git@github.com:stevenvo/opencode.git (PUBLIC - your fork)
geocomply → git@github.com:GeoComply/opencode.git (PRIVATE - GeoComply fork)
haoxiangliew → https://github.com/haoxiangliew/opencode.git (PUBLIC - reference)
```

## Branch Structure

**GeoComply Private Branches:**

- `geocomply/main` - Stable/production branch (for npm package builds)
- `geocomply/dev` - Active development branch (your daily work)

**Public Upstream Mirror:**

- `upstream-dev` - Local mirror of `origin/dev` (sst/opencode public repo)
- Pull latest public changes here, then sync to private branches

**Personal Branches:**

- `steven/*` - Your experimental/personal work branches

## Push Rules (Enforced by pre-push hook)

### ✅ ALLOWED

**To `geocomply` remote (GeoComply private repo):**

- ✅ `geocomply-dev` branch (main private development branch)
- ✅ `feature/*` branches (new features)
- ✅ `fix/*` branches (bug fixes)
- ✅ `chore/*` branches (maintenance)
- ✅ `docs/*` branches (documentation)
- ✅ `steven/*` branches (personal work)

### ❌ BLOCKED

**Cannot push to:**

- ❌ `origin` (sst/opencode) - public upstream
- ❌ `fork` (stevenvo/opencode) - your public fork
- ❌ `haoxiangliew` - reference remote
- ❌ `dev`, `main`, `master` branches to any remote

## Workflows

### Workflow 1: Private Development (GeoComply only)

For features/fixes that stay private:

```bash
# Work on dev branch
git checkout dev
# ... make changes ...
git add .
git commit -m "feat: add private feature"
git push geocomply dev
```

### Workflow 2: Sync Public Upstream Changes

Pull latest from public repo and merge into private:

```bash
# Update upstream mirror
git checkout upstream-dev
git pull origin dev

# Merge into private main
git checkout main # or create branch from main
git merge upstream-dev
# Resolve conflicts if any

# Push to private repo
git push geocomply main
```

### Workflow 3: Feature Branch (Private)

For organized private development:

```bash
# Create feature branch from dev
git checkout dev
git checkout -b feature/my-feature

# ... make changes ...
git add .
git commit -m "feat: implement my feature"
git push geocomply feature/my-feature

# Create PR on GitHub: feature/my-feature → geocomply/dev
# After merge, delete branch
```

### Workflow 4: Contributing to Public Upstream

For features that should go to public sst/opencode:

```bash
# Start from latest public upstream
git checkout upstream-dev
git pull origin dev
git checkout -b feature/public-contribution

# ... make changes ...
git add .
git commit -m "feat: public feature"

# Push to your PUBLIC fork (NOT directly)
git push fork feature/public-contribution

# Create PR on GitHub: stevenvo/opencode:feature/public-contribution → sst/opencode:dev
```

### Workflow 5: Both Private AND Public

For features that need to be in both repos:

```bash
# 1. Develop on private first
git checkout dev
git checkout -b feature/shared-feature
# ... make changes ...
git commit -m "feat: shared feature"
git push geocomply feature/shared-feature

# 2. Create PR to geocomply/dev, merge it

# 3. Cherry-pick or rebase for public contribution
git checkout upstream-dev
git pull origin dev
git checkout -b feature/shared-feature-public
git cherry-pick <commit-hash> # or rebase onto upstream-dev

# 4. Push to your fork for public PR
git push fork feature/shared-feature-public

# 5. Create PR: stevenvo/opencode:feature/shared-feature-public → sst/opencode:dev
```

## Branch Naming Convention

| Pattern | Purpose | Example |
| --------------- | ------------------------ | -------------------- |
| `geocomply-dev` | Main private development | `geocomply-dev` |
| `feature/*` | New features | `feature/1m-context` |
| `fix/*` | Bug fixes | `fix/session-crash` |
| `chore/*` | Maintenance | `chore/update-deps` |
| `docs/*` | Documentation | `docs/update-readme` |
| `steven/*` | Personal branches | `steven/experiment` |

## Publishing Packages

### Private NPM Package (@geocomply/opencode)

```bash
# From geocomply-dev branch
cd packages/opencode
npm version patch # or minor/major
npm publish
```

See `packages/opencode/PUBLISHING.md` for details.

## Safety Features

### Pre-push Hook

Located at `.husky/pre-push`, this hook:

1. **Blocks direct pushes** to public repos (origin, fork)
2. **Allows only approved branches** to geocomply remote
3. **Warns on non-standard** branch names
4. **Provides helpful guidance** when blocked

### Override (Emergency Use Only)

To bypass the hook (NOT recommended):

```bash
git push --no-verify geocomply geocomply-dev
```

## Quick Reference

```bash
# Check current remote setup
git remote -v

# Check current branch
git branch --show-current

# See which remote a branch tracks
git branch -vv

# Safe push to private repo
git push geocomply geocomply-dev

# BLOCKED - will fail
git push origin dev
git push fork main
```

## Questions?

- **"I want to work on a private feature"** → Use `geocomply-dev` or `feature/*` branch
- **"I want to contribute upstream"** → Use `feature/*` branch, push to `fork`, create PR to `origin`
- **"I need both private and public"** → Develop on `geocomply-dev`, cherry-pick to public branch
- **"Push was blocked, why?"** → Check the error message, it tells you what to do

## Summary

**Golden Rule:**

- `geocomply` remote = private development (always allowed)
- `origin`/`fork` remotes = public contributions (only via PRs, never direct push)
32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,38 @@

---

## GeoComply Fork

This is a GeoComply fork of OpenCode with additional features:

- **1M Token Context Window**: Extended context support for Claude Sonnet 4.5 models via environment variables
- **Direct Development**: Run directly from GitHub checkout without installation

For detailed development setup and fork-specific features, see [packages/opencode/README.md](./packages/opencode/README.md).

### Quick Start (Development)

```bash
# Clone and run directly
git clone git@github.com:GeoComply/opencode.git
cd opencode
bun install
cd packages/opencode
bun dev
```

### Enable 1M Context (Claude Sonnet 4.5)

```bash
# For Anthropic Direct API
export ANTHROPIC_1M_CONTEXT=true

# For Google Vertex AI Anthropic
export VERTEX_ANTHROPIC_1M_CONTEXT=true
```

---

### Installation

```bash
Expand Down
Loading