Content
# OpenCodeStarterPack
<p align="center">
<a href="#english">🇬🇧 English</a> •
<a href="#russian">🇷🇺 Русский</a>
</p>
<a id="english"></a>
**One-command starter kit for [OpenCode](https://opencode.ai).** Skills, MCP configs, rules, and prompts — modular, presettable, and updatable.
```bash
# Choose your install method:
curl -fsSL https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/install.sh | bash
npx opencode-starter-pack
# or
npx OpenCodeStarterPack
brew install https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/Formula/opencode-starter-pack.rb
git clone https://github.com/PETERGS27/OpenCodeStarterPack.git
```
---
## Quick Start (for the impatient)
```bash
curl -fsSL https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/install.sh | bash
```
The wizard will ask where your Obsidian vault is (or create a new one) and guide you through choosing the components you need.
After installation:
1. Open that folder in **Obsidian** (Open vault → Open folder as vault)
2. Install **Local REST API** plugin (Settings → Community Plugins)
3. Run `cd <your-vault> && opencode`
4. Type `/start` inside opencode to see available skills
---
## Prerequisites
Before installing, make sure you have:
1. **[Obsidian](https://obsidian.md)** installed with at least one vault created
2. **Node.js** >= 18 (the installer can install it for you)
3. **Git** (optional, for cloning)
The vault you create with this starter pack is meant to be opened in Obsidian. All skills and rules expect Obsidian to be the frontend for your notes.
---
## Features
- **8 ready-to-use skills** — web-extract, research, raw-processor, sandbox, mcp-manager, vault-analyzer, skill-creator, and a blank template
- **6 MCP configs** — Obsidian, Docker, Git, Sandbox, ByteStash, Context7
- **Rules + AGENTS.md** — vault management rules and AI agent instructions with persistent memory (meta-files)
- **5 prompts** — code-review, debug, refactor, architecture, explain
- **4 presets** — minimal, study, full, custom
- **Idempotent** — safe to re-run, never overwrites without confirmation
- **Multi-platform** — macOS, Linux, Windows
---
## Presets
| Preset | Vault Structure + Rules + Meta | Skills | MCP | Prompts |
|--------|:-----------------------------:|:------:|:---:|:-------:|
| **minimal** | ✅ mandatory | — | — | — |
| **study** | ✅ mandatory | research, web-extract, raw-processor, vault-analyzer | Obsidian, Context7 | — |
| **full** | ✅ mandatory | all 7 | all 6 | all 5 |
| **custom** | ✅ mandatory | you choose ✅ | you choose ✅ | you choose ✅ |
### minimal
Just the vault skeleton, OpenCode config, rules, and AGENTS.md with persistent memory. No extras. For those who want to start from scratch.
### study
For students who take notes in Obsidian. Research tools, web extraction, raw data processing, and vault analysis. No dev tools.
### full
Everything — all skills, MCP servers, prompts, and rules. For programmers, engineers, and anyone building their own AI tools.
### custom
Pick exactly what you need with interactive checkboxes.
---
## Installation
### curl | bash (no prerequisites)
```bash
curl -fsSL https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/install.sh | bash
```
If Node.js is detected, the interactive wizard launches automatically. If not, you'll be asked whether to install it.
### npx (requires Node.js)
```bash
npx opencode-starter-pack
# or
npx OpenCodeStarterPack
```
Interactive wizard with full module selection, configuration, and apply.
### flags
```bash
curl -fsSL https://.../install.sh | bash -s -- \
--preset full \
--dir ~/Documents/MyVault \
--non-interactive
```
| Flag | Description |
|------|-------------|
| `--preset <name>` | Skip the wizard, use a preset: minimal, study, full |
| `--dir <path>` | Target directory for the vault |
| `--non-interactive` | No prompts, use all defaults |
| `--help` | Show usage |
### brew (macOS)
```bash
brew install https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/Formula/opencode-starter-pack.rb
```
### git clone
```bash
git clone https://github.com/PETERGS27/OpenCodeStarterPack.git
cd OpenCodeStarterPack
./install.sh
```
---
## What gets installed
### Vault structure
```
vault/
├── .opencode/
│ ├── skills/ # Copied from selected modules
│ └── rules/ # vault-rules.md + agents-instruct.md
├── INBOX/
│ ├── AI_READED/ # For web-extract skill
│ └── RAW/ # For raw-processor skill
├── FILES/ # Organized notes by topic
├── DESKTOP/ # Active workspace
├── CACHE/AI/ # Meta-files (AGENTS.md, STRUCTURE.md, etc.)
├── INDEXES/ # Reading list and topic indexes
├── README.md # Vault dashboard
└── opencode.json # OpenCode config with MCP
```
### Skills
| Skill | Description |
|-------|-------------|
| **web-extract** | Extract content from web pages and YouTube videos with transcription |
| **research** | Search the web, filter results, add to reading list |
| **raw-processor** | Scan INBOX/, cluster by topic, create indexes, distribute to FILES/ |
| **sandbox** | Docker-based code sandbox (C/C++/Python) |
| **mcp-manager** | Add/remove MCP servers |
| **vault-analyzer** | Analyze vault structure, find orphans, suggest connections |
| **skill-creator** | Create new skills interactively |
| **template** | Blank skill template for your own skills |
### MCP configs
| MCP | Type |
|-----|------|
| **Obsidian** | Remote (Local REST API) |
| **Docker** | Local (npx docker-mcp) |
| **Git** | Local (npx @cyanheads/git-mcp-server) |
| **Sandbox** | Local (npx server-filesystem) |
| **ByteStash** | Remote (self-hosted snippet manager) |
| **Context7** | Remote (documentation search) |
### Prompts
| Prompt | Use case |
|--------|----------|
| **code-review** | Review code for bugs, style, and best practices |
| **debug** | Systematic debugging workflow |
| **refactor** | Safe refactoring with test preservation |
| **architecture** | System design and architecture decisions |
| **explain** | Explain code or concepts in detail |
---
## Updating
```bash
# If installed via curl | bash (git clone):
cd /path/to/OpenCodeStarterPack && git pull && ./install.sh
# If installed via npm:
npm update -g opencode-starter-pack
# If installed via brew:
brew reinstall https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/Formula/opencode-starter-pack.rb
```
The updater detects what's already installed and only adds/changes what's new. Existing customizations are preserved.
---
## Development
```bash
git clone https://github.com/PETERGS27/OpenCodeStarterPack.git
cd OpenCodeStarterPack
npm install
./install.sh --dir /tmp/test-vault --non-interactive
```
### Project structure
```
OpenCodeStarterPack/
├── README.md # This file
├── install.sh # Bash entry point (curl | bash)
├── package.json # npm entry point
├── src/wizard.js # Interactive Node.js CLI
├── modules/
│ ├── index.json # Module manifest
│ ├── skills/ # Skill templates (*/SKILL.md)
│ ├── mcp/ # MCP configs (*.json)
│ ├── rules/ # Vault rules + AGENTS template
│ └── prompts/ # Coding prompts (*.md)
├── presets/ # Preset definitions (*.json)
├── init/ # Apply + update scripts
└── Formula/ # Homebrew formula
```
---
## Obsidian Setup for OpenCode
For full functionality with OpenCode, configure Obsidian as follows:
### 1. Local REST API plugin
- Open Obsidian → Settings → Community Plugins → Browse
- Search and install **"Local REST API"** (by Coddington)
- Enable it → copy the API token
- You'll need this token for `opencode.json`
### 2. Recommended plugins
- **Terminal** — run shell commands inside Obsidian (for quick launch scripts)
- **Surfing** — a web browser inside Obsidian (required if using ByteStash + quick launch)
- **Excalidraw** — whiteboard/diagrams (recommended for vault-analyzer skill)
### 3. Obsidian settings
- Settings → Files & Links → **Automatically update internal links** → enable
- Settings → Editor → **Spell check** → as you prefer
- Settings → Hotkeys → optionally set hotkeys for opencode integration
### 4. Vault path
The vault created by this starter pack (`opencode-vault` by default) should be opened as an Obsidian vault:
```
Open Obsidian → Open another vault → Open folder as vault → select the directory
```
---
## Built on [OpenCode](https://opencode.ai)
OpenCodeStarterPack is a community starter kit for **OpenCode** — an open-source AI coding assistant distributed under the [MIT License](https://github.com/anomalyco/opencode/blob/main/LICENSE).
Original author: **anomalyco** ([OpenCode on GitHub](https://github.com/anomalyco/opencode))
---
## Third-Party Components
This project includes configurations for the following third-party components, each with its own license:
| Component | Author | License | Notes |
|-----------|--------|---------|-------|
| [docker-mcp](https://www.npmjs.com/package/docker-mcp) | dazza | MIT | MCP server for Docker |
| [@cyanheads/git-mcp-server](https://www.npmjs.com/package/@cyanheads/git-mcp-server) | cyanheads | MIT | MCP server for Git |
| [@modelcontextprotocol/server-filesystem](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem) | Anthropic / MCP team | MIT | MCP filesystem sandbox |
| [Context7](https://context7.com) | Context7 team | Commercial | Requires **free registration** at context7.com |
| [ByteStash](https://github.com/jordanistan/bytestash) | jordanistan | MIT | Self-hosted snippet manager |
| Obsidian MCP config | [PETERGS27](https://github.com/PETERGS27) | MIT | Custom configuration template |
| ByteStash MCP config | [PETERGS27](https://github.com/PETERGS27) | MIT | Custom configuration template |
All custom MCP configurations in this pack are distributed under the MIT License by [PETERGS27](https://github.com/PETERGS27).
---
## Glossary
| Term | What it means |
|------|---------------|
| **Vault** | An Obsidian folder — a collection of your notes and settings |
| **OpenCode** | An AI coding assistant that works from your terminal |
| **MCP** | Model Context Protocol — a way to connect OpenCode to other tools (Obsidian, Docker, Git) |
| **MCP server** | A small program that lets OpenCode talk to a specific tool (e.g., "Obsidian MCP" lets OpenCode read and write your notes) |
| **Skill** | A set of instructions that teaches OpenCode how to do a specific task (e.g., "research" skill searches the web) |
| **Preset** | A pre-defined combination of skills, MCP servers, and prompts (e.g., "study" preset has research tools, "full" has everything) |
| **API key** | A secret code that lets OpenCode connect to an AI provider (like Anthropic or OpenAI) or a service (like Context7) |
| **Local REST API** | An Obsidian plugin that allows other programs (like OpenCode) to read and write your notes |
| **Token** | A password-like string that proves OpenCode has permission to access your Obsidian vault |
| **npm** | A package manager for JavaScript — used to install OpenCodeStarterPack via `npx` |
| **brew / Homebrew** | A package manager for macOS — an alternative way to install software |
| **Terminal** | The app where you type commands (Terminal.app on macOS, PowerShell on Windows) |
---
## Update
```bash
# If installed via curl | bash (git clone):
cd /path/to/OpenCodeStarterPack && git pull && ./install.sh
# If installed via npm:
npm update -g opencode-starter-pack
# If installed via brew:
brew reinstall https://raw.githubusercontent.com/PETERGS27/OpenCodeStarterPack/main/Formula/opencode-starter-pack.rb
```
The updater determines what is already installed and only adds/replaces new items. Existing customizations are preserved.
## Development
```bash
git clone https://github.com/PETERGS27/OpenCodeStarterPack.git
cd OpenCodeStarterPack
npm install
./install.sh --dir /tmp/test-vault --non-interactive
```
### Project Structure
```
OpenCodeStarterPack/
├── README.md # This file
├── install.sh # Bash entry point (curl | bash)
├── package.json # npm entry point
├── src/wizard.js # Interactive Node.js CLI
├── modules/
│ ├── index.json # Module manifest
│ ├── skills/ # Skill templates (*/SKILL.md)
│ ├── mcp/ # MCP configs (*.json)
│ ├── rules/ # Vault rules + AGENTS template
│ └── prompts/ # Coding prompts (*.md)
├── presets/ # Preset definitions (*.json)
├── init/ # Apply & update scripts
└── Formula/ # Homebrew formula
```
## Configuring Obsidian for OpenCode
For full functionality with OpenCode, configure Obsidian as follows:
### 1. Local REST API Plugin
- Open Obsidian → Settings → Community Plugins → Browse
- Find and install **"Local REST API"** (by Coddington)
- Enable it → copy API token
- It will be needed for `opencode.json`
### 2. Recommended Plugins
- **Terminal** — run commands from Obsidian (for quick scripts)
- **Surfing** — web browser inside Obsidian (required for ByteStash + quick launch)
- **Excalidraw** — whiteboards and diagrams (recommended for vault-analyzer skill)
### 3. Obsidian Settings
- Settings → Files & Links → **Automatically update internal links** → enable
- Settings → Editor → **Spelling** → as desired
- Settings → Hotkeys → optionally configure hotkeys for integration with opencode
### 4. Vault Path
The vault created by this starter pack (default `opencode-vault`) needs to be opened as an Obsidian vault:
```
Open Obsidian → Open another vault → Open folder as vault → select directory
```
## Built on [OpenCode](https://opencode.ai)
OpenCodeStarterPack is a starter pack for **OpenCode** — an open AI coding assistant, licensed under [MIT](https://github.com/anomalyco/opencode/blob/main/LICENSE).
Original author: **anomalyco** ([OpenCode on GitHub](https://github.com/anomalyco/opencode))
## Third-Party Components
This project includes configurations for the following third-party components, each with its own license:
| Component | Author | License | Notes |
|-----------|-------|----------|--------|
| [docker-mcp](https://www.npmjs.com/package/docker-mcp) | dazza | MIT | MCP server for Docker |
| [@cyanheads/git-mcp-server](https://www.npmjs.com/package/@cyanheads/git-mcp-server) | cyanheads | MIT | MCP server for Git |
| [@modelcontextprotocol/server-filesystem](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem) | Anthropic / MCP team | MIT | MCP filesystem sandbox |
| [Context7](https://context7.com) | Context7 team | Commercial | Requires **free registration** on context7.com |
| [ByteStash](https://github.com/jordanistan/bytestash) | jordanistan | MIT | Standalone snippet manager |
| Obsidian MCP config | [PETERGS27](https://github.com/PETERGS27) | MIT | Configuration template |
| ByteStash MCP config | [PETERGS27](https://github.com/PETERGS27) | MIT | Configuration template |
All custom MCP configurations in this pack are licensed under MIT by [PETERGS27](https://github.com/PETERGS27).
## Glossary
| Term | Meaning |
|--------|----------|
| **Vault (Repository)** | Obsidian folder or collection of notes and settings |
| **OpenCode** | AI coding assistant running from the terminal |
| **MCP** | Model Context Protocol — way to connect OpenCode to other tools (Obsidian, Docker, Git) |
| **MCP Server** | Small program allowing OpenCode to communicate with a specific tool |
| **Skill** | Set of instructions teaching OpenCode to perform a specific task |
| **Preset** | Predefined combination of skills, MCP servers, and prompts |
| **API Key** | Secret code to connect OpenCode to an AI provider or service |
| **Local REST API** | Obsidian plugin allowing other programs to read and write notes |
| **Token** | String-password confirming OpenCode has access to the Obsidian vault |
| **npm** | JavaScript package manager — used to install OpenCodeStarterPack via `npx` |
| **brew / Homebrew** | Package manager for macOS — alternative way to install software |
| **Terminal** | Application for entering commands (Terminal.app on macOS, PowerShell on Windows) |
## License
MIT © [PETERGS27](https://github.com/PETERGS27)
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
No recommendations available