@ai-outfitter/outfitter 0.4.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE.md +20 -50
  2. package/README.md +36 -247
  3. package/code/enterprise/LICENSE +35 -0
  4. package/code/enterprise/README.md +5 -0
  5. package/dist/agents/AdapterProfileControls.d.ts +2 -2
  6. package/dist/agents/AdapterProfileControls.js +8 -1
  7. package/dist/agents/AdapterProfileControls.js.map +1 -1
  8. package/dist/agents/AgentAdapter.d.ts +10 -0
  9. package/dist/agents/AgentLaunch.d.ts +6 -0
  10. package/dist/agents/AgentLaunch.js +89 -0
  11. package/dist/agents/AgentLaunch.js.map +1 -0
  12. package/dist/agents/claude/ClaudeAdapter.js +18 -3
  13. package/dist/agents/claude/ClaudeAdapter.js.map +1 -1
  14. package/dist/agents/pi/PiAdapter.js +159 -15
  15. package/dist/agents/pi/PiAdapter.js.map +1 -1
  16. package/dist/cli/commands/FirstRunWelcomeProfile.js +8 -5
  17. package/dist/cli/commands/FirstRunWelcomeProfile.js.map +1 -1
  18. package/dist/cli/commands/PiLoginLaunch.d.ts +8 -2
  19. package/dist/cli/commands/PiLoginLaunch.js +739 -30
  20. package/dist/cli/commands/PiLoginLaunch.js.map +1 -1
  21. package/dist/cli/commands/RunCommand.d.ts +20 -3
  22. package/dist/cli/commands/RunCommand.js +102 -20
  23. package/dist/cli/commands/RunCommand.js.map +1 -1
  24. package/dist/cli/commands/SetupCommand.d.ts +12 -2
  25. package/dist/cli/commands/SetupCommand.js +267 -70
  26. package/dist/cli/commands/SetupCommand.js.map +1 -1
  27. package/dist/cli/commands/SyncCommand.d.ts +8 -1
  28. package/dist/cli/commands/SyncCommand.js +2 -1
  29. package/dist/cli/commands/SyncCommand.js.map +1 -1
  30. package/dist/cli/commands/WelcomeCommand.d.ts +2 -1
  31. package/dist/cli/commands/WelcomeCommand.js +77 -70
  32. package/dist/cli/commands/WelcomeCommand.js.map +1 -1
  33. package/dist/cli/commands/assets/outfitter-ascii.txt +5 -0
  34. package/dist/cli/commands/profile/Command.d.ts +1 -0
  35. package/dist/cli/commands/profile/Command.js +3 -0
  36. package/dist/cli/commands/profile/Command.js.map +1 -1
  37. package/dist/cli/commands/profile/LintCommand.d.ts +19 -0
  38. package/dist/cli/commands/profile/LintCommand.js +123 -0
  39. package/dist/cli/commands/profile/LintCommand.js.map +1 -0
  40. package/dist/cli.js +8 -2
  41. package/dist/cli.js.map +1 -1
  42. package/dist/compositeProfile/StatePersistence.js +3 -0
  43. package/dist/compositeProfile/StatePersistence.js.map +1 -1
  44. package/dist/merge/ArrayMergePolicy.js.map +1 -1
  45. package/dist/merge/SettingsValueMerger.js.map +1 -1
  46. package/dist/profiles/Profile.d.ts +14 -1
  47. package/dist/profiles/Profile.js.map +1 -1
  48. package/dist/profiles/ProfileLoader.d.ts +4 -0
  49. package/dist/profiles/ProfileLoader.js +118 -17
  50. package/dist/profiles/ProfileLoader.js.map +1 -1
  51. package/dist/profiles/ProfileMerger.js +3 -0
  52. package/dist/profiles/ProfileMerger.js.map +1 -1
  53. package/dist/profiles/PromptIncludes.d.ts +32 -0
  54. package/dist/profiles/PromptIncludes.js +147 -0
  55. package/dist/profiles/PromptIncludes.js.map +1 -0
  56. package/dist/prompts/SystemPromptExport.d.ts +16 -0
  57. package/dist/prompts/SystemPromptExport.js +81 -0
  58. package/dist/prompts/SystemPromptExport.js.map +1 -0
  59. package/dist/schemas/profile.schema.json +38 -2
  60. package/dist/schemas/settings.schema.json +12 -0
  61. package/dist/settings/Settings.d.ts +5 -0
  62. package/dist/settings/Settings.js.map +1 -1
  63. package/dist/settings/SettingsLoader.js +3 -0
  64. package/dist/settings/SettingsLoader.js.map +1 -1
  65. package/dist/settings/SettingsMerger.js +8 -0
  66. package/dist/settings/SettingsMerger.js.map +1 -1
  67. package/package.json +23 -11
  68. package/skills/outfitter/SKILL.md +68 -0
  69. package/src/schemas/profile.schema.json +38 -2
  70. package/src/schemas/settings.schema.json +12 -0
  71. package/doc/.deepreview +0 -30
  72. package/doc/architecture.md +0 -855
  73. package/doc/controllable-elements.md +0 -162
  74. package/doc/file_structure.md +0 -133
  75. package/doc/integration_test_system.md +0 -214
  76. package/doc/specs/validating_requirements_with_rules.md +0 -55
  77. package/doc/state_writeback_strategy.md +0 -334
  78. package/requirements/OFTR-001-project-foundation.md +0 -53
  79. package/requirements/OFTR-002-settings.md +0 -65
  80. package/requirements/OFTR-003-profiles.md +0 -59
  81. package/requirements/OFTR-004-sync-and-setup.md +0 -67
  82. package/requirements/OFTR-005-run-and-composite-profile.md +0 -60
  83. package/requirements/OFTR-006-agent-adapters.md +0 -66
  84. package/requirements/OFTR-007-controllable-elements.md +0 -32
  85. package/requirements/OFTR-008-requirements-governance.md +0 -42
  86. package/requirements/OFTR-009-release-publishing.md +0 -34
  87. package/requirements/OFTR-010-onboarding-welcome.md +0 -39
