Skip to content
Open
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

This file was deleted.

11 changes: 4 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
filter: tree:0
fetch-depth: 0

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
Expand All @@ -38,8 +36,7 @@ jobs:

- run: pnpm install --frozen-lockfile
- uses: nrwl/nx-set-shas@v4

# Prepend any command with "nx-cloud record --" to record its logs to Nx Cloud
# - run: pnpm exec nx-cloud record -- echo Hello World
# Nx Affected runs only tasks affected by the changes in this PR/commit. Learn more: https://nx.dev/ci/features/affected
- run: pnpm exec nx affected -t lint test build
id: set-shas
with:
main-branch-name: main
- run: pnpm exec nx affected -t lint test build --base=${{ steps.set-shas.outputs.base }} --head=${{ steps.set-shas.outputs.head }} --parallel --maxParallel=3 --skip-nx-cache
1 change: 1 addition & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"singleQuote": true,
"semi": false,
"proseWrap": "always",
"printWidth": 120
}
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"nxConsole.generateAiAgentRules": true
"nxConsole.generateAiAgentRules": true,
"cSpell.words": [
"Multitenancy"
]
}
32 changes: 32 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# CLAUDE.md

This is an open source, Node and React-based library that is meant to be used as an exploration in AI assisted coding.

It uses a central `./brain` directory that should be considered the main source of project context.

## Writing Markdown

When writing markdown, please use the following conventions:

- Use headings (`#`, `##`, `###`) to organize content hierarchically.
- Use bullet points for lists and keep them concise.
- Use code blocks (```) for code snippets and examples. Be sure to include the language for syntax highlighting.
- Use links to reference other documents or resources.
- Adhere to prettier markdown rules for formatting consistency.

## Key Files

- `brain/architectural-context.md`: Describes the overall architecture of the system.
- `brain/library-prd.md`: Contains product requirements for the library.
- `brain/epics/`: Directory containing epic specifications.
- `brain/user-stories/`: Directory containing user story specifications.
- `brain/active-context.md`: It tracks what you are doing right now and what's next.

## Testing Conventions

When writing tests, use assertive language in test descriptions:
- Use `it('returns a ZodString type')` instead of `it('should return ZodString type')`
- Use `it('validates password length')` instead of `it('should validate password length')`
- Use `it('throws an error when invalid')` instead of `it('should throw an error when invalid')`

Tests describe what the code does, not what it should do.
32 changes: 32 additions & 0 deletions brain/active-context.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Active Context

## Current Focus: Password Policy Implementation

**User Story**: 20250709_user-sign-up.md - User Sign Up
**Epic**: Traditional Web-Based Authentication
**Priority**: High
**Story Points**: 8

### Specific Task

Working on the **password policy aspect** of the user sign-up story, specifically implementing configurable password validation schemas as outlined in the Password Policy Library section.

### Key Implementation Areas

- Password policy validation using Zod schemas
- Configurable password requirements (length, complexity)
- Multiple password schema options (default, strict, simple)
- Integration with the password identity schema factory

### Next Steps

1. Implement the password policy library with configurable schemas
2. Create tests for password validation scenarios
3. Integrate with the existing password authentication system
4. Ensure password policies work with the identity schema factory

### Related Files

- `libs/password-policy/` - Target implementation directory
- `libs/password-authentication/` - Existing password auth library
- User story: `brain/requirements/user-stories/0001.traditional-web-authentication/0001.user-sign-up.md`
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ This repository treats AI prompts and context as code. The AI agents are expecte
- **No Java Conventions**: Avoid "I" prefix for interfaces - types should be intuitively expressive
- **TypeScript Native**: Use TypeScript conventions and patterns


## 🧪 Testing Philosophy

- TDD-first: tests must be generated before implementations.
Expand Down Expand Up @@ -86,6 +85,7 @@ Following **convention over configuration** principles, the library should:
- **Error guidance**: Clear error messages when configuration is required or invalid

Example initialization patterns:

```typescript
// Zero config - uses all defaults
const auth = boosterAuth();
Expand All @@ -96,7 +96,7 @@ const auth = boosterAuth({
});

// Advanced config - full control when needed
const auth = createAuth({
const auth = boosterAuth({
session: { store: new RedisSessionStore() },
password: { hashing: new ArgonHashing() }
});
Expand Down
Loading