Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .agentic/ONRAMP.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ This repo dogfoods its own toolbelt. When you work on `@tnezdev/agentic`, you us

```bash
# 1. Orient — load the maintainer hat with live situational tokens
bun src/cli/main.ts persona activate spores-maintainer
bun packages/agentic/src/cli/main.ts persona activate spores-maintainer

# 2. Pick up work — top ready task from the local queue
bun src/cli/main.ts task next
bun packages/agentic/src/cli/main.ts task next

# 3. When cutting a release — run the checklist
bun src/cli/main.ts skill run release-check
bun packages/agentic/src/cli/main.ts skill run release-check
```

Read the persona output. Do what step 3 of its "Before picking up work" section tells you. Start the work.
Expand Down
20 changes: 10 additions & 10 deletions .agentic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,28 @@ From the repo root:

```bash
# List what's available
bun src/cli/main.ts persona list
bun src/cli/main.ts skill list
bun src/cli/main.ts workflow list
bun src/cli/main.ts task list
bun packages/agentic/src/cli/main.ts persona list
bun packages/agentic/src/cli/main.ts skill list
bun packages/agentic/src/cli/main.ts workflow list
bun packages/agentic/src/cli/main.ts task list

# Activate the maintainer hat — pipe into your LLM of choice
bun src/cli/main.ts persona activate spores-maintainer
bun packages/agentic/src/cli/main.ts persona activate spores-maintainer

# Run the release check skill
bun src/cli/main.ts skill run release-check
bun packages/agentic/src/cli/main.ts skill run release-check

# Pick up the next ready task
bun src/cli/main.ts task next
bun packages/agentic/src/cli/main.ts task next

# Kick off a release run
bun src/cli/main.ts workflow run agentic-release --name "0.5.0-cut"
bun packages/agentic/src/cli/main.ts workflow run agentic-release --name "0.5.0-cut"

# Query memories when you need the "why"
bun src/cli/main.ts memory recall "runtime scope"
bun packages/agentic/src/cli/main.ts memory recall "runtime scope"
```

(After `npm install -g @tnezdev/agentic`, replace `bun src/cli/main.ts` with `agentic`.)
(After `npm install -g @tnezdev/agentic`, replace `bun packages/agentic/src/cli/main.ts` with `agentic`.)

## Why this shape

Expand Down
8 changes: 4 additions & 4 deletions .agentic/personas/spores-maintainer.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ The time is `{{timestamp}}`.

## Principles (non-negotiable)

- **Zero production dependencies.** `"dependencies": {}` in `package.json` stays clean. devDependencies only when absolutely required.
- **Types first.** Add shapes to `src/types.ts` before writing implementations.
- **Zero production dependencies.** `"dependencies": {}` in `packages/agentic/package.json` stays clean. devDependencies only when absolutely required.
- **Types first.** Add shapes to `packages/agentic/src/types.ts` before writing implementations.
- **Adapter pattern.** Every primitive has an `adapter.ts` interface and a `filesystem.ts` implementation. New storage backends implement the same interface.
- **No `console.log` in library code.** CLI output goes through `output(ctx, data, formatter)` re-exported from `src/cli/main.ts`.
- **Test files colocated.** `src/foo/filesystem.test.ts` next to `src/foo/filesystem.ts`. Inline fixtures, no separate fixtures directory.
- **No `console.log` in library code.** CLI output goes through `output(ctx, data, formatter)` re-exported from `packages/agentic/src/cli/main.ts`.
- **Test files colocated.** `packages/agentic/src/foo/filesystem.test.ts` next to `packages/agentic/src/foo/filesystem.ts`. Inline fixtures, no separate fixtures directory.
- **Identity lives outside Agentic.** Agentic ships primitives — not sessions, not attribution, not `observed_by`. If you're tempted to add an identity field, stop.

## Before picking up work
Expand Down
4 changes: 2 additions & 2 deletions .agentic/skills/release-check/skill.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ Do this before the release PR or tag, not while a publish run is failing. The pa

Open a `chore: release vX.Y.Z` PR that:

- Bumps `version` in `package.json` per semver.
- Bumps `version` in `packages/agentic/package.json` per semver.
- Appends a CHANGELOG entry (or release notes section) covering user-visible changes since the last tag.
- Keeps `"dependencies": {}` in `package.json`. A non-empty production dependency is a design regression — investigate before shipping.
- Keeps `"dependencies": {}` in `packages/agentic/package.json`. A non-empty production dependency is a design regression — investigate before shipping.

Merge only after CI (`.github/workflows/ci.yml`) is green on the PR. CI runs `bun test` and `bun run typecheck` — those are the authoritative gates, not a local run.

Expand Down
6 changes: 3 additions & 3 deletions .agentic/skills/smoke-test/skill.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ bash scripts/smoke-test-node.sh

## What it does

1. `npm pack` in the repo root — produces the exact tarball that `npm publish` would upload
1. `npm pack` in `packages/agentic` — produces the exact tarball that `npm publish` would upload
2. Creates a temp consumer project and installs the tarball via `bun add`
3. Runs `scripts/smoke-consumer.mjs` which imports the public API and checks that all value exports are present and constructable

## When to run

- Before pushing a release tag (`vX.Y.Z`)
- After changing `package.json` fields (`files`, `main`, `exports`)
- After adding or removing public exports from `src/index.ts`
- After changing `packages/agentic/package.json` fields (`files`, `main`, `exports`)
- After adding or removing public exports from `packages/agentic/src/index.ts`

CI runs these automatically in `.github/workflows/ci.yml` and `.github/workflows/publish.yml` between the test step and the publish step.

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,5 @@ jobs:
npm --version

