Skip to content

Initialize a Project

  1. Install Hyprlayer
  2. Configure your AI tool
  3. Have a thoughts repository (or let Hyprlayer create one)

If your team already has a shared thoughts repository, clone it first:

Terminal window
gh repo clone <org>/<thoughts-repo> ~/thoughts

Navigate to your project and run:

Terminal window
cd ~/Projects/my-project
hyprlayer thoughts init

If this is your first time running init, Hyprlayer will walk you through initial configuration:

  1. Thoughts repository location — Where your thoughts are stored (default: ~/thoughts)
  2. Repos directory name — Subdirectory for project-specific thoughts (default: repos)
  3. Global directory name — Subdirectory for cross-project thoughts (default: global)
  4. Username — Your identifier for personal thoughts (default: system username)
  1. Creates the thoughts directory structure in your thoughts repository
  2. Sets up symlinks from thoughts/ in your project to the thoughts repository
  3. Installs git hooks for protection and auto-sync
  4. Saves the repository mapping to your global config

After initialization, your project will have:

my-project/
└── thoughts/
├── <username>/ → ~/thoughts/repos/my-project/<username>/
├── shared/ → ~/thoughts/repos/my-project/shared/
└── global/ → ~/thoughts/global/

If you have multiple thoughts repositories (e.g., work and personal), use a profile:

Terminal window
hyprlayer thoughts init --profile work

See Profiles for more on managing multiple thoughts repositories.

Skip prompts by specifying the directory name:

Terminal window
hyprlayer thoughts init --directory my-project
Terminal window
hyprlayer thoughts init --force

Reconfigures thoughts for a project that’s already been initialized. Also reinstalls agent files.

Initialization installs two git hooks:

Prevents accidentally committing the thoughts/ directory to your code repository. If staged thoughts files are detected, they are unstaged and the commit is blocked.

Automatically syncs thoughts to the thoughts repository after each commit. Runs in the background so it doesn’t slow down your workflow.

Both hooks are versioned and will be updated when you run init again. Existing non-Hyprlayer hooks are backed up to <hook>.old.

To remove thoughts setup from a repository:

Terminal window
hyprlayer thoughts uninit

This removes the thoughts/ symlink structure and the repository mapping from your config. The actual thoughts content in your thoughts repository is preserved.

Start using the development workflow.