Skip to content

Initialize a Project

Set up thoughts for a repository

  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

Go to your project and run:

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

On your first init, Hyprlayer walks you through configuration:

  1. Thoughts repository location. Where Hyprlayer keeps your thoughts (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/

Point a project at a second thoughts repository (work and personal, say) with 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 you already initialized. Also reinstalls agent files.

Initialization installs two git hooks:

Keeps the thoughts/ directory out of your code repository. Stage a thoughts file and the hook unstages it, then blocks the commit.

Syncs thoughts to the thoughts repository after each commit. It runs in the background, so it never slows you down.

Both hooks carry a version, and init updates them on a re-run. Hyprlayer backs up any existing non-Hyprlayer hook 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. Your thoughts content stays where it is, in the thoughts repository.

Start using the development workflow.