- name: Publish
working-directory: packages/agentic
run: npm publish --provenance --access public
6 changes: 3 additions & 3 deletions .spores/ONRAMP.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ This repo dogfoods its own toolbelt. When you work on `@tnezdev/agentic`, you us

```bash
# 1. Orient — load the maintainer hat with live situational tokens
bun src/cli/main.ts persona activate spores-maintainer
bun packages/agentic/src/cli/main.ts persona activate spores-maintainer

# 2. Pick up work — top ready task from the local queue
bun src/cli/main.ts task next
bun packages/agentic/src/cli/main.ts task next

# 3. When cutting a release — run the checklist
bun src/cli/main.ts skill run release-check
bun packages/agentic/src/cli/main.ts skill run release-check
```

Read the persona output. Do what step 3 of its "Before picking up work" section tells you. Start the work.
Expand Down
20 changes: 10 additions & 10 deletions .spores/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,28 @@ From the repo root:

```bash
# List what's available
bun src/cli/main.ts persona list
bun src/cli/main.ts skill list
bun src/cli/main.ts workflow list
bun src/cli/main.ts task list
bun packages/agentic/src/cli/main.ts persona list
bun packages/agentic/src/cli/main.ts skill list
bun packages/agentic/src/cli/main.ts workflow list
bun packages/agentic/src/cli/main.ts task list

# Activate the maintainer hat — pipe into your LLM of choice
bun src/cli/main.ts persona activate spores-maintainer
bun packages/agentic/src/cli/main.ts persona activate spores-maintainer

# Run the release check skill
bun src/cli/main.ts skill run release-check
bun packages/agentic/src/cli/main.ts skill run release-check

# Pick up the next ready task
bun src/cli/main.ts task next
bun packages/agentic/src/cli/main.ts task next

# Kick off a release run
bun src/cli/main.ts workflow run spores-release --name "0.1.0-cut"
bun packages/agentic/src/cli/main.ts workflow run spores-release --name "0.1.0-cut"

# Query memories when you need the "why"
bun src/cli/main.ts memory recall "runtime scope"
bun packages/agentic/src/cli/main.ts memory recall "runtime scope"
```

(After `npm install -g @tnezdev/agentic`, replace `bun src/cli/main.ts` with `agentic`; `spores` remains a compatibility alias.)
(After `npm install -g @tnezdev/agentic`, replace `bun packages/agentic/src/cli/main.ts` with `agentic`; `spores` remains a compatibility alias.)

## Why this shape

Expand Down
8 changes: 4 additions & 4 deletions .spores/personas/spores-maintainer.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ The time is `{{timestamp}}`.

## Principles (non-negotiable)

- **Zero production dependencies.** `"dependencies": {}` in `package.json` stays clean. devDependencies only when absolutely required.
- **Types first.** Add shapes to `src/types.ts` before writing implementations.
- **Zero production dependencies.** `"dependencies": {}` in `packages/agentic/package.json` stays clean. devDependencies only when absolutely required.
- **Types first.** Add shapes to `packages/agentic/src/types.ts` before writing implementations.
- **Adapter pattern.** Every primitive has an `adapter.ts` interface and a `filesystem.ts` implementation. New storage backends implement the same interface.
- **No `console.log` in library code.** CLI output goes through `output(ctx, data, formatter)` re-exported from `src/cli/main.ts`.
- **Test files colocated.** `src/foo/filesystem.test.ts` next to `src/foo/filesystem.ts`. Inline fixtures, no separate fixtures directory.
- **No `console.log` in library code.** CLI output goes through `output(ctx, data, formatter)` re-exported from `packages/agentic/src/cli/main.ts`.
- **Test files colocated.** `packages/agentic/src/foo/filesystem.test.ts` next to `packages/agentic/src/foo/filesystem.ts`. Inline fixtures, no separate fixtures directory.
- **Identity lives outside spores.** Spores ships primitives — not sessions, not attribution, not `observed_by`. If you're tempted to add an identity field, stop.

## Before picking up work
Expand Down
4 changes: 2 additions & 2 deletions .spores/skills/release-check/skill.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ Releases are **CI-gated**. You don't run `npm publish`; you push a `vX.Y.Z` tag

Open a `chore: release vX.Y.Z` PR that:

- Bumps `version` in `package.json` per semver.
- Bumps `version` in `packages/agentic/package.json` per semver.
- Appends a CHANGELOG entry (or release notes section) covering user-visible changes since the last tag.
- Keeps `"dependencies": {}` in `package.json`. A non-empty production dependency is a design regression — investigate before shipping.
- Keeps `"dependencies": {}` in `packages/agentic/package.json`. A non-empty production dependency is a design regression — investigate before shipping.

Merge only after CI (`.github/workflows/ci.yml`) is green on the PR. CI runs `bun test` and `bun run typecheck` — those are the authoritative gates, not a local run.

Expand Down
6 changes: 3 additions & 3 deletions .spores/skills/smoke-test/skill.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ bash scripts/smoke-test.sh

## What it does

1. `npm pack` in the repo root — produces the exact tarball that `npm publish` would upload
1. `npm pack` in `packages/agentic` — produces the exact tarball that `npm publish` would upload
2. Creates a temp consumer project and installs the tarball via `bun add`
3. Runs `scripts/smoke-consumer.ts` which imports the public API and checks that all value exports are present and constructable

## When to run

- Before pushing a release tag (`vX.Y.Z`)
- After changing `package.json` fields (`files`, `main`, `exports`)
- After adding or removing public exports from `src/index.ts`
- After changing `packages/agentic/package.json` fields (`files`, `main`, `exports`)
- After adding or removing public exports from `packages/agentic/src/index.ts`

CI runs this automatically in `.github/workflows/publish.yml` between the test step and the publish step.

Expand Down
Loading