# Create A Project Profile Use this checklist when adapting the workspace core for a new project. --- ## 1. Create The Profile Create: ```text profiles//profile.md profiles//README.md ``` The profile should declare: - project name - workspace purpose - primary audience - communication sources - ticket/work-item system - manager or stakeholder mapping - active context files - enabled commands - enabled skills --- ## 2. Configure Context Create or update: ```text vault/00-start/start-here.md vault/01-current/current-work.md vault/01-current/work-items.md vault/02-work-items/ vault/03-context/project.md vault/03-context/process/ vault/04-people/ vault/05-decisions/ vault/06-daily/ vault/07-maps/ vault/08-bases/ vault/09-templates/ ``` Keep project-specific facts out of `core/`. Treat `vault/` as canonical memory. Keep connector inboxes and generated evidence outside the vault. --- ## 3. Configure Integrations Use generic variables first: ```text AIW_PROJECT_PROFILE= AIW_MEMORY_VAULT_DIR= AIW_MEMORY_BACKEND=auto AIW_CHANNEL_PREFIX= AIW_MATTERMOST_SYNC_CMD= AIW_SLACK_EXPORT_PATH= ``` Connector secrets belong in ignored `.env` files, not in profile files. --- ## 4. Configure Commands And Skills Start with generic commands: - `/workspace-context` - `/memory-health` - `/memory-create` - `/communication-sync` - `/archive-import` - `/standup` - `/manager-update` - `/translate` - `/ai-prompt` Add project-specific aliases only when they reduce friction. --- ## 5. Validate Before using the workspace for real work: - confirm `opencode.json` is valid JSON - confirm the profile has no secrets - run a communication sync with test channels or a dry sample - generate one standup from sample context - verify that imported evidence and promoted memory stay separate - run `bash scripts/memory/memory.sh health` --- ## 6. Obsidian Vault Open `vault/` as the Obsidian vault. Use `scripts/memory/` as the project-agnostic memory interface. Obsidian is the default visual and CLI-backed adapter, but profile logic should not depend on Obsidian. Recommended rules: - keep `vault/` as the clean canonical human/AI memory - keep runtime evidence, scripts, profiles, and generated files outside `vault/` - version only portable `vault/.obsidian` configuration - ignore local Obsidian workspace state and plugin runtime files - create or update map notes under `vault/07-maps/` for human navigation - create Bases under `vault/08-bases/` using simple `type` properties