@@ -9,6 +9,7 @@
9
9
  "pattern": "^[a-z0-9][a-z0-9._-]*[a-z0-9]$|^[a-z0-9]$"
10
10
  },
11
11
  "label": { "type": "string" },
12
+ "description": { "type": "string" },
12
13
  "template": { "type": "boolean" },
13
14
  "inherits": {
14
15
  "type": "array",
@@ -17,6 +18,7 @@
17
18
  "pattern": "^[a-z0-9][a-z0-9._-]*[a-z0-9]$|^[a-z0-9]$"
18
19
  }
19
20
  },
21
+ "profile_export": { "type": "boolean" },
20
22
  "state_persistence": {
21
23
  "type": "object",
22
24
  "additionalProperties": {
@@ -49,6 +51,19 @@
49
51
  "type": "object",
50
52
  "additionalProperties": { "type": "string" }
51
53
  },
54
+ "deepwork": {
55
+ "type": "object",
56
+ "properties": {
57
+ "jobs": {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "string",
61
+ "pattern": "^[a-z][a-z0-9_]*$"
62
+ }
63
+ }
64
+ },
65
+ "additionalProperties": true
66
+ },
52
67
  "pi": {
53
68
  "type": "object",
54
69
  "properties": {
@@ -114,12 +129,33 @@
114
129
  },
115
130
  "additionalProperties": true,
116
131
  "$defs": {
117
- "appendSystemPrompt": {
132
+ "appendSystemPromptEntry": {
118
133
  "oneOf": [
119
134
  { "type": "string" },
135
+ {
136
+ "type": "object",
137
+ "required": ["file"],
138
+ "properties": {
139
+ "file": { "type": "string" }
140
+ },
141
+ "additionalProperties": false
142
+ },
143
+ {
144
+ "type": "object",
145
+ "required": ["repo_file"],
146
+ "properties": {
147
+ "repo_file": { "type": "string" }
148
+ },
149
+ "additionalProperties": false
150
+ }
151
+ ]
152
+ },
153
+ "appendSystemPrompt": {
154
+ "oneOf": [
155
+ { "$ref": "#/$defs/appendSystemPromptEntry" },
120
156
  {
121
157
  "type": "array",
122
- "items": { "type": "string" }
158
+ "items": { "$ref": "#/$defs/appendSystemPromptEntry" }
123
159
  }
124
160
  ]
125
161
  }
@@ -7,6 +7,18 @@
7
7
  "default_profile": { "type": "string", "minLength": 1 },
8
8
  "default_agent": { "enum": ["pi", "claude"] },
9
9
  "cache_directory": { "type": "string", "minLength": 1 },
10
+ "profile_export": { "type": "boolean" },
11
+ "startup": {
12
+ "type": "object",
13
+ "description": "Controls Outfitter startup presentation inside launched agents.",
14
+ "properties": {
15
+ "ascii_art": {
16
+ "type": "boolean",
17
+ "description": "Show the Outfitter ASCII/brand header on Pi startup. Defaults to true."
18
+ }
19
+ },
20
+ "additionalProperties": false
21
+ },
10
22
  "profile_sources": {
11
23
  "type": "array",
12
24
  "items": { "$ref": "profile-source.schema.json" }
package/doc/.deepreview DELETED
@@ -1,30 +0,0 @@
1
- controllable_elements_matrix:
2
- description: "Review controllable element mappings and support-status claims for judgment-based accuracy."
3
- match:
4
- include:
5
- - "controllable-elements.md"
6
- review:
7
- strategy: individual
8
- instructions: |
9
- Review doc/controllable-elements.md for judgment-based mapping accuracy.
10
- This rule provides judgment-based review coverage for OFTR-007.1,
11
- OFTR-007.2, and OFTR-007.3 concerns that cannot be validated
12
- deterministically by the controllable_elements_matrix DeepSchema.
13
-
14
- Deterministic facts such as table shape, one row per defined term, allowed
15
- status values, and status definition presence are handled by the
16
- controllable_elements_matrix DeepSchema. Do not duplicate those exact
17
- checks here.
18
-
19
- Check the following judgment-based concerns:
20
- 1. Pi mechanism descriptions accurately reflect pi terminology and native
21
- behavior.
22
- 2. Non-pi mappings are clearly framed as roadmap/experimental unless a
23
- supported adapter exists.
24
- 3. Support status claims do not overstate tested Outfitter behavior.
25
- 4. Defined controllable elements are meaningful product-boundary concepts,
26
- not implementation-only details.
27
-
28
- Output Format:
29
- - PASS: Mappings and support-status claims are accurate and appropriately qualified.
30
- - FAIL: Issues found. List each inaccurate or overstated mapping/status claim with a line reference.