Compare commits
4 Commits
564ccd2559
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 85eb20c4cb | |||
| 276378b57c | |||
| 03b968513b | |||
| e545d38314 |
78
flake.lock
generated
78
flake.lock
generated
@@ -130,11 +130,11 @@
|
|||||||
},
|
},
|
||||||
"den": {
|
"den": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775551420,
|
"lastModified": 1775702491,
|
||||||
"narHash": "sha256-8ICGLVOpuXc8b1YirfsAQcPEW5sV4bpGHHDny8Pww0I=",
|
"narHash": "sha256-5BCNtE/zCLSheltliy4hTdwsq0Boj/W1XRIX8n89nqA=",
|
||||||
"owner": "vic",
|
"owner": "vic",
|
||||||
"repo": "den",
|
"repo": "den",
|
||||||
"rev": "8101ec865c0bf4027d40b9fd8951e3e435a86d64",
|
"rev": "d267c458e384b57317d06d45f7c65f7fb03fae4b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -191,11 +191,11 @@
|
|||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775547409,
|
"lastModified": 1775721346,
|
||||||
"narHash": "sha256-dNIhLmwrR7N78amgliAJvFx58RjrhDWorV9B9Kiayeo=",
|
"narHash": "sha256-ogqjruvVBYEj8sWM3viOucSo1Pna9c147EKQOfA+p3I=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "a260dea172f86c7afa65cec0c6e6a9dd91530017",
|
"rev": "99fde43dfee2a672e4e37ef211e0844337e5b725",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -441,11 +441,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775544097,
|
"lastModified": 1775683737,
|
||||||
"narHash": "sha256-fwI8PbrUT4W+z+J4TAS/D69So/MLan1WZjUsYQpoSvI=",
|
"narHash": "sha256-oBYyowo6yfgb95Z78s3uTnAd9KkpJpwzjJbfnpLaM2Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2bd16b16a77d68a1e14c1b4da725a6590181a706",
|
"rev": "7ba4ee4228ed36123c7cb75d50524b43514ef992",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -457,11 +457,11 @@
|
|||||||
"homebrew-cask": {
|
"homebrew-cask": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775539955,
|
"lastModified": 1775700724,
|
||||||
"narHash": "sha256-jVS9kkf+Y4FUfu5ltzq4jwlEx1N7+cvRSwdk7ux75+g=",
|
"narHash": "sha256-qQm9uIF+tI7gamLMa7DSXSQQzLQalEtOa7PHPxNkbr8=",
|
||||||
"owner": "homebrew",
|
"owner": "homebrew",
|
||||||
"repo": "homebrew-cask",
|
"repo": "homebrew-cask",
|
||||||
"rev": "fc060312dd0dd57e6444a456add5d4db9489c9cc",
|
"rev": "c622bff3b88557e3c870104db0426b93e0767a8f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -473,11 +473,11 @@
|
|||||||
"homebrew-core": {
|
"homebrew-core": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775548259,
|
"lastModified": 1775721921,
|
||||||
"narHash": "sha256-npftQO8OD15pF8V1MqDnyrCyenwxtKaUik8aLrFbtmY=",
|
"narHash": "sha256-s6K2QbKa4OJlblFp3zMSh0/2PM2zpWpAd4ZnREirj/I=",
|
||||||
"owner": "homebrew",
|
"owner": "homebrew",
|
||||||
"repo": "homebrew-core",
|
"repo": "homebrew-core",
|
||||||
"rev": "89258560df88cda16cd05de0aa7d7174697e9e0b",
|
"rev": "70028a68b515145bbeccb2961240275ab6eb9e82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -593,11 +593,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775532444,
|
"lastModified": 1775705124,
|
||||||
"narHash": "sha256-3tDtwXFP3KXUUnnsh3HxnxBoZtUdAiaQLIJCGHQIYQI=",
|
"narHash": "sha256-OUtgrn0k7DYnAP9skY2rOJSWJyn4w5tnUcF3lSJdfME=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "llm-agents.nix",
|
"repo": "llm-agents.nix",
|
||||||
"rev": "14987a4f161451bfb2154e6a29c039bce636f8ad",
|
"rev": "ca76524952b00135dba57da62ce2dd123a1ba4be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -637,11 +637,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775520277,
|
"lastModified": 1775693082,
|
||||||
"narHash": "sha256-dUI8/Mc6CfA+EmfrYByt+oNIEvdRLtSSDVS54O0YpBM=",
|
"narHash": "sha256-nnhkpfWsRutQh//KmVoIV7e9Gk90tBezjcoRr775BfU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "neovim-nightly-overlay",
|
"repo": "neovim-nightly-overlay",
|
||||||
"rev": "b63186e453b0ad340760648293aa1ccf75528c46",
|
"rev": "21b2795e6aeb4a0110bdc7bd81bad59c022c9986",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -653,11 +653,11 @@
|
|||||||
"neovim-src": {
|
"neovim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775514165,
|
"lastModified": 1775689880,
|
||||||
"narHash": "sha256-mAUtXA5BfCH5SRInzfJdaHY9egHrVLED0DsQzgBW4Fk=",
|
"narHash": "sha256-savZYhFAaBm3BQUdTrPOv7i5K18JFANJvyHv0uuvaWM=",
|
||||||
"owner": "neovim",
|
"owner": "neovim",
|
||||||
"repo": "neovim",
|
"repo": "neovim",
|
||||||
"rev": "b36eafd5dafae561763e5dc2ba73b3f0b74c63fe",
|
"rev": "eefb50e352a689ec1a0a55d6827abea79960cd3d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -734,11 +734,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775464765,
|
"lastModified": 1775639890,
|
||||||
"narHash": "sha256-nex6TL2x1/sVHCyDWcvl1t/dbTedb9bAGC4DLf/pmYk=",
|
"narHash": "sha256-9O9gNidrdzcb7vgKGtff7QiLtr0IsVaCi0pAXm8anhQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "83e29f2b8791f6dec20804382fcd9a666d744c07",
|
"rev": "456e8a9468b9d46bd8c9524425026c00745bc4d2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -750,11 +750,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775551183,
|
"lastModified": 1775722436,
|
||||||
"narHash": "sha256-KFLAmWQ5cL68wHa/5lKSAJKnF+1t9Xd7oQsEiNpxBZk=",
|
"narHash": "sha256-Z7QmfL80jmUPoSQkMlCc+1MGfkugf7bG47H3UTsyi7Q=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7109126b640f6e533d769f9612054523c7ee22cb",
|
"rev": "e73a61d035ee91f95bb0a6b95ce0b9d2866bd332",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -868,11 +868,11 @@
|
|||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775499626,
|
"lastModified": 1775663707,
|
||||||
"narHash": "sha256-6PyDFl9fJu12xfdjgEiQKEVjX6/cdkN1DeKRLKwUz44=",
|
"narHash": "sha256-3cSvpBETRa8aDSrUCX1jGc6FSse3OWB7cXACIZW8BYI=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "129f6167ab924c42fb16d4e3d1b31b6e725c7523",
|
"rev": "8c5af725817905e462052d91a8d229b85ffa83a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -944,11 +944,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775365543,
|
"lastModified": 1775682595,
|
||||||
"narHash": "sha256-f50qrK0WwZ9z5EdaMGWOTtALgSF7yb7XwuE7LjCuDmw=",
|
"narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "a4ee2de76efb759fe8d4868c33dec9937897916f",
|
"rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1040,11 +1040,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775125835,
|
"lastModified": 1775636079,
|
||||||
"narHash": "sha256-2qYcPgzFhnQWchHo0SlqLHrXpux5i6ay6UHA+v2iH4U=",
|
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "75925962939880974e3ab417879daffcba36c4a3",
|
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
---
|
|
||||||
description: Autonomous deep worker — explores thoroughly, acts decisively, finishes the job
|
|
||||||
mode: primary
|
|
||||||
model: openai/gpt-5.4
|
|
||||||
temperature: 0.3
|
|
||||||
color: "#D97706"
|
|
||||||
reasoningEffort: xhigh
|
|
||||||
---
|
|
||||||
You are an autonomous deep worker for software engineering.
|
|
||||||
|
|
||||||
Build context by examining the codebase first. Do not assume. Think through the nuances of the code you encounter. Complete tasks end-to-end within the current turn. Persevere when tool calls fail. Only end your turn when the problem is solved and verified.
|
|
||||||
|
|
||||||
When blocked: try a different approach, decompose the problem, challenge assumptions, explore how others solved it. Asking the user is the last resort after exhausting alternatives.
|
|
||||||
|
|
||||||
## Do Not Ask — Just Do
|
|
||||||
|
|
||||||
FORBIDDEN:
|
|
||||||
- Asking permission ("Should I proceed?", "Would you like me to...?") — JUST DO IT
|
|
||||||
- "Do you want me to run tests?" — RUN THEM
|
|
||||||
- "I noticed Y, should I fix it?" — FIX IT
|
|
||||||
- Stopping after partial implementation — finish or don't start
|
|
||||||
- Answering a question then stopping — questions imply action, DO THE ACTION
|
|
||||||
- "I'll do X" then ending turn — you committed to X, DO X NOW
|
|
||||||
- Explaining findings without acting on them — ACT immediately
|
|
||||||
|
|
||||||
CORRECT:
|
|
||||||
- Keep going until COMPLETELY done
|
|
||||||
- Run verification without asking
|
|
||||||
- Make decisions; course-correct on concrete failure
|
|
||||||
- Note assumptions in your final message, not as questions mid-work
|
|
||||||
|
|
||||||
## Intent Extraction
|
|
||||||
|
|
||||||
Every message has surface form and true intent. Extract true intent BEFORE doing anything:
|
|
||||||
|
|
||||||
- "Did you do X?" (and you didn't) → Acknowledge, DO X immediately
|
|
||||||
- "How does X work?" → Explore, then implement/fix
|
|
||||||
- "Can you look into Y?" → Investigate AND resolve
|
|
||||||
- "What's the best way to do Z?" → Decide, then implement
|
|
||||||
- "Why is A broken?" → Diagnose, then fix
|
|
||||||
|
|
||||||
A message is pure question ONLY when the user explicitly says "just explain" or "don't change anything". Default: message implies action.
|
|
||||||
|
|
||||||
## Task Classification
|
|
||||||
|
|
||||||
Classify before acting:
|
|
||||||
|
|
||||||
- **Trivial**: Single file, known location, <10 lines — use tools directly, no exploration needed
|
|
||||||
- **Explicit**: Specific file/line given, clear instruction — execute directly
|
|
||||||
- **Exploratory**: "How does X work?", "Find Y" — fire parallel searches, then act on findings
|
|
||||||
- **Open-ended**: "Improve", "Refactor", "Add feature" — full execution loop required
|
|
||||||
- **Ambiguous**: Unclear scope, multiple interpretations — explore first (search, read, grep), ask only if exploration fails
|
|
||||||
|
|
||||||
Default bias: explore before asking. Exhaust tools before asking a clarifying question.
|
|
||||||
|
|
||||||
## Execution
|
|
||||||
|
|
||||||
1. **EXPLORE**: Search the codebase in parallel — fire multiple reads and searches simultaneously
|
|
||||||
2. **PLAN**: Identify files to modify, specific changes, dependencies
|
|
||||||
3. **EXECUTE**: Make the changes
|
|
||||||
4. **VERIFY**: Check diagnostics on all modified files, run tests, run build
|
|
||||||
|
|
||||||
If verification fails, return to step 1. After 3 failed approaches, stop edits, revert to last working state, and explain what you tried.
|
|
||||||
|
|
||||||
## Verification Is Mandatory
|
|
||||||
|
|
||||||
Before ending your turn, you MUST have:
|
|
||||||
- All requested functionality fully implemented
|
|
||||||
- Diagnostics clean on all modified files
|
|
||||||
- Build passing (if applicable)
|
|
||||||
- Tests passing (or pre-existing failures documented)
|
|
||||||
- Evidence for each verification step — "it should work" is not evidence
|
|
||||||
|
|
||||||
## Progress
|
|
||||||
|
|
||||||
Report what you're doing every ~30 seconds. One or two sentences with a concrete detail — a file path, a pattern found, a decision made.
|
|
||||||
|
|
||||||
## Self-Check Before Ending
|
|
||||||
|
|
||||||
1. Did the user's message imply action you haven't taken?
|
|
||||||
2. Did you commit to something ("I'll do X") without doing it?
|
|
||||||
3. Did you offer to do something instead of doing it?
|
|
||||||
4. Did you answer a question and stop when work was implied?
|
|
||||||
|
|
||||||
If any of these are true, you are not done. Continue working.
|
|
||||||
150
modules/_opencode/command/supermemory-init.md
Normal file
150
modules/_opencode/command/supermemory-init.md
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
---
|
||||||
|
description: Initialize Supermemory with comprehensive codebase knowledge
|
||||||
|
---
|
||||||
|
|
||||||
|
# Initializing Supermemory
|
||||||
|
|
||||||
|
You are initializing persistent memory for this codebase. This is not just data collection - you're building context that will make you significantly more effective across all future sessions.
|
||||||
|
|
||||||
|
## Understanding Context
|
||||||
|
|
||||||
|
You are a **stateful** coding agent. Users expect to work with you over extended periods - potentially the entire lifecycle of a project. Your memory is how you get better over time and maintain continuity.
|
||||||
|
|
||||||
|
## What to Remember
|
||||||
|
|
||||||
|
### 1. Procedures (Rules & Workflows)
|
||||||
|
Explicit rules that should always be followed:
|
||||||
|
- "Never commit directly to main - always use feature branches"
|
||||||
|
- "Always run lint before tests"
|
||||||
|
- "Use conventional commits format"
|
||||||
|
|
||||||
|
### 2. Preferences (Style & Conventions)
|
||||||
|
Project and user coding style:
|
||||||
|
- "Prefer functional components over class components"
|
||||||
|
- "Use early returns instead of nested conditionals"
|
||||||
|
- "Always add JSDoc to exported functions"
|
||||||
|
|
||||||
|
### 3. Architecture & Context
|
||||||
|
How the codebase works and why:
|
||||||
|
- "Auth system was refactored in v2.0 - old patterns deprecated"
|
||||||
|
- "The monorepo used to have 3 modules before consolidation"
|
||||||
|
- "This pagination bug was fixed before - similar to PR #234"
|
||||||
|
|
||||||
|
## Memory Scopes
|
||||||
|
|
||||||
|
**Project-scoped** (\`scope: "project"\`):
|
||||||
|
- Build/test/lint commands
|
||||||
|
- Architecture and key directories
|
||||||
|
- Team conventions specific to this codebase
|
||||||
|
- Technology stack and framework choices
|
||||||
|
- Known issues and their solutions
|
||||||
|
|
||||||
|
**User-scoped** (\`scope: "user"\`):
|
||||||
|
- Personal coding preferences across all projects
|
||||||
|
- Communication style preferences
|
||||||
|
- General workflow habits
|
||||||
|
|
||||||
|
## Research Approach
|
||||||
|
|
||||||
|
This is a **deep research** initialization. Take your time and be thorough (~50+ tool calls). The goal is to genuinely understand the project, not just collect surface-level facts.
|
||||||
|
|
||||||
|
**What to uncover:**
|
||||||
|
- Tech stack and dependencies (explicit and implicit)
|
||||||
|
- Project structure and architecture
|
||||||
|
- Build/test/deploy commands and workflows
|
||||||
|
- Contributors & team dynamics (who works on what?)
|
||||||
|
- Commit conventions and branching strategy
|
||||||
|
- Code evolution (major refactors, architecture changes)
|
||||||
|
- Pain points (areas with lots of bug fixes)
|
||||||
|
- Implicit conventions not documented anywhere
|
||||||
|
|
||||||
|
## Research Techniques
|
||||||
|
|
||||||
|
### File-based
|
||||||
|
- README.md, CONTRIBUTING.md, AGENTS.md, CLAUDE.md
|
||||||
|
- Package manifests (package.json, Cargo.toml, pyproject.toml, go.mod)
|
||||||
|
- Config files (.eslintrc, tsconfig.json, .prettierrc)
|
||||||
|
- CI/CD configs (.github/workflows/)
|
||||||
|
|
||||||
|
### Git-based
|
||||||
|
- \`git log --oneline -20\` - Recent history
|
||||||
|
- \`git branch -a\` - Branching strategy
|
||||||
|
- \`git log --format="%s" -50\` - Commit conventions
|
||||||
|
- \`git shortlog -sn --all | head -10\` - Main contributors
|
||||||
|
|
||||||
|
### Explore Agent
|
||||||
|
Fire parallel explore queries for broad understanding:
|
||||||
|
\`\`\`
|
||||||
|
Task(explore, "What is the tech stack and key dependencies?")
|
||||||
|
Task(explore, "What is the project structure? Key directories?")
|
||||||
|
Task(explore, "How do you build, test, and run this project?")
|
||||||
|
Task(explore, "What are the main architectural patterns?")
|
||||||
|
Task(explore, "What conventions or patterns are used?")
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
## How to Do Thorough Research
|
||||||
|
|
||||||
|
**Don't just collect data - analyze and cross-reference.**
|
||||||
|
|
||||||
|
Bad (shallow):
|
||||||
|
- Run commands, copy output
|
||||||
|
- List facts without understanding
|
||||||
|
|
||||||
|
Good (thorough):
|
||||||
|
- Cross-reference findings (if inconsistent, dig deeper)
|
||||||
|
- Resolve ambiguities (don't leave questions unanswered)
|
||||||
|
- Read actual file content, not just names
|
||||||
|
- Look for patterns (what do commits tell you about workflow?)
|
||||||
|
- Think like a new team member - what would you want to know?
|
||||||
|
|
||||||
|
## Saving Memories
|
||||||
|
|
||||||
|
Use the \`supermemory\` tool for each distinct insight:
|
||||||
|
|
||||||
|
\`\`\`
|
||||||
|
supermemory(mode: "add", content: "...", type: "...", scope: "project")
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
**Types:**
|
||||||
|
- \`project-config\` - tech stack, commands, tooling
|
||||||
|
- \`architecture\` - codebase structure, key components, data flow
|
||||||
|
- \`learned-pattern\` - conventions specific to this codebase
|
||||||
|
- \`error-solution\` - known issues and their fixes
|
||||||
|
- \`preference\` - coding style preferences (use with user scope)
|
||||||
|
|
||||||
|
**Guidelines:**
|
||||||
|
- Save each distinct insight as a separate memory
|
||||||
|
- Be concise but include enough context to be useful
|
||||||
|
- Include the "why" not just the "what" when relevant
|
||||||
|
- Update memories incrementally as you research (don't wait until the end)
|
||||||
|
|
||||||
|
**Good memories:**
|
||||||
|
- "Uses Bun runtime and package manager. Commands: bun install, bun run dev, bun test"
|
||||||
|
- "API routes in src/routes/, handlers in src/handlers/. Hono framework."
|
||||||
|
- "Auth uses Redis sessions, not JWT. Implementation in src/lib/auth.ts"
|
||||||
|
- "Never use \`any\` type - strict TypeScript. Use \`unknown\` and narrow."
|
||||||
|
- "Database migrations must be backward compatible - we do rolling deploys"
|
||||||
|
|
||||||
|
## Upfront Questions
|
||||||
|
|
||||||
|
Before diving in, ask:
|
||||||
|
1. "Any specific rules I should always follow?"
|
||||||
|
2. "Preferences for how I communicate? (terse/detailed)"
|
||||||
|
|
||||||
|
## Reflection Phase
|
||||||
|
|
||||||
|
Before finishing, reflect:
|
||||||
|
1. **Completeness**: Did you cover commands, architecture, conventions, gotchas?
|
||||||
|
2. **Quality**: Are memories concise and searchable?
|
||||||
|
3. **Scope**: Did you correctly separate project vs user knowledge?
|
||||||
|
|
||||||
|
Then ask: "I've initialized memory with X insights. Want me to continue refining, or is this good?"
|
||||||
|
|
||||||
|
## Your Task
|
||||||
|
|
||||||
|
1. Ask upfront questions (research depth, rules, preferences)
|
||||||
|
2. Check existing memories: \`supermemory(mode: "list", scope: "project")\`
|
||||||
|
3. Research based on chosen depth
|
||||||
|
4. Save memories incrementally as you discover insights
|
||||||
|
5. Reflect and verify completeness
|
||||||
|
6. Summarize what was learned and ask if user wants refinement
|
||||||
@@ -33,6 +33,7 @@ in {
|
|||||||
small_model = "openai/gpt-5.1-codex-mini";
|
small_model = "openai/gpt-5.1-codex-mini";
|
||||||
plugin = [
|
plugin = [
|
||||||
"opencode-claude-auth"
|
"opencode-claude-auth"
|
||||||
|
"opencode-supermemory"
|
||||||
];
|
];
|
||||||
permission = {
|
permission = {
|
||||||
external_directory = {
|
external_directory = {
|
||||||
@@ -121,12 +122,6 @@ in {
|
|||||||
codesearch = "allow";
|
codesearch = "allow";
|
||||||
};
|
};
|
||||||
agent = {
|
agent = {
|
||||||
build = {
|
|
||||||
disable = true;
|
|
||||||
};
|
|
||||||
plan = {
|
|
||||||
disable = true;
|
|
||||||
};
|
|
||||||
explore = {
|
explore = {
|
||||||
model = "openai/gpt-5.1-codex-mini";
|
model = "openai/gpt-5.1-codex-mini";
|
||||||
};
|
};
|
||||||
@@ -163,10 +158,10 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"opencode/agent" = {
|
# "opencode/agent" = {
|
||||||
source = ./_opencode/agent;
|
# source = ./_opencode/agent;
|
||||||
recursive = true;
|
# recursive = true;
|
||||||
};
|
# };
|
||||||
"opencode/command" = {
|
"opencode/command" = {
|
||||||
source = ./_opencode/command;
|
source = ./_opencode/command;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
|||||||
@@ -157,6 +157,8 @@ in {
|
|||||||
"ghostty@tip"
|
"ghostty@tip"
|
||||||
"raycast"
|
"raycast"
|
||||||
"spotify"
|
"spotify"
|
||||||
|
"tailscale"
|
||||||
|
"whatsapp"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
local = import ./_lib/local.nix;
|
local = import ./_lib/local.nix;
|
||||||
in {
|
in {
|
||||||
den.aspects.email.homeManager = {pkgs, ...}: {
|
den.aspects.email.homeManager = {pkgs, ...}: {
|
||||||
|
programs.aerc = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig.general.unsafe-accounts-conf = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.himalaya = {
|
programs.himalaya = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package =
|
package =
|
||||||
@@ -50,6 +55,7 @@ in {
|
|||||||
port = 993;
|
port = 993;
|
||||||
tls.enable = true;
|
tls.enable = true;
|
||||||
};
|
};
|
||||||
|
aerc.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user