@agentyx/core 0.1.1 → 0.2.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.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: brainstorming
3
+ description: Clarify ambiguous feature work before committing to an implementation path.
4
+ ---
5
+
6
+ # Brainstorming
7
+
8
+ Use this before substantial ambiguous design work, not for obvious small edits.
9
+
10
+ Clarify the objective, constraints, users, architecture implications, alternatives, and acceptance
11
+ criteria. Ask only the questions that change the implementation. Once the shape is clear, summarize
12
+ the chosen direction and the tradeoffs that matter.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: code-quality
3
+ description: Keep code clear, local, and purposeful while changing existing systems.
4
+ ---
5
+
6
+ # Code quality
7
+
8
+ Write code that is easy to inspect and hard to misuse.
9
+
10
+ ## Local fit
11
+
12
+ Match naming, structure, and error-handling style already used nearby. A change should look like it
13
+ belongs in the module that owns it.
14
+
15
+ ## Purposeful units
16
+
17
+ Keep functions and modules small enough to understand, but do not split code just to create layers.
18
+ Each helper should name a useful idea or remove meaningful repetition.
19
+
20
+ ## Noise
21
+
22
+ Delete dead code. Avoid speculative options, unused parameters, and exports nobody needs. Comments
23
+ should explain why a choice exists, not restate what the code says.
24
+
25
+ ## Errors
26
+
27
+ Handle errors where useful context exists. Preserve the original cause when it helps debugging, and
28
+ return or throw errors with messages a caller can act on.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: code-review
3
+ description: Review meaningful changes for correctness, regressions, security, tests, and complexity.
4
+ ---
5
+
6
+ # Code review
7
+
8
+ Review the behavior first, then the shape.
9
+
10
+ ## Pass
11
+
12
+ Check requirement compliance, correctness, regressions, security and privacy risks, test coverage,
13
+ API compatibility, and unnecessary complexity. Use file and line references when reporting issues.
14
+
15
+ ## Evidence
16
+
17
+ Ground findings in code paths, observable behavior, or missing checks. Separate definite bugs from
18
+ questions and assumptions.
19
+
20
+ ## Output
21
+
22
+ Lead with actionable findings ordered by severity. Keep summaries secondary, and say clearly when
23
+ you found no issues.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: concise-output
3
+ description: Communicate technical progress and results compactly without losing important details.
4
+ ---
5
+
6
+ # Concise output
7
+
8
+ Prefer compact professional communication.
9
+
10
+ ## Keep
11
+
12
+ Keep commands, paths, failing errors, user-visible behavior changes, decisions that affect risk, and
13
+ important assumptions. Be explicit for security issues, destructive actions, ambiguous instructions,
14
+ and complex failures.
15
+
16
+ ## Cut
17
+
18
+ Remove filler, obvious narration, repeated summaries, and progress logs that do not change the
19
+ user's understanding. Do not restate the same status in multiple ways.
20
+
21
+ ## Reports
22
+
23
+ Final reports should say what changed, what was verified, and what remains unverified. Use bullets
24
+ only when they make scanning easier.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: context-efficient-development
3
+ description: Develop with targeted discovery, narrow iteration, and complete verification.
4
+ ---
5
+
6
+ # Context-efficient development
7
+
8
+ Save context by doing the right work in the right order.
9
+
10
+ ## Discovery
11
+
12
+ Start with targeted search, then read the relevant symbol or range, then the containing module when
13
+ ownership is unclear. Open whole files when needed, not by reflex. Avoid rereading code whose role
14
+ is already understood.
15
+
16
+ ## Iteration
17
+
18
+ Run the smallest useful command while shaping a change: one test file, one package check, one build
19
+ step. Expand only when the touched surface grows.
20
+
21
+ ## Completion
22
+
23
+ Before calling work complete, run the project’s required full verification for the affected surface.
24
+ Efficiency reduces waste; it does not reduce correctness.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: engineering-principles
3
+ description: Apply maintainable software-engineering judgment to non-trivial code changes.
4
+ ---
5
+
6
+ # Engineering principles
7
+
8
+ Use these principles as judgment, not ceremony.
9
+
10
+ ## Shape
11
+
12
+ Prefer simple designs with explicit responsibilities. Keep related decisions close together, and
13
+ separate code only when the boundary is real: different reasons to change, different lifetimes, or
14
+ different owners.
15
+
16
+ Favor composition when it keeps behavior visible. Inheritance, frameworks, service containers, and
17
+ factories earn their place only when they remove concrete complexity.
18
+
19
+ ## Coupling
20
+
21
+ Minimize what modules need to know about each other. Pass the smallest data a collaborator needs,
22
+ return predictable results, and avoid leaking storage, transport, UI, or provider details through
23
+ domain APIs.
24
+
25
+ ## Correctness
26
+
27
+ Make invalid states difficult to represent. Use schemas, discriminants, required fields, and
28
+ exhaustive checks where they clarify the model. Fail explicitly when input is invalid instead of
29
+ silently repairing it.
30
+
31
+ ## Maintainability
32
+
33
+ Optimize for the next person reading the code. A small amount of duplication can be cheaper than an
34
+ abstraction that hides the important difference.
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: focused-verification
3
+ description: Choose narrow checks while iterating and full required gates before completion.
4
+ ---
5
+
6
+ # Focused verification
7
+
8
+ Match checks to risk and phase.
9
+
10
+ ## During iteration
11
+
12
+ Run the smallest check that can fail for the code you just changed. Prefer a focused test, typecheck
13
+ for one package, or a direct command that exercises the behavior.
14
+
15
+ ## Before completion
16
+
17
+ Run the repository or product gate required for the touched surface. Include manual checks for CLI
18
+ output, generated files, migrations, or UI behavior that automated tests do not cover.
19
+
20
+ ## Reporting
21
+
22
+ Report the exact checks you ran. If a check fails or cannot be run, say that plainly with the reason.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: parallel-work
3
+ description: Split independent coding-agent work safely when tasks do not overlap.
4
+ ---
5
+
6
+ # Parallel work
7
+
8
+ Use parallel work only for independent tasks with clear boundaries.
9
+
10
+ Define each task's files, inputs, expected output, and verification. Avoid parallel edits to the
11
+ same files or closely coupled behavior. Integrate deliberately: review outputs, reconcile conflicts,
12
+ run the shared checks, and keep the parent agent responsible for the final result.
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: requesting-code-review
3
+ description: Request independent review after meaningful implementation.
4
+ ---
5
+
6
+ # Requesting code review
7
+
8
+ Ask for review when a change affects behavior, public APIs, security, data integrity, or several
9
+ modules.
10
+
11
+ Provide the requirement, changed files, verification performed, and known risks. Ask the reviewer to
12
+ focus on requirement compliance, correctness, regressions, tests, security, and unnecessary
13
+ complexity. Treat findings as inputs to resolve, not as a substitute for your own judgment.
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: subagent-driven-development
3
+ description: Coordinate scoped subagent work when the current provider supports it.
4
+ ---
5
+
6
+ # Subagent-driven development
7
+
8
+ Use subagents when the task benefits from independent investigation, implementation, or review and
9
+ the current provider supports them.
10
+
11
+ Give each subagent a narrow objective, relevant context, boundaries, and expected output. Do not
12
+ spawn agents for trivial work. Prefer fresh-context reviewers for meaningful changes. The parent
13
+ agent remains responsible for integration, verification, and the final answer.
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: targeted-exploration
3
+ description: Explore codebases through search, relevant ranges, and module ownership.
4
+ ---
5
+
6
+ # Targeted exploration
7
+
8
+ Explore from signal to context.
9
+
10
+ ## Flow
11
+
12
+ Search for the name, command, schema, error, or behavior. Read the relevant symbol or range. Then
13
+ read nearby callers or tests. Open the whole file when the range does not reveal ownership or
14
+ invariants.
15
+
16
+ ## Search
17
+
18
+ Prefer structural or code-aware search when available. Use text search for identifiers and output
19
+ strings. Avoid dumping unrelated files into context.
20
+
21
+ ## Stop condition
22
+
23
+ Stop exploring when you can name the owning module, the expected behavior, the likely change, and
24
+ the checks that will verify it.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: typescript-modeling
3
+ description: Model TypeScript domains with unions, readonly data, satisfies, and useful generics.
4
+ ---
5
+
6
+ # TypeScript modeling
7
+
8
+ Use the type system to express relationships that matter at runtime.
9
+
10
+ ## Shapes
11
+
12
+ Choose `type` or `interface` for local semantics and ecosystem fit, not dogma. Use discriminated
13
+ unions for variants and exhaustive switches where missing cases would be a bug.
14
+
15
+ ## Contracts
16
+
17
+ Annotate exported APIs and external boundaries. Let inference handle obvious locals. Use `satisfies`
18
+ when a value should be checked against a contract without widening away useful literal information.
19
+
20
+ ## Mutability and generics
21
+
22
+ Mark data `readonly` when mutation is not part of the contract. Use generics only when they express
23
+ a real relationship between inputs and outputs; avoid type puzzles that make maintenance harder.
@@ -1,41 +1,29 @@
1
1
  ---
