Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6c6164043b | |||
| e02a0a29ea | |||
| 831698b766 | |||
| 336a174a17 | |||
| 70562ceef2 | |||
| ef5b67c3e9 |
File diff suppressed because it is too large
Load Diff
Generated
+44
-26
@@ -21,14 +21,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"agent-lib": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1780229583,
|
||||||
|
"narHash": "sha256-WxokKtyJ0fRiTNIaf+Tfd05GhZVsqoTP5Q0cXiNipsI=",
|
||||||
|
"path": "/home/m3tam3re/p/NIX/agent-lib",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"path": "/home/m3tam3re/p/NIX/agent-lib",
|
||||||
|
"type": "path"
|
||||||
|
}
|
||||||
|
},
|
||||||
"agents": {
|
"agents": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777399938,
|
"lastModified": 1778518220,
|
||||||
"narHash": "sha256-xXPqUQezDdDtF8MbpZnwD1HkybOYwF92evx8rJ6OXCU=",
|
"narHash": "sha256-6AQs9VZ0/DuD4njPbYHRE4v+SgJc6SBrGwemTWxikVc=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "9a91f1ee0cf011a7eaf1f16a9e17610b0457e055",
|
"rev": "b6e1aaa6261c5056d024d8d4785659eaa4e675e6",
|
||||||
"revCount": 85,
|
"revCount": 87,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://code.m3ta.dev/m3tam3re/AGENTS"
|
"url": "https://code.m3ta.dev/m3tam3re/AGENTS"
|
||||||
},
|
},
|
||||||
@@ -146,11 +163,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778503501,
|
"lastModified": 1780099287,
|
||||||
"narHash": "sha256-08L/X4/do7nET4rzidJ76eV/1r+mB7DchVpdPypsghc=",
|
"narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "85ba629c79449badf4338117c27f0ee92b4b9f1a",
|
"rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -170,11 +187,11 @@
|
|||||||
"openspec": "openspec"
|
"openspec": "openspec"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778508052,
|
"lastModified": 1779944037,
|
||||||
"narHash": "sha256-kxzZvJv757TGfHReR21aX6N/jkGMWzGSy9GQEclYD4Y=",
|
"narHash": "sha256-jO6zAJjgc9n3SeDJW1EbV6CEqOa9DK+2AhTgWc+ImHQ=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "8113723a48c4afa016881ccd5bc4be3fad2c7d5f",
|
"rev": "ae1fb97c21b311dc03a46e8d50867048e5568c88",
|
||||||
"revCount": 294,
|
"revCount": 323,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
|
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
|
||||||
},
|
},
|
||||||
@@ -235,11 +252,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778507606,
|
"lastModified": 1779457550,
|
||||||
"narHash": "sha256-6Yc2dIhijc8G+dbMNocyclxF19dUrjaT+EeXGrXmXlg=",
|
"narHash": "sha256-yALoy2CrvwvNfwMtGZDRdc+jqVNHulyuM5iVK12lUAI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "39a7b8d815fcc8b689d56fc4a3fa8de4ef93d169",
|
"rev": "a9c18fd234dbe4fd8de4bac53760b785c47e94ff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -251,11 +268,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777954456,
|
"lastModified": 1779560665,
|
||||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -267,11 +284,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777954456,
|
"lastModified": 1779560665,
|
||||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -287,11 +304,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778506944,
|
"lastModified": 1780228894,
|
||||||
"narHash": "sha256-lU0Bleh0reE+WU7j8Uiqsu6ekPav50L8sXsgOvEQS+0=",
|
"narHash": "sha256-7u/krCQx3loaM+kNi5i4N5ZGprILDed8JOl6wFrDEqI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "0166493cfe4e0e9927435c1cfbf5505cfb0d10d1",
|
"rev": "e9c97d6945177c6d9cea9e5b2f78bcbfdc3f56d2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -308,11 +325,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778120451,
|
"lastModified": 1779302169,
|
||||||
"narHash": "sha256-MUSPD16+hoFBfQWYahtNLN2BIFEAlFFo2KNofrc947g=",
|
"narHash": "sha256-OOSPtUXC4F2umtsZPkyWlPQxhXBsxF2vqBXLeI/lqIw=",
|
||||||
"owner": "Fission-AI",
|
"owner": "Fission-AI",
|
||||||
"repo": "OpenSpec",
|
"repo": "OpenSpec",
|
||||||
"rev": "053d8a59d587f3c027a06ad80503a6b43d4f2a92",
|
"rev": "79303b521068c5f525ee61db06b915fc44b098f4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -324,6 +341,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
|
"agent-lib": "agent-lib",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
|
|||||||
@@ -16,6 +16,11 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
agent-lib = {
|
||||||
|
url = "path:/home/m3tam3re/p/NIX/agent-lib";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
@@ -30,12 +35,18 @@
|
|||||||
in {
|
in {
|
||||||
# Home-Manager modules — import in nixos-config via:
|
# Home-Manager modules — import in nixos-config via:
|
||||||
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
||||||
homeManagerModules = import ./modules { inherit inputs; selfPath = self.outPath; };
|
homeManagerModules = import ./modules {
|
||||||
|
inherit inputs;
|
||||||
|
selfPath = self.outPath;
|
||||||
|
};
|
||||||
|
|
||||||
# Library functions — use in nixos-config via:
|
# Library functions — use in nixos-config via:
|
||||||
# m3ta-lib = inputs.m3ta-home.lib;
|
# m3ta-lib = inputs.m3ta-home.lib;
|
||||||
# imports = [ (m3ta-lib.mkHome { ... }) ];
|
# imports = [ (m3ta-lib.mkHome { ... }) ];
|
||||||
lib = import ./lib {inherit inputs; selfPath = self.outPath;};
|
lib = import ./lib {
|
||||||
|
inherit inputs;
|
||||||
|
selfPath = self.outPath;
|
||||||
|
};
|
||||||
|
|
||||||
# Overlays (re-exports from m3ta-nixpkgs)
|
# Overlays (re-exports from m3ta-nixpkgs)
|
||||||
overlays = inputs.m3ta-nixpkgs.overlays;
|
overlays = inputs.m3ta-nixpkgs.overlays;
|
||||||
|
|||||||
@@ -80,6 +80,9 @@ in {
|
|||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
|
# External Home Manager modules required by selectable profiles
|
||||||
|
inputs.agent-lib.homeManagerModules.default
|
||||||
|
|
||||||
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
||||||
../modules/paths.nix
|
../modules/paths.nix
|
||||||
baseModule
|
baseModule
|
||||||
|
|||||||
@@ -13,6 +13,9 @@
|
|||||||
in {
|
in {
|
||||||
default = {
|
default = {
|
||||||
imports = [
|
imports = [
|
||||||
|
# External modules
|
||||||
|
inputs.agent-lib.homeManagerModules.default
|
||||||
|
|
||||||
# Paths — must be first, provides "m3ta-home".paths.srcRoot
|
# Paths — must be first, provides "m3ta-home".paths.srcRoot
|
||||||
./paths.nix
|
./paths.nix
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ in {
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
configType = "hyprlang";
|
||||||
settings = {
|
settings = {
|
||||||
xwayland = {
|
xwayland = {
|
||||||
force_zero_scaling = true;
|
force_zero_scaling = true;
|
||||||
@@ -87,7 +88,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
dwindle = {
|
dwindle = {
|
||||||
pseudotile = true;
|
# pseudotile = true; # TODO
|
||||||
preserve_split = true;
|
preserve_split = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -179,7 +180,7 @@ in {
|
|||||||
"$mainMod SHIFT, P, pseudo"
|
"$mainMod SHIFT, P, pseudo"
|
||||||
"$mainMod, R, exec, stt-ptt start"
|
"$mainMod, R, exec, stt-ptt start"
|
||||||
"$mainMod, S, exec, stt-ptt start"
|
"$mainMod, S, exec, stt-ptt start"
|
||||||
"$mainMod, J, togglesplit"
|
# "$mainMod, J, togglesplit" # TODO
|
||||||
"$mainMod, h, movefocus, l"
|
"$mainMod, h, movefocus, l"
|
||||||
"$mainMod, l, movefocus, r"
|
"$mainMod, l, movefocus, r"
|
||||||
"$mainMod, k, movefocus, u"
|
"$mainMod, k, movefocus, u"
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{config, ...}: {
|
||||||
|
programs.agent-lib = {
|
||||||
|
enable = true;
|
||||||
|
lockFile = config."m3ta-home".paths.srcRoot + "/agent-sources.lock.json";
|
||||||
|
|
||||||
|
targets.pi.enable = true;
|
||||||
|
targets.opencode.enable = true;
|
||||||
|
|
||||||
|
profiles.default = {
|
||||||
|
sources = {
|
||||||
|
m3ta-agents = {
|
||||||
|
agents = {
|
||||||
|
all = true;
|
||||||
|
};
|
||||||
|
skills = {
|
||||||
|
all = true;
|
||||||
|
exclude = ["brainstorming" "pdf" "systematic-debugging" "xlsx"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
anthropic.skills = {
|
||||||
|
all = true;
|
||||||
|
exclude = ["skill-creator"];
|
||||||
|
};
|
||||||
|
basecamp.skills.all = true;
|
||||||
|
kestra.skills.all = true;
|
||||||
|
mattpocock.skills = {
|
||||||
|
all = true;
|
||||||
|
};
|
||||||
|
superpowers.skills = {
|
||||||
|
all = true;
|
||||||
|
};
|
||||||
|
vercel.skills.all = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -19,24 +19,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
# OpenCode and Pi agent configurations
|
# OpenCode, Pi, and Babysitter agent configurations
|
||||||
|
./agents-lib.nix
|
||||||
|
./babysitter.nix
|
||||||
./opencode.nix
|
./opencode.nix
|
||||||
./pi.nix
|
./pi.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
coding.agents.skills = {
|
coding.agents.babysitter.enable = true;
|
||||||
agentsInput = inputs.agents;
|
|
||||||
externalSkills = [
|
|
||||||
{
|
|
||||||
src = inputs.skills-anthropic;
|
|
||||||
selectSkills = ["pdf" "docx" "frontend-design"];
|
|
||||||
}
|
|
||||||
{src = inputs.skills-superpowers;}
|
|
||||||
{src = inputs.skills-vercel;}
|
|
||||||
{src = inputs.skills-basecamp;}
|
|
||||||
{src = inputs.skills-kestra;}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.mcp = {
|
programs.mcp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -0,0 +1,142 @@
|
|||||||
|
# Babysitter user profile for Pi/agent workflows.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.coding.agents.babysitter;
|
||||||
|
defaultTimestamp = "2026-05-29T00:00:00.000Z";
|
||||||
|
|
||||||
|
defaultUserProfile = {
|
||||||
|
name = config.home.username;
|
||||||
|
specialties = [
|
||||||
|
{
|
||||||
|
domain = "declarative-system-configuration";
|
||||||
|
subdomains = ["nix" "home-manager" "agents"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
expertiseLevels = {};
|
||||||
|
goals = [
|
||||||
|
{
|
||||||
|
id = "goal-agents-declarative-profile";
|
||||||
|
description = "Keep Babysitter user preferences declarative and reproducible across systems.";
|
||||||
|
category = "agents";
|
||||||
|
priority = "medium";
|
||||||
|
status = "active";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
preferences = {
|
||||||
|
verbosity = "concise";
|
||||||
|
autonomyLevel = "semi-autonomous";
|
||||||
|
riskTolerance = "conservative";
|
||||||
|
};
|
||||||
|
toolPreferences = {
|
||||||
|
packageManagers = ["nix"];
|
||||||
|
languages = ["nix"];
|
||||||
|
operatingSystem = "nixos";
|
||||||
|
};
|
||||||
|
breakpointTolerance = {
|
||||||
|
global = "moderate";
|
||||||
|
skipBreakpointsForKnownPatterns = false;
|
||||||
|
alwaysBreakOn = ["destructive-operations" "secrets" "external-publication"];
|
||||||
|
};
|
||||||
|
communicationStyle = {
|
||||||
|
tone = "technical";
|
||||||
|
language = "en";
|
||||||
|
useEmojis = false;
|
||||||
|
explanationDepth = "brief";
|
||||||
|
preferredResponseFormat = "markdown";
|
||||||
|
};
|
||||||
|
experience = {};
|
||||||
|
installedPlugins = ["babysitter-pi"];
|
||||||
|
installedSkills = ["babysit" "call" "plan" "resume" "doctor" "yolo"];
|
||||||
|
installedAgents = [];
|
||||||
|
createdAt = defaultTimestamp;
|
||||||
|
updatedAt = defaultTimestamp;
|
||||||
|
version = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
effectiveProfile = lib.recursiveUpdate cfg.profile cfg.profileOverrides;
|
||||||
|
profileJsonTarget = "${cfg.profileDirectory}/user-profile.json";
|
||||||
|
profileMarkdownTarget = "${cfg.profileDirectory}/user-profile.md";
|
||||||
|
profilePreferences = effectiveProfile.preferences or {};
|
||||||
|
profileBreakpointTolerance = effectiveProfile.breakpointTolerance or {};
|
||||||
|
|
||||||
|
listMarkdown = values:
|
||||||
|
lib.concatMapStringsSep "\n" (value: "- ${toString value}") values;
|
||||||
|
|
||||||
|
specialtyDomains = map (specialty: specialty.domain or "unspecified") (effectiveProfile.specialties or []);
|
||||||
|
|
||||||
|
profileMarkdown = ''
|
||||||
|
# Babysitter User Profile
|
||||||
|
|
||||||
|
This file is generated by Home Manager from `coding.agents.babysitter`.
|
||||||
|
|
||||||
|
- Name: ${effectiveProfile.name or "unspecified"}
|
||||||
|
- Breakpoint tolerance: ${profileBreakpointTolerance.global or "unspecified"}
|
||||||
|
- Autonomy level: ${profilePreferences.autonomyLevel or "unspecified"}
|
||||||
|
- Risk tolerance: ${profilePreferences.riskTolerance or "unspecified"}
|
||||||
|
|
||||||
|
## Specialties
|
||||||
|
|
||||||
|
${listMarkdown specialtyDomains}
|
||||||
|
|
||||||
|
## Installed Babysitter Pi Skills
|
||||||
|
|
||||||
|
${listMarkdown (effectiveProfile.installedSkills or [])}
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
options.coding.agents.babysitter = {
|
||||||
|
enable = lib.mkEnableOption "Babysitter user profile for Pi/agent workflows";
|
||||||
|
|
||||||
|
profileDirectory = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = ".a5c";
|
||||||
|
description = ''
|
||||||
|
Home-relative directory where Babysitter reads the user profile.
|
||||||
|
Babysitter Pi documents the user profile at ~/.a5c/user-profile.json.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
profile = lib.mkOption {
|
||||||
|
type = lib.types.attrsOf lib.types.anything;
|
||||||
|
default = defaultUserProfile;
|
||||||
|
description = "Complete non-secret Babysitter user profile JSON.";
|
||||||
|
};
|
||||||
|
|
||||||
|
profileOverrides = lib.mkOption {
|
||||||
|
type = lib.types.attrsOf lib.types.anything;
|
||||||
|
default = {};
|
||||||
|
description = ''
|
||||||
|
Recursive overrides merged into the default Babysitter user profile.
|
||||||
|
Keep this non-secret; the result is written into the Nix store.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.profileDirectory != "" && !lib.hasPrefix "/" cfg.profileDirectory;
|
||||||
|
message = "coding.agents.babysitter.profileDirectory must be a non-empty home-relative path.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = effectiveProfile ? name && builtins.isString effectiveProfile.name;
|
||||||
|
message = "coding.agents.babysitter profile must include a string name.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = effectiveProfile ? specialties && builtins.isList effectiveProfile.specialties;
|
||||||
|
message = "coding.agents.babysitter profile must include a specialties list.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = effectiveProfile ? breakpointTolerance && effectiveProfile.breakpointTolerance ? global;
|
||||||
|
message = "coding.agents.babysitter profile must include breakpointTolerance.global.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${profileJsonTarget}".text = builtins.toJSON effectiveProfile + "\n";
|
||||||
|
"${profileMarkdownTarget}".text = profileMarkdown;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
agentsInput = inputs.agents;
|
agentsInput = inputs.agents;
|
||||||
|
|
||||||
modelOverrides = {
|
modelOverrides = {
|
||||||
chiron = "minimax/MiniMax-M2.7";
|
chiron = "openai-codex/gpt-5.5";
|
||||||
chiron-forge = "minimax/MiniMax-M2.7";
|
chiron-forge = "openai-codex/gpt-5.5";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Coding rules for Pi agent
|
# Coding rules for Pi agent
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
settings = {
|
settings = {
|
||||||
packages = [
|
packages = [
|
||||||
"npm:@dreadedzombie/pi-init"
|
"npm:@dreadedzombie/pi-init"
|
||||||
|
"git:github.com/a5c-ai/babysitter-pi"
|
||||||
"npm:@plannotator/pi-extension"
|
"npm:@plannotator/pi-extension"
|
||||||
"npm:@thesethrose/pi-zai-provider"
|
"npm:@thesethrose/pi-zai-provider"
|
||||||
"npm:pi-agent-browser-native"
|
"npm:pi-agent-browser-native"
|
||||||
@@ -49,8 +50,8 @@
|
|||||||
"git:github.com/hk-vk/pi-connect"
|
"git:github.com/hk-vk/pi-connect"
|
||||||
];
|
];
|
||||||
|
|
||||||
defaultProvider = "minimax";
|
defaultProvider = "openai-codex";
|
||||||
defaultModel = "MiniMax-M2.7";
|
defaultModel = "gpt-5.5";
|
||||||
defaultThinkingLevel = "high";
|
defaultThinkingLevel = "high";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -59,7 +60,7 @@
|
|||||||
# NOTE: Local project .pi/extensions/guardrails.json can override same rule IDs.
|
# NOTE: Local project .pi/extensions/guardrails.json can override same rule IDs.
|
||||||
# For immutable global policies, consider a wrapper or upstream patch.
|
# For immutable global policies, consider a wrapper or upstream patch.
|
||||||
guardrails = {
|
guardrails = {
|
||||||
enable = true;
|
enable = false;
|
||||||
config = {
|
config = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
applyBuiltinDefaults = true;
|
applyBuiltinDefaults = true;
|
||||||
|
|||||||
@@ -9,5 +9,6 @@
|
|||||||
jq
|
jq
|
||||||
ripgrep
|
ripgrep
|
||||||
tree
|
tree
|
||||||
|
worktrunk
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user