2
2
  name: typescript-modern
3
- description: Modern TypeScript conventions - strict types, inference, small explicit APIs.
3
+ description: Use current TypeScript module, syntax, import, and async patterns.
4
4
  ---
5
5
 
6
6
  # Modern TypeScript
7
7
 
8
- Write types that describe the domain, and let the compiler do the rest.
8
+ Use current platform and language features without making code clever.
9
9
 
10
- ## Typing
10
+ ## Modules
11
11
 
12
- Keep `strict` on and treat `any` as a defect. When a value really is unknown, type it `unknown` and
13
- narrow it — with `typeof`, `instanceof`, a discriminant check, or a validator that returns a typed
14
- result.
12
+ Prefer ESM. Use type-only imports and exports when a symbol is erased at runtime. Keep module
13
+ boundaries explicit and avoid circular dependencies.
15
14
 
16
- Annotate what forms a contract: exported functions, public fields, and the boundaries where outside
17
- data enters. Let inference handle everything else; restating an obvious type is noise that drifts
18
- out of date.
15
+ ## Syntax
19
16
 
20
- Avoid assertions. `as` and `!` silence the compiler without changing the value, so each one is an
21
- unchecked claim. Prove it with a real check instead.
17
+ Use modern syntax when it clarifies intent: optional chaining, nullish coalescing, object
18
+ destructuring, `const`, `for...of`, and `async`/`await`. Avoid transpiler-era patterns when the
19
+ runtime supports the native feature.
22
20
 
23
- ## Modelling
21
+ ## Platform
24
22
 
25
- Use discriminated unions for values that come in variants: a `kind` field plus the data that
26
- variant carries beats one wide object of optional properties, and it lets the compiler prove a
27
- `switch` is exhaustive.
23
+ Prefer native platform APIs where they are stable and already available in the project runtime. Do
24
+ not add a dependency for behavior the platform provides clearly.
28
25
 
29
- Make illegal states unrepresentable where it is cheap — required fields instead of optional ones, a
30
- union instead of two booleans, `readonly` on data that is not meant to change.
26
+ ## Async
31
27
 
32
- Derive types instead of duplicating them. When a schema or a constant already describes a shape,
33
- infer from it; two declarations of the same thing will disagree eventually.
34
-
35
- ## Modules and APIs
36
-
37
- Use ESM. Export the smallest surface callers need and keep helpers module-private — every export is
38
- a contract you have to keep.
39
-
40
- Prefer plain functions and plain objects. Classes earn their place when there is real state or
41
- identity; factories, containers, and single-implementation interfaces usually do not.
28
+ Use `async`/`await` for sequential asynchronous flow and `Promise.all` for independent work. Handle
29
+ rejections at boundaries with useful context.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: typescript-strict
3
+ description: Use TypeScript strictness, narrowing, and validation for safe boundaries.
4
+ ---
5
+
6
+ # TypeScript strictness
7
+
8
+ Keep strict mode valuable by treating escapes as design decisions.
9
+
10
+ ## Unknown data
11
+
12
+ Use `unknown` for untrusted values, then narrow with control flow, discriminants, predicates, or a
13
+ schema validator. Validate external input at the boundary before it enters domain code.
14
+
15
+ ## Avoid unsafe escapes
16
+
17
+ Avoid `any`, unsafe casts, and non-null assertions. If a value can be absent, model that possibility
18
+ and handle it. Prefer checks that prove the value exists over assertions that silence the compiler.
19
+
20
+ ## Optional semantics
21
+
22
+ When exact optional behavior matters, distinguish an omitted property from a property whose value is
23
+ `undefined`. Do not use optional fields as a substitute for a clear variant model.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: worktree-workflow
3
+ description: Use git worktrees for isolated parallel implementation when the work warrants it.
4
+ ---
5
+
6
+ # Worktree workflow
7
+
8
+ Use worktrees when isolation reduces risk for parallel or experimental implementation.
9
+
10
+ Check repository status before creating one. Use deterministic branch and directory names tied to
11
+ the task. Keep user changes safe: never overwrite or clean files you do not own. After integration,
12
+ remove temporary worktrees only when their work is preserved and no uncommitted changes